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