summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Bühler <stbuehler@web.de>2013-08-30 13:15:01 +0000
committerStefan Bühler <stbuehler@web.de>2013-08-30 13:15:01 +0000
commit95dc1ed79e2c36b3481163729ce104a80a8bfc19 (patch)
tree7eb113b267d9506d8f61d587b4af7d574fc7ad37
parent92567b8b8fb3411fb01a5dcb6ad50514b8974638 (diff)
downloadlighttpd-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.txt1
-rw-r--r--tests/Makefile.am45
-rw-r--r--tests/mod-simplevhost.conf29
-rwxr-xr-xtests/mod-simplevhost.t37
-rwxr-xr-xtests/prepare.sh8
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"