1 |
ksteube |
1811 |
|
2 |
|
|
######################################################## |
3 |
ksteube |
1705 |
# |
4 |
jfenwick |
2548 |
# Copyright (c) 2003-2009 by University of Queensland |
5 |
ksteube |
1811 |
# Earth Systems Science Computational Center (ESSCC) |
6 |
|
|
# http://www.uq.edu.au/esscc |
7 |
ksteube |
1705 |
# |
8 |
ksteube |
1811 |
# Primary Business: Queensland, Australia |
9 |
|
|
# Licensed under the Open Software License version 3.0 |
10 |
|
|
# http://www.opensource.org/licenses/osl-3.0.php |
11 |
ksteube |
1705 |
# |
12 |
ksteube |
1811 |
######################################################## |
13 |
ksteube |
1705 |
|
14 |
ksteube |
1811 |
|
15 |
ksteube |
1705 |
import os |
16 |
gross |
898 |
Import('*') |
17 |
ksteube |
1705 |
|
18 |
|
|
local_env = clone_env(env) |
19 |
|
|
|
20 |
gross |
898 |
src_dir = local_env.Dir('.').srcnode().abspath |
21 |
|
|
filenames = os.listdir(src_dir) |
22 |
|
|
# |
23 |
|
|
# files defining tests but are not running by itself: |
24 |
|
|
# |
25 |
|
|
testfiles = [x for x in filenames if x.startswith('test_') and os.path.splitext(x)[1] in ['.py'] ] |
26 |
|
|
# |
27 |
|
|
# directories defining test data |
28 |
|
|
# |
29 |
|
|
testdata_dir = [x for x in filenames if x.startswith('data_') ] |
30 |
|
|
# |
31 |
|
|
# files defining test runs (passing in a release) |
32 |
|
|
# |
33 |
ksteube |
1705 |
testruns = [] |
34 |
|
|
testruns += ['run_pycad_test.py'] |
35 |
gross |
898 |
# |
36 |
|
|
# files defining tests run locally (not as part of a release) |
37 |
|
|
# |
38 |
|
|
localtestruns = [x for x in filenames if not x.startswith('run_') and os.path.splitext(x)[1] in ['.py']] |
39 |
|
|
# |
40 |
|
|
# all test |
41 |
|
|
# |
42 |
|
|
alltestruns = testruns + localtestruns |
43 |
|
|
# |
44 |
|
|
# test files are just compiled: |
45 |
|
|
# |
46 |
|
|
test_pyc = env.PyCompile(testfiles) |
47 |
|
|
env.Alias('build_py_tests', test_pyc) |
48 |
|
|
|
49 |
|
|
#Add Unit Test to target alias |
50 |
|
|
local_env.PrependENVPath('PYTHONPATH',str(env.Dir('#/build/$PLATFORM/pycad/test/python'))) |
51 |
|
|
local_env['ENV']['ESCRIPT_TEST_DATA_ROOT']=env.Dir('#/pycad/test/python').srcnode().abspath |
52 |
|
|
local_env['ENV']['ESCRIPT_WORKDIR']=env.Dir('#/build/$PLATFORM/pycad/test/python').srcnode().abspath |
53 |
|
|
env.Alias('local_py_tests',[os.path.splitext(x)[0]+'.passed' for x in alltestruns]) |
54 |
|
|
env.Alias('py_tests', [os.path.splitext(x)[0]+'.passed' for x in testruns ]) |
55 |
|
|
|
56 |
|
|
# |
57 |
|
|
# run all tests: |
58 |
|
|
# |
59 |
|
|
program = local_env.RunPyUnitTest(alltestruns) |
60 |
|
|
|
61 |
jfenwick |
2235 |
# Add a group of tests |
62 |
|
|
from grouptest import * |
63 |
|
|
tgroup=GroupTest("$PYTHONRUNNER ",(("ESCRIPT_TEST_DATA_ROOT","$BATCH_ROOT/pycad/test/python"),("ESCRIPT_WORKDIR","$BUILD_DIR/pycad/test/python")),"$BUILD_DIR/pycad/test/python","$BATCH_ROOT/pycad/test/python",testruns) |
64 |
|
|
TestGroups.append(tgroup) |
65 |
|
|
|
66 |
ksteube |
1705 |
Depends(program, local_env['pyinstall']) |
67 |
gross |
898 |
Depends(program, dep_lib) |
68 |
|
|
Depends(program, 'build_py_tests') |