mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 18:24:13 +08:00
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 <sroland@vmware.com>
This commit is contained in:
parent
9ae0e8ee3c
commit
50ddf03ada
@ -84,6 +84,11 @@ env.Append(CPPPATH = [
|
||||
#print env.Dump()
|
||||
|
||||
|
||||
# Add a check target for running tests
|
||||
check = env.Alias('check')
|
||||
env.AlwaysBuild(check)
|
||||
|
||||
|
||||
#######################################################################
|
||||
# Invoke host SConscripts
|
||||
#
|
||||
|
@ -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'])
|
||||
|
@ -38,10 +38,6 @@ if not env['embedded']:
|
||||
target = testname,
|
||||
source = [testname + '.c', 'lp_test_main.c'],
|
||||
)
|
||||
env.InstallProgram(target)
|
||||
|
||||
# http://www.scons.org/wiki/UnitTests
|
||||
alias = env.Alias(testname, [target], target[0].abspath)
|
||||
AlwaysBuild(alias)
|
||||
env.UnitTest(testname, target)
|
||||
|
||||
Export('llvmpipe')
|
||||
|
@ -24,10 +24,8 @@ for progname in progs:
|
||||
target = progname,
|
||||
source = progname + '.c',
|
||||
)
|
||||
|
||||
env.Alias(progname, env.InstallProgram(prog))
|
||||
|
||||
# http://www.scons.org/wiki/UnitTests
|
||||
test_alias = env.Alias('unit', [prog], prog[0].abspath)
|
||||
AlwaysBuild(test_alias)
|
||||
|
||||
if progname not in [
|
||||
'u_cache_test', # too long
|
||||
'translate_test', # unreliable
|
||||
]:
|
||||
env.UnitTest(progname, prog)
|
||||
|
@ -47,17 +47,14 @@ env.Alias('mesautil', mesautil)
|
||||
Export('mesautil')
|
||||
|
||||
|
||||
# http://www.scons.org/wiki/UnitTests
|
||||
u_atomic_test = env.Program(
|
||||
target = 'u_atomic_test',
|
||||
source = ['u_atomic_test.c'],
|
||||
)
|
||||
alias = env.Alias("u_atomic_test", u_atomic_test, u_atomic_test[0].abspath)
|
||||
AlwaysBuild(alias)
|
||||
env.UnitTest("u_atomic_test", u_atomic_test)
|
||||
|
||||
roundeven_test = env.Program(
|
||||
target = 'roundeven_test',
|
||||
source = ['roundeven_test.c'],
|
||||
)
|
||||
alias = env.Alias("roundeven_test", roundeven_test, roundeven_test[0].abspath)
|
||||
AlwaysBuild(alias)
|
||||
env.UnitTest("roundeven_test", roundeven_test)
|
||||
|
Loading…
Reference in New Issue
Block a user