diff options
author | Jose Fonseca <[email protected]> | 2016-04-13 13:31:04 +0100 |
---|---|---|
committer | Jose Fonseca <[email protected]> | 2016-04-14 07:19:04 +0100 |
commit | 50ddf03ada3cc167f7dcb6b26f82adb20162f983 (patch) | |
tree | 4a81fcbb92eeb5cb1531fee7cb346d87d276189b /scons | |
parent | 9ae0e8ee3cf5e422804dcecd248dc28bb5dc63dc (diff) |
scons: Add a "check" target to run all unit tests.
Except:
- u_cache_test -- too long
- translate_test -- unreliable (it's probably testing corner cases that
translate module doesn't care about.)
Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'scons')
-rwxr-xr-x | scons/gallium.py | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/scons/gallium.py b/scons/gallium.py index f37042d9af1..94321b2e847 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -82,11 +82,6 @@ def install_shared_library(env, sources, version = ()): return targets -def createInstallMethods(env): - env.AddMethod(install_program, 'InstallProgram') - env.AddMethod(install_shared_library, 'InstallSharedLibrary') - - def msvc2013_compat(env): if env['gcc']: env.Append(CCFLAGS = [ @@ -94,8 +89,20 @@ def msvc2013_compat(env): '-Werror=pointer-arith', ]) -def createMSVCCompatMethods(env): - env.AddMethod(msvc2013_compat, 'MSVC2013Compat') + +def unit_test(env, test_name, program_target, args=None): + env.InstallProgram(program_target) + + cmd = [program_target[0].abspath] + if args is not None: + cmd += args + cmd = ' '.join(cmd) + + # http://www.scons.org/wiki/UnitTests + action = SCons.Action.Action(cmd, " Running %s ..." % test_name) + alias = env.Alias(test_name, program_target, action) + env.AlwaysBuild(alias) + env.Depends('check', alias) def num_jobs(): @@ -667,8 +674,10 @@ def generate(env): # Custom builders and methods env.Tool('custom') - createInstallMethods(env) - createMSVCCompatMethods(env) + env.AddMethod(install_program, 'InstallProgram') + env.AddMethod(install_shared_library, 'InstallSharedLibrary') + env.AddMethod(msvc2013_compat, 'MSVC2013Compat') + env.AddMethod(unit_test, 'UnitTest') env.PkgCheckModules('X11', ['x11', 'xext', 'xdamage', 'xfixes', 'glproto >= 1.4.13']) env.PkgCheckModules('XCB', ['x11-xcb', 'xcb-glx >= 1.8.1', 'xcb-dri2 >= 1.8']) |