xref: /lighttpd1.4/tests/SConscript (revision 68284bd7)
1e95ea21bSJan KneschkeImport('env')
2e95ea21bSJan Kneschke
3e95ea21bSJan Kneschketests = Split('prepare.sh \
4e95ea21bSJan Kneschke	run-tests.pl \
5e95ea21bSJan Kneschke	cleanup.sh')
6e95ea21bSJan Kneschke
7e95ea21bSJan Kneschkeextra_dist = Split('fastcgi-10.conf \
8e95ea21bSJan Kneschke	fastcgi-auth.conf \
9e95ea21bSJan Kneschke	fastcgi-responder.conf \
10e95ea21bSJan Kneschke	fastcgi-13.conf \
11e95ea21bSJan Kneschke	bug-06.conf \
12e95ea21bSJan Kneschke	bug-12.conf \
13e95ea21bSJan Kneschke	core-var-include.t \
14e95ea21bSJan Kneschke	var-include.conf \
15e95ea21bSJan Kneschke	var-include-sub.conf \
16e95ea21bSJan Kneschke	condition.conf \
17e95ea21bSJan Kneschke	core-condition.t \
18e95ea21bSJan Kneschke	core-request.t \
19e95ea21bSJan Kneschke	core-response.t \
20e95ea21bSJan Kneschke	core-keepalive.t \
21e95ea21bSJan Kneschke	core.t \
22e95ea21bSJan Kneschke	mod-access.t \
23e95ea21bSJan Kneschke	mod-auth.t \
24e95ea21bSJan Kneschke	mod-cgi.t \
25e95ea21bSJan Kneschke	mod-compress.t \
2634172dfbSStefan Bühler	mod-compress.conf \
27e95ea21bSJan Kneschke	mod-fastcgi.t \
28e95ea21bSJan Kneschke	mod-redirect.t \
29e95ea21bSJan Kneschke	mod-userdir.t \
30e95ea21bSJan Kneschke	mod-rewrite.t \
31e95ea21bSJan Kneschke	request.t \
32e95ea21bSJan Kneschke	mod-ssi.t \
33e95ea21bSJan Kneschke	LightyTest.pm \
34e95ea21bSJan Kneschke	mod-setenv.t')
35e95ea21bSJan Kneschke
36*68284bd7SStefan Bühlerfcgi_auth = None
37*68284bd7SStefan Bühlerfcgi_responder = None
38e95ea21bSJan Kneschke
39809199f9SmOoif env['LIBFCGI']:
40*68284bd7SStefan Bühler	fcgi_auth = env.Program("fcgi-auth", "fcgi-auth.c", LIBS=[env['LIBFCGI'], env['APPEND_LIBS']])
41*68284bd7SStefan Bühler	fcgi_responder = env.Program("fcgi-responder", "fcgi-responder.c", LIBS=[env['LIBFCGI'], env['APPEND_LIBS']])
42809199f9SmOo
43*68284bd7SStefan Bühlerdef CopyTestBinary(env, binary):
44*68284bd7SStefan Bühler	return env.Command(target = env['ENV']['top_builddir'] + '/tests/' + binary, source = binary, action = Copy("$TARGET", "$SOURCE"))
45*68284bd7SStefan Bühler
46*68284bd7SStefan Bühlerdef BuildTestEnv(env, build_type):
47*68284bd7SStefan Bühler	builddir = build_type
48*68284bd7SStefan Bühler	dependencies = [build_type]
49*68284bd7SStefan Bühler	if build_type == 'dynamic':
50*68284bd7SStefan Bühler		builddir = '.'
51*68284bd7SStefan Bühler		dependencies += ['modules']
52*68284bd7SStefan Bühler
53*68284bd7SStefan Bühler	testenv = env.Clone()
54*68284bd7SStefan Bühler	testenv['ENV']['srcdir']='tests'
55*68284bd7SStefan Bühler	testenv['ENV']['top_builddir']='sconsbuild/' + builddir
56*68284bd7SStefan Bühler	prepare = testenv.AlwaysBuild(testenv.Command(build_type + '/prepare', 'prepare.sh', 'tests/prepare.sh'))
57*68284bd7SStefan Bühler	runtests = testenv.AlwaysBuild(testenv.Command(build_type + '/run-tests', 'run-tests.pl', 'tests/run-tests.pl'))
58*68284bd7SStefan Bühler	cleanup = testenv.AlwaysBuild(testenv.Command(build_type + '/cleanup', 'cleanup.sh', 'tests/cleanup.sh'))
59*68284bd7SStefan Bühler	testenv.Depends(runtests, prepare)
60*68284bd7SStefan Bühler	testenv.Depends(cleanup, runtests)
61*68284bd7SStefan Bühler	SideEffect('dummy-file-prevent-running-tests-in-parallel', runtests)
62*68284bd7SStefan Bühler
63*68284bd7SStefan Bühler	testenv.Depends(runtests, dependencies)
64*68284bd7SStefan Bühler
65*68284bd7SStefan Bühler	if env['LIBFCGI']:
66*68284bd7SStefan Bühler		fcgis = [CopyTestBinary(testenv, 'fcgi-auth'), CopyTestBinary(testenv, 'fcgi-responder')]
67*68284bd7SStefan Bühler		testenv.Depends(runtests, fcgis)
68*68284bd7SStefan Bühler
69*68284bd7SStefan Bühler	return [prepare, runtests, cleanup]
70*68284bd7SStefan Bühler
71*68284bd7SStefan Bühlercheck_dynamic = env.Alias('check_dynamic', BuildTestEnv(env, 'dynamic'))
72*68284bd7SStefan Bühlerenv.Depends(check_dynamic, 'modules')
73*68284bd7SStefan Bühlercheck_static = env.Alias('check_static', BuildTestEnv(env, 'static'))
74*68284bd7SStefan Bühlercheck_fullstatic = env.Alias('check_fullstatic', BuildTestEnv(env, 'fullstatic'))
75*68284bd7SStefan Bühler
76*68284bd7SStefan Bühlerchecks = []
77*68284bd7SStefan Bühler
78*68284bd7SStefan Bühlerif env['build_dynamic']:
79*68284bd7SStefan Bühler	checks += check_dynamic
80*68284bd7SStefan Bühler
81*68284bd7SStefan Bühlerif env['build_static']:
82*68284bd7SStefan Bühler	checks += check_static
83*68284bd7SStefan Bühler
84*68284bd7SStefan Bühlerif env['build_fullstatic']:
85*68284bd7SStefan Bühler	checks += check_fullstatic
86*68284bd7SStefan Bühler
87*68284bd7SStefan Bühlerenv.Alias('check', checks)
88