Merge git://git.kernel.org/pub/scm/gitk/gitk
[gitweb.git] / t / t9501-gitweb-standalone-http-status.sh
index 9e8bc01ea6e96a9263c31fd6563416727075a072..992d72961d617d38125862b576de27f46d45e92b 100755 (executable)
@@ -112,4 +112,33 @@ test_expect_success 'snapshots: bad object id' '
 test_debug 'cat gitweb.output'
 
 
+# ----------------------------------------------------------------------
+# load checking
+
+if test -e /proc/loadavg
+then
+       test_set_prereq PROC_LOADAVG
+else
+       say 'skipping load tests (no /proc/loadavg found)'
+fi
+
+# always hit the load limit
+cat >>gitweb_config.perl <<\EOF
+our $maxload = 0;
+EOF
+
+test_expect_success PROC_LOADAVG 'load checking: load too high (default action)' '
+       gitweb_run "p=.git" &&
+       grep "Status: 503 Service Unavailable" gitweb.headers &&
+       grep "503 - The load average on the server is too high" gitweb.body
+'
+test_debug 'cat gitweb.log' # just in case
+test_debug 'cat gitweb.headers'
+
+# turn off load checking
+cat >>gitweb_config.perl <<\EOF
+our $maxload = undef;
+EOF
+
+
 test_done