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