Browse Source

[tests] combine *.t using tests/condition.conf

combine tests/*.t using tests/condition.conf into tests/core-condition.t

Platforms which are horrifically slow starting processes (e.g. Windows)
take much more time to start and stop lighttpd many times for
independent *.t instances run through the Perl Test::More framework
master
Glenn Strauss 3 months ago
parent
commit
5294d7e18f
  1. 1
      tests/CMakeLists.txt
  2. 4
      tests/Makefile.am
  3. 9
      tests/condition.conf
  4. 47
      tests/core-condition.t
  5. 61
      tests/core-var-include.t
  6. 1
      tests/meson.build
  7. 41
      tests/var-include.conf

1
tests/CMakeLists.txt

@ -5,7 +5,6 @@ set(T_FILES
prepare.sh
request.t
core-condition.t
core-var-include.t
mod-fastcgi.t
mod-scgi.t
cleanup.sh

4
tests/Makefile.am

@ -14,7 +14,6 @@ TESTS=\
CONFS=\
condition.conf \
core-condition.t \
core-var-include.t \
fastcgi-responder.conf \
LightyTest.pm \
mod-fastcgi.t \
@ -22,8 +21,7 @@ CONFS=\
proxy.conf \
request.t \
scgi-responder.conf \
var-include-sub.conf \
var-include.conf
var-include-sub.conf
TESTS_ENVIRONMENT=$(srcdir)/wrapper.sh $(srcdir) $(top_builddir)

9
tests/condition.conf

@ -6,7 +6,7 @@ server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.o
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.tag = "Apache 1.3.29"
server.tag = "lighttpd-1.4.x"
server.compat-module-load = "disable"
server.modules = (
@ -78,6 +78,13 @@ else $HTTP["host"] == "test4.example.org" {
)
}
}
else $HTTP["host"] == "test.example.org" {
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "test.example.org"
var.myvar = "good"
var.one = 1
include "var-include-sub.conf"
}
$HTTP["url"] != "/show/other/server-tag" {
}

47
tests/core-condition.t

@ -8,12 +8,14 @@ BEGIN {
use strict;
use IO::Socket;
use Test::More tests => 10;
use Test::More tests => 25;
use LightyTest;
my $tf = LightyTest->new();
my $t;
$ENV{"env_test"} = "good_env";
$tf->{CONFIGFILE} = 'condition.conf';
ok($tf->start_proc == 0, "Starting lighttpd") or die();
@ -69,7 +71,7 @@ $t->{REQUEST} = ( <<EOF
GET / HTTP/1.0
EOF
);
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Server' => 'Apache 1.3.29' } ];
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Server' => 'lighttpd-1.4.x' } ];
ok($tf->handle_http($t) == 0, 'condition: handle if before else branches');
$t->{REQUEST} = ( <<EOF
@ -79,4 +81,45 @@ EOF
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Server' => 'special tag' } ];
ok($tf->handle_http($t) == 0, 'condition: handle if before else branches #2');
## config includes
$t->{REQUEST} = ( "GET /index.html HTTP/1.0\r\nHost: www.example.org\r\n" );
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Location' => "/match_1" } ];
ok($tf->handle_http($t) == 0, 'basic test');
my $myvar = "good";
my $server_name = "test.example.org";
my $mystr = "string";
$mystr .= "_append";
my $tests = {
"include" => "/good_include",
"concat" => "/good_" . "concat",
"servername1" => "/good_" . $server_name,
"servername2" => $server_name . "/good_",
"servername3" => "/good_" . $server_name . "/",
"var.myvar" => "/good_var_myvar" . $myvar,
"myvar" => "/good_myvar" . $myvar,
"env" => "/" . $ENV{"env_test"},
"number1" => "/good_number" . "1",
"number2" => "1" . "/good_number",
"array_append" => "/good_array_append",
"string_append" => "/good_" . $mystr,
"number_append" => "/good_" . "2",
"include_shell" => "/good_include_shell_" . "456"
};
foreach my $test (keys %{ $tests }) {
my $expect = $tests->{$test};
$t->{REQUEST} = ( <<EOF
GET /$test HTTP/1.0
Host: $server_name
EOF
);
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Location' => $expect } ];
ok($tf->handle_http($t) == 0, $test);
}
ok($tf->stop_proc == 0, "Stopping lighttpd");

61
tests/core-var-include.t

@ -1,61 +0,0 @@
#!/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 => 17;
use LightyTest;
my $tf = LightyTest->new();
my $t;
$ENV{"env_test"} = "good_env";
$tf->{CONFIGFILE} = 'var-include.conf';
ok($tf->start_proc == 0, "Starting lighttpd") or die();
$t->{REQUEST} = ( "GET /index.html HTTP/1.0\r\nHost: www.example.org\r\n" );
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Location' => "/redirect" } ];
ok($tf->handle_http($t) == 0, 'basic test');
my $myvar = "good";
my $server_name = "test.example.org";
my $mystr = "string";
$mystr .= "_append";
my $tests = {
"include" => "/good_include",
"concat" => "/good_" . "concat",
"servername1" => "/good_" . $server_name,
"servername2" => $server_name . "/good_",
"servername3" => "/good_" . $server_name . "/",
"var.myvar" => "/good_var_myvar" . $myvar,
"myvar" => "/good_myvar" . $myvar,
"env" => "/" . $ENV{"env_test"},
"number1" => "/good_number" . "1",
"number2" => "1" . "/good_number",
"array_append" => "/good_array_append",
"string_append" => "/good_" . $mystr,
"number_append" => "/good_" . "2",
"include_shell" => "/good_include_shell_" . "456"
};
foreach my $test (keys %{ $tests }) {
my $expect = $tests->{$test};
$t->{REQUEST} = ( <<EOF
GET /$test HTTP/1.0
Host: $server_name
EOF
);
$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 301, 'Location' => $expect } ];
ok($tf->handle_http($t) == 0, $test);
}
ok($tf->stop_proc == 0, "Stopping lighttpd");

1
tests/meson.build

@ -15,7 +15,6 @@ env.set('top_builddir', meson.build_root())
tests = [
'request.t',
'core-condition.t',
'core-var-include.t',
'mod-fastcgi.t',
'mod-scgi.t',
]

41
tests/var-include.conf

@ -1,41 +0,0 @@
debug.log-request-handling = "enable"
#debug.log-condition-handling = "enable"
server.systemd-socket-activation = "enable"
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
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.compat-module-load = "disable"
server.modules = (
"mod_redirect",
"mod_accesslog",
"mod_staticfile",
)
accesslog.filename = env.SRCDIR + "/tmp/lighttpd/logs/lighttpd.access.log"
mimetype.assign = (
".html" => "text/html",
)
url.redirect = (
"" => "/default",
)
$HTTP["host"] == "www.example.org" {
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "www.example.org"
url.redirect = (
"" => "/redirect",
)
}
$HTTP["host"] == "test.example.org" {
server.document-root = env.SRCDIR + "/tmp/lighttpd/servers/www.example.org/pages/"
server.name = "test.example.org"
var.myvar = "good"
var.one = 1
include "var-include-sub.conf"
}
Loading…
Cancel
Save