lighttpd 1.4.x https://www.lighttpd.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Glenn Strauss 5b1b9f7824 [tests] use ephemeral ports in tests 5 months ago
..
docroot [tests] consolidate some tests/ content 5 months ago
404-handler.conf [tests] use ephemeral ports in tests 4 months ago
CMakeLists.txt [tests] remove FastCGI test dependency on libfcgi 5 months ago
LightyTest.pm [tests] use ephemeral ports in tests 4 months ago
Makefile.am [tests] remove FastCGI test dependency on PHP 5 months ago
README [tests] remove FastCGI test dependency on PHP 5 months ago
SConscript [tests] remove FastCGI test dependency on libfcgi 5 months ago
cachable.t [multiple] employ http_date.h, sys-time.h 5 months ago
cleanup.sh [scons] various improvements 6 years ago
condition.conf [tests] use ephemeral ports in tests 4 months ago
core-404-handler.t [tests] consolidate some tests/ content 5 months ago
core-condition.t [core] never evaluate else branches until the previous branches are aready (fixes #2598) 5 years ago
core-keepalive.t [core] fix crash on master if blank line request 7 months ago
core-request.t [core] behavior change: stricter URL normalization 2 years ago
core-response.t [core] redirect to dir using relative-path 7 months ago
core-var-include.t - change s/// separator that it doesn't confuse vim 14 years ago
fastcgi-responder.conf [tests] use ephemeral ports in tests 4 months ago
fcgi-responder.c [tests] remove FastCGI test dependency on PHP 5 months ago
lighttpd.conf [tests] use ephemeral ports in tests 4 months ago
lighttpd.htpasswd [mod_auth] skip blank lines and comment lines (fixes #2327) 5 years ago
lighttpd.user moved everything below trunk/ and added branches/ and tags/ 16 years ago
lowercase.conf [tests] use ephemeral ports in tests 4 months ago
lowercase.t - change s/// separator that it doesn't confuse vim 14 years ago
meson.build [tests] remove FastCGI test dependency on libfcgi 5 months ago
mod-auth.conf [tests] use ephemeral ports in tests 4 months ago
mod-auth.t [tests] OpenBSD crypt() support limited to bcrypt 7 months ago
mod-cgi.t [tests] consolidate some tests/ content 5 months ago
mod-deflate.conf [tests] use ephemeral ports in tests 4 months ago
mod-deflate.t [tests] mod_compress -> mod_deflate 10 months ago
mod-extforward.conf [tests] use ephemeral ports in tests 4 months ago
mod-extforward.t [tests] consolidate some tests/ content 5 months ago
mod-fastcgi.t [tests] use ephemeral ports in tests 4 months ago
mod-proxy.t [tests] use ephemeral ports in tests 4 months ago
mod-scgi.t [tests] use ephemeral ports in tests 4 months ago
mod-secdownload.conf [tests] use ephemeral ports in tests 4 months ago
mod-secdownload.t [tests] detect multiple SSL/TLS/crypto providers 7 months ago
mod-setenv.t [tests] consolidate some tests/ content 5 months ago
mod-ssi.t [mod_ssi] more flexible quoting (fixes #1768) 5 years ago
prepare.sh [tests] consolidate some tests/ content 5 months ago
proxy.conf [tests] use ephemeral ports in tests 4 months ago
request.t [tests] consolidate some tests/ content 5 months ago
run-tests.pl Fix request parser to handle packets with splitted \r\n\r\n (fixes #2105) 12 years ago
scgi-responder.c [tests] remove FastCGI test dependency on PHP 5 months ago
scgi-responder.conf [tests] use ephemeral ports in tests 4 months ago
symlink.t Fix symlink.t check to run with builddir != srcdir 13 years ago
var-include-sub.conf [tests] search for perl in PATH instead of /usr/bin; whitespace + test config cleanups 6 years ago
var-include.conf [tests] use ephemeral ports in tests 4 months ago
wrapper.sh Add static-file.disable-pathinfo option to prevent handling of urls like .../secret.php/image.jpg as static file 10 years ago

README

Running tests
-------------

$ make check

If run from tests/ dir, tests will fail to run tests if lighttpd not built.
If run from top level, 'make' will build lighttpd exectuable if not yet built,
and then will run tests.


Running individual tests programs
---------------------------------

prep
$ cd tests/
$ ./prepare.sh

then, for any particular *.t such as request.t,
$ ./request.t
or
$ VERBOSE=1 RUNTESTS=request ./run-tests.pl

More information is output by tests with additional environment settings:
$ TRACE_HTTP=1 ./request.t

See LightyTest.pm before trying TRACEME
$ less LightyTest.pm

$ TRACEME=strace ./request.t # output to file 'strace'
$ TRACEME=truss ./request.t # output to file 'strace'
$ TRACEME=gdb ./request.t # not for interactive debugging (see below)
$ TRACEME=valgrind ./request.t

To reduce noise from valgrind --show-leak-kinds=all (or =reachable), avoid FAM.
Use server.stat-cache-engine = "simple" (not server.stat-cache-engine = "fam")
in lighttpd.conf. (FAM creates /usr/libexec/gam_server as child process.)


Running lighttpd server with a config from tests/*.conf
-------------------------------------------------------

Each *.t loads the lighttpd server with one or more config files.
See each *.t for which config file is used, e.g. tests/lighttpd.conf

To run a specific config
repo=$PWD # from root of src repository
cd tests/
./prepare.sh
PERL=/usr/bin/perl SRCDIR=$repo/tests \
$repo/src/lighttpd -D -f lighttpd.conf -m $repo/src/.libs

The PERL, PHP, and SRCDIR environment variables are set by LightyTest.pm
when 'make check' is run. PERL and PHP can be set to paths to perl and php,
e.g. export PERL=/usr/bin/perl

To run a specific config under gdb
repo=$PWD # from root of src repository
cd tests/
./prepare.sh
PERL=/usr/bin/perl SRCDIR=$repo/tests \
gdb --args $repo/src/lighttpd -D -f lighttpd.conf -m $repo/src/.libs

(gdb) start
(gdb) ...


Hints and tips
--------------
Q: What do I do if tests fail with:
bind: Address already in use at LightyTest.pm line 429.
A: It is likely that something else on the machine is already using the port
that tests are trying to use to run a backend. Try exiting out of your web
browser and then run the tests again. (root can use 'netstat' or 'ss' to
find out which process is using the port.)


Additional documentation
------------------------
https://redmine.lighttpd.net/projects/lighttpd/wiki/RunningUnitTests
https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToReportABug
https://redmine.lighttpd.net/projects/lighttpd/wiki/DebugVariables