1e95ea21bSJan KneschkeImport('env') 2e95ea21bSJan Kneschke 3e95ea21bSJan Kneschketests = Split('prepare.sh \ 4e95ea21bSJan Kneschke run-tests.pl \ 5e95ea21bSJan Kneschke cleanup.sh') 6e95ea21bSJan Kneschke 7*2c391746SGlenn Straussextra_dist = Split(' \ 8e95ea21bSJan Kneschke condition.conf \ 9e95ea21bSJan Kneschke core-condition.t \ 10*2c391746SGlenn Strauss fastcgi-responder.conf \ 11e95ea21bSJan Kneschke LightyTest.pm \ 12*2c391746SGlenn Strauss lighttpd.conf \ 13*2c391746SGlenn Strauss lighttpd.htpasswd \ 14*2c391746SGlenn Strauss lighttpd.user \ 15*2c391746SGlenn Strauss mod-fastcgi.t \ 16*2c391746SGlenn Strauss mod-scgi.t \ 17*2c391746SGlenn Strauss proxy.conf \ 18*2c391746SGlenn Strauss request.t \ 19*2c391746SGlenn Strauss scgi-responder.conf \ 20*2c391746SGlenn Strauss var-include-sub.conf \ 21*2c391746SGlenn Strauss wrapper.sh \ 22*2c391746SGlenn Strauss ') 23e95ea21bSJan Kneschke 24fc01b820SGlenn Straussfcgi_responder = env.Program("fcgi-responder", "fcgi-responder.c") 254a68780eSGlenn Straussscgi_responder = env.Program("scgi-responder", "scgi-responder.c") 26e95ea21bSJan Kneschke 2768284bd7SStefan Bühlerdef CopyTestBinary(env, binary): 2868284bd7SStefan Bühler return env.Command(target = env['ENV']['top_builddir'] + '/tests/' + binary, source = binary, action = Copy("$TARGET", "$SOURCE")) 2968284bd7SStefan Bühler 3068284bd7SStefan Bühlerdef BuildTestEnv(env, build_type): 3168284bd7SStefan Bühler builddir = build_type 3268284bd7SStefan Bühler dependencies = [build_type] 3368284bd7SStefan Bühler if build_type == 'dynamic': 3468284bd7SStefan Bühler builddir = '.' 3568284bd7SStefan Bühler dependencies += ['modules'] 3668284bd7SStefan Bühler 3768284bd7SStefan Bühler testenv = env.Clone() 3868284bd7SStefan Bühler testenv['ENV']['srcdir']='tests' 3968284bd7SStefan Bühler testenv['ENV']['top_builddir']='sconsbuild/' + builddir 4068284bd7SStefan Bühler prepare = testenv.AlwaysBuild(testenv.Command(build_type + '/prepare', 'prepare.sh', 'tests/prepare.sh')) 4168284bd7SStefan Bühler runtests = testenv.AlwaysBuild(testenv.Command(build_type + '/run-tests', 'run-tests.pl', 'tests/run-tests.pl')) 4268284bd7SStefan Bühler cleanup = testenv.AlwaysBuild(testenv.Command(build_type + '/cleanup', 'cleanup.sh', 'tests/cleanup.sh')) 4368284bd7SStefan Bühler testenv.Depends(runtests, prepare) 4468284bd7SStefan Bühler testenv.Depends(cleanup, runtests) 4568284bd7SStefan Bühler SideEffect('dummy-file-prevent-running-tests-in-parallel', runtests) 4668284bd7SStefan Bühler 4768284bd7SStefan Bühler testenv.Depends(runtests, dependencies) 4868284bd7SStefan Bühler 49fc01b820SGlenn Strauss fcgis = [CopyTestBinary(testenv, 'fcgi-responder'), CopyTestBinary(testenv, 'scgi-responder')] 5068284bd7SStefan Bühler testenv.Depends(runtests, fcgis) 5168284bd7SStefan Bühler 5268284bd7SStefan Bühler return [prepare, runtests, cleanup] 5368284bd7SStefan Bühler 5468284bd7SStefan Bühlercheck_dynamic = env.Alias('check_dynamic', BuildTestEnv(env, 'dynamic')) 5568284bd7SStefan Bühlerenv.Depends(check_dynamic, 'modules') 5668284bd7SStefan Bühlercheck_static = env.Alias('check_static', BuildTestEnv(env, 'static')) 5768284bd7SStefan Bühlercheck_fullstatic = env.Alias('check_fullstatic', BuildTestEnv(env, 'fullstatic')) 5868284bd7SStefan Bühler 5968284bd7SStefan Bühlerchecks = [] 6068284bd7SStefan Bühler 6168284bd7SStefan Bühlerif env['build_dynamic']: 6268284bd7SStefan Bühler checks += check_dynamic 6368284bd7SStefan Bühler 6468284bd7SStefan Bühlerif env['build_static']: 6568284bd7SStefan Bühler checks += check_static 6668284bd7SStefan Bühler 6768284bd7SStefan Bühlerif env['build_fullstatic']: 6868284bd7SStefan Bühler checks += check_fullstatic 6968284bd7SStefan Bühler 7068284bd7SStefan Bühlerenv.Alias('check', checks) 71