diff options
author | Stefan Bühler <stbuehler@web.de> | 2013-08-30 13:15:01 +0000 |
---|---|---|
committer | Stefan Bühler <stbuehler@web.de> | 2013-08-30 13:15:01 +0000 |
commit | 95dc1ed79e2c36b3481163729ce104a80a8bfc19 (patch) | |
tree | 7eb113b267d9506d8f61d587b4af7d574fc7ad37 | |
parent | 92567b8b8fb3411fb01a5dcb6ad50514b8974638 (diff) | |
download | lighttpd-git-95dc1ed79e2c36b3481163729ce104a80a8bfc19.tar.gz |
[tests] add mod_simplevhost tests
* next commit fixes the bug
From: Stefan Bühler <stbuehler@web.de>
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2897 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/Makefile.am | 45 | ||||
-rw-r--r-- | tests/mod-simplevhost.conf | 29 | ||||
-rwxr-xr-x | tests/mod-simplevhost.t | 37 | ||||
-rwxr-xr-x | tests/prepare.sh | 8 |
5 files changed, 98 insertions, 22 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 40ef370f..1f7e0978 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,6 +20,7 @@ SET(T_FILES mod-rewrite.t mod-secdownload.t mod-setenv.t + mod-simplevhost.t mod-ssi.t mod-userdir.t request.t diff --git a/tests/Makefile.am b/tests/Makefile.am index 24727416..7044ebd9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -16,43 +16,46 @@ TESTS=\ run-tests.pl \ cleanup.sh -CONFS=fastcgi-10.conf \ - fastcgi-auth.conf \ - fastcgi-responder.conf \ - fastcgi-13.conf \ +CONFS=\ + 404-handler.conf \ bug-06.conf \ bug-12.conf \ - core-var-include.t \ - var-include.conf \ - var-include-sub.conf \ + cachable.t \ condition.conf \ + core-404-handler.t \ core-condition.t \ + core-keepalive.t \ core-request.t \ core-response.t \ - core-keepalive.t \ + core-var-include.t \ core.t \ - mod-proxy.t \ - proxy.conf \ - mod-secdownload.t \ + fastcgi-10.conf \ + fastcgi-13.conf \ + fastcgi-auth.conf \ + fastcgi-responder.conf \ + LightyTest.pm \ + lowercase.conf \ + lowercase.t \ mod-access.t \ mod-auth.t \ mod-cgi.t \ - mod-compress.t \ mod-compress.conf \ + mod-compress.t \ mod-fastcgi.t \ + mod-proxy.t \ mod-redirect.t \ mod-rewrite.t \ + mod-secdownload.t \ + mod-setenv.t \ + mod-simplevhost.conf \ + mod-simplevhost.t \ + mod-ssi.t \ mod-userdir.t \ - symlink.t \ + proxy.conf \ request.t \ - mod-ssi.t \ - LightyTest.pm \ - mod-setenv.t \ - lowercase.t \ - lowercase.conf \ - cachable.t \ - core-404-handler.t \ - 404-handler.conf + symlink.t \ + var-include-sub.conf \ + var-include.conf TESTS_ENVIRONMENT=$(srcdir)/wrapper.sh $(srcdir) $(top_builddir) diff --git a/tests/mod-simplevhost.conf b/tests/mod-simplevhost.conf new file mode 100644 index 00000000..816acf5d --- /dev/null +++ b/tests/mod-simplevhost.conf @@ -0,0 +1,29 @@ +debug.log-request-handling = "enable" +debug.log-response-header = "disable" +debug.log-request-header = "disable" + +## bind to localhost (default: all interfaces) +server.bind = "localhost" +server.errorlog = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.error.log" +server.breakagelog = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.breakage.log" +server.name = "www.example.org" + +server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/" +server.pid-file = env.SRCDIR + "/tmp/lighttpd/lighttpd.pid" + +## bind to port (default: 80) +server.port = 2048 + + + +######################## MODULE CONFIG ############################ + +server.modules = ( "mod_simple_vhost" ) + + +# docroot depending on request path +$HTTP["url"] =~ "^/a/" { + server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/a.example.org/pages/" +} else $HTTP["url"] =~ "^/b/" { + server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/b.example.org/pages/" +} diff --git a/tests/mod-simplevhost.t b/tests/mod-simplevhost.t new file mode 100755 index 00000000..1ff69975 --- /dev/null +++ b/tests/mod-simplevhost.t @@ -0,0 +1,37 @@ +#!/usr/bin/env perl +BEGIN { + # add current source dir to the include-path + # we need this for make distcheck + (my $srcdir = $0) =~ s,/[^/]+$,/,; + unshift @INC, $srcdir; +} + +use strict; +use IO::Socket; +use Test::More tests => 4; +use LightyTest; + +my $tf = LightyTest->new(); +my $t; + +$tf->{CONFIGFILE} = 'mod-simplevhost.conf'; + +ok($tf->start_proc == 0, "Starting lighttpd") or die(); + +$t->{REQUEST} = ( <<EOF +GET /a/a.html HTTP/1.0 +Host: www.example.org +EOF + ); +$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200 } ]; +ok($tf->handle_http($t) == 0, 'Check /a/a.html path'); + +$t->{REQUEST} = ( <<EOF +GET /b/b.html HTTP/1.0 +Host: www.example.org +EOF + ); +$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200 } ]; +ok($tf->handle_http($t) == 0, 'Check /b/b.html path'); + +ok($tf->stop_proc == 0, "Stopping lighttpd"); diff --git a/tests/prepare.sh b/tests/prepare.sh index 99fc382a..f24d14b4 100755 --- a/tests/prepare.sh +++ b/tests/prepare.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -e + if test x$srcdir = x; then srcdir=. fi @@ -18,6 +20,8 @@ mkdir -p $tmpdir/servers/www.example.org/pages/go/ mkdir -p $tmpdir/servers/www.example.org/pages/expire/ mkdir -p $tmpdir/servers/www.example.org/pages/indexfile/ mkdir -p $tmpdir/servers/123.example.org/pages/ +mkdir -p $tmpdir/servers/a.example.org/pages/a/ +mkdir -p $tmpdir/servers/b.example.org/pages/b/ mkdir -p $tmpdir/logs/ mkdir -p $tmpdir/cache/ mkdir -p $tmpdir/cache/compress/ @@ -43,7 +47,9 @@ touch $tmpdir/servers/www.example.org/pages/image.jpg \ $tmpdir/servers/www.example.org/pages/image.JPG \ $tmpdir/servers/www.example.org/pages/Foo.txt \ $tmpdir/servers/www.example.org/pages/a \ - $tmpdir/servers/www.example.org/pages/index.html~ + $tmpdir/servers/www.example.org/pages/index.html~ \ + $tmpdir/servers/a.example.org/pages/a/a.html \ + $tmpdir/servers/b.example.org/pages/b/b.html echo "12345" > $tmpdir/servers/www.example.org/pages/range.pdf printf "%-40s" "preparing infrastructure" |