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