/[escript]/trunk/finley/test/python/SConscript
ViewVC logotype

Diff of /trunk/finley/test/python/SConscript

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 682 by robwdcock, Mon Mar 27 02:43:09 2006 UTC revision 1133 by gross, Tue May 8 07:19:33 2007 UTC
# Line 1  Line 1 
1  Import('*')  Import('*')
   
2  local_env=env.Copy()  local_env=env.Copy()
   
3  src_dir = local_env.Dir('.').srcnode().abspath  src_dir = local_env.Dir('.').srcnode().abspath
   
4  import os  import os
5  filenames = os.listdir(src_dir)  filenames = os.listdir(src_dir)
6  python_src = [x for x in filenames if os.path.splitext(x)[1] in ['.py']]  #
7    # files defining tests but are not running by itself:
8  # Filter out busted or not frequently run tests  #
9    testfiles = [x for x in filenames if x.startswith('test_') and os.path.splitext(x)[1] in ['.py'] ]
10  program = local_env.RunPyUnitTest(python_src)  #
11    # directories defining test data
12  Depends(program, pyinstall)  #
13  Depends(program, libinstall) # FIXME: The python tests require objects from finley hence you have to have all the libraries available rather than just dep_lib  testdata_dir = [x for x in filenames if x.startswith('data_') ]
14    #
15    #  files defining test runs (passing in a release)
16    #
17    testruns = [x for x in filenames if x.startswith('run_') and os.path.splitext(x)[1] in ['.py'] ]
18    #
19    # files defining tests run locally (not as part of a release)
20    #
21    localtestruns = [x for x in filenames if not x.startswith('run_') and os.path.splitext(x)[1] in ['.py']]
22    #
23    # all test
24    #
25    alltestruns = testruns + localtestruns
26    #
27    # test files are just compiled:
28    #
29    test_pyc = env.PyCompile(testfiles)
30    env.Alias('build_py_tests',test_pyc)
31    
32  #Add Unit Test to target alias  #Add Unit Test to target alias
33  test_targets = [os.path.splitext(x)[0]+'.passed' for x in python_src]  local_env.PrependENVPath('PYTHONPATH',str(env.Dir('#/build/$PLATFORM/finley/test/python')))
34    local_env.PrependENVPath('PYTHONPATH',str(env.Dir('#/build/$PLATFORM/escript/test/python')))
35    local_env['ENV']['FINLEY_TEST_DATA']=env.Dir('#/finley/test/python').srcnode().abspath
36    local_env['ENV']['FINLEY_WORKDIR']=env.Dir('#/build/$PLATFORM/finley/test/python').srcnode().abspath
37    env.Alias('local_py_tests',[os.path.splitext(x)[0]+'.passed' for x in alltestruns])
38    env.Alias('py_tests', [os.path.splitext(x)[0]+'.passed' for x in testruns ])
39    
40    # get all the python files in the release tar file
41    release_pyfiles = [ env.File("SConscript"), ]
42    release_datafiles=[]  # FIXME: is there a better way?
43    for d in testdata_dir:
44       release_datafiles+=[ d+"/"+x for x in os.listdir(local_env.Dir(d).srcnode().abspath) if not x.startswith('.')]
45    release_testfiles = [ env.File(x) for x in testfiles + testruns ] + [ env.File(x) for x in release_datafiles ]
46    env.Zip(src_zipfile, release_pyfiles)
47    env.Zip(test_zipfile, release_testfiles)
48    try:
49       env.Tar(test_tarfile, release_testfiles)
50       env.Tar(src_tarfile, release_pyfiles)
51    except AttributeError:
52       pass
53    #
54    # run all tests:
55    #
56    program = local_env.RunPyUnitTest(alltestruns)
57    
58  env.Alias('py_tests',test_targets)  Depends(program, pyinstall)
59    Depends(program, dep_lib)
60    Depends(program, 'build_py_tests')

Legend:
Removed from v.682  
changed lines
  Added in v.1133

  ViewVC Help
Powered by ViewVC 1.1.26