35 lines
831 B
Python
35 lines
831 B
Python
#!/usr/bin/python
|
|
Import("release", "debug")
|
|
|
|
def run_test(group, name):
|
|
cmd = "tests/%s/%s.test" % (group, name)
|
|
out = "tests/%s/%s.run" % (group, name)
|
|
good = "tests/%s/%s.good" % (group, name)
|
|
test = Command(out, None,
|
|
[ "%s > %s" % (cmd, out),
|
|
"diff -u %s %s" % (out, good)
|
|
]
|
|
)
|
|
return test
|
|
|
|
def make_test(group, src, name, env):
|
|
obj = env.StaticObject(name, src)
|
|
prog = env.Program("%s.test" % name, obj)
|
|
test = run_test(group, name)
|
|
Depends(test, prog)
|
|
|
|
Alias("tests", [obj, prog])
|
|
Alias("tests/%s" % group, [obj, prog])
|
|
Alias("tests/%s/%s" % (group, name), [obj, prog])
|
|
|
|
def Test(group, src):
|
|
name, extension = src.rsplit(".", 1)
|
|
make_test(group, src, name, release)
|
|
make_test(group, src, "%s-debug" % name, debug)
|
|
|
|
Export("Test")
|
|
|
|
|
|
# Read SConscript files
|
|
basic = SConscript("basic/Sconscript")
|