-
Notifications
You must be signed in to change notification settings - Fork 0
/
wscript
80 lines (61 loc) · 2.65 KB
/
wscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import os
from os.path import join
from waflib.extras.test_base import summary
from waflib.extras.symwaf2ic import get_toplevel_path
from waflib import Utils
EXPERIMENT_NAME: str = "model_hw_mc_attenuation"
def depends(ctx):
ctx("pynn-brainscales")
ctx("code-format")
def options(opt):
opt.load("test_base")
opt.load("pytest")
def configure(conf):
conf.load("test_base")
conf.load("pytest")
conf.load("python")
def build(bld):
bld.env.BBS_HARDWARE_AVAILABLE = "SLURM_HWDB_YAML" in os.environ
build_host_python(bld)
bld.add_post_fun(summary)
def build_host_python(bld):
"""
Waf build targets for python code running on the host system.
"""
bld(name=f"{EXPERIMENT_NAME}-python_libraries",
features="py use pylint pycodestyle",
source=bld.path.ant_glob("src/py/**/*.py"),
relative_trick=True,
install_path="${PREFIX}/lib",
install_from="src/py",
pylint_config=join(get_toplevel_path(), "code-format", "pylintrc"),
pycodestyle_config=join(get_toplevel_path(), "code-format", "pycodestyle"),
use=["pynn_brainscales2"],
test_timeout=60)
bld(name=f"{EXPERIMENT_NAME}-python_scripts",
features="py use pylint pycodestyle",
source=bld.path.ant_glob(f"src/py/{EXPERIMENT_NAME}/scripts/**/*.py"),
relative_trick=True,
install_path="${PREFIX}/bin",
install_from=f"src/py/{EXPERIMENT_NAME}/scripts",
chmod=Utils.O755,
pylint_config=join(get_toplevel_path(), "code-format", "pylintrc"),
pycodestyle_config=join(get_toplevel_path(), "code-format", "pycodestyle"),
use=["pynn_brainscales2", f"{EXPERIMENT_NAME}-python_libraries"])
bld(name=f"{EXPERIMENT_NAME}-python_hwtests",
tests=bld.path.ant_glob("tests/hw/py/**/*.py"),
features="use pytest pylint pycodestyle",
use=["pynn_brainscales2", f"{EXPERIMENT_NAME}-python_libraries"],
install_path="${PREFIX}/bin/tests/hw",
pylint_config=join(get_toplevel_path(), "code-format", "pylintrc"),
pycodestyle_config=join(get_toplevel_path(), "code-format", "pycodestyle"),
skip_run=not bld.env.BBS_HARDWARE_AVAILABLE,
test_timeout=120)
bld(name=f"{EXPERIMENT_NAME}-python_swtests",
tests=bld.path.ant_glob("tests/sw/py/**/*.py"),
features="use pytest pylint pycodestyle",
use=["pynn_brainscales2", f"{EXPERIMENT_NAME}-python_libraries"],
install_path="${PREFIX}/bin/tests/sw",
pylint_config=join(get_toplevel_path(), "code-format", "pylintrc"),
pycodestyle_config=join(get_toplevel_path(), "code-format", "pycodestyle"),
test_timeout=180)