mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-05-13 04:04:33 +08:00
waf: Fix test module dependency check
This commit is contained in:
parent
90a9fd66e0
commit
d164b840c3
22
builder.py
22
builder.py
@ -608,13 +608,15 @@ class TestFragementComposer(BuildSystemComposer):
|
||||
configTest=None,
|
||||
runTest=True,
|
||||
netTest=False,
|
||||
extraLibs=[]):
|
||||
extraLibs=[],
|
||||
modules=[]):
|
||||
self.testName = testName
|
||||
self.fileFragments = fileFragments
|
||||
self.configTest = configTest
|
||||
self.runTest = runTest
|
||||
self.netTest = netTest
|
||||
self.extraLibs = extraLibs
|
||||
self.modules = modules
|
||||
|
||||
def __str__(self):
|
||||
return 'TEST: ' + self.testName
|
||||
@ -625,7 +627,8 @@ class TestFragementComposer(BuildSystemComposer):
|
||||
'files': self.fileFragments,
|
||||
'run': self.runTest,
|
||||
'net': self.netTest,
|
||||
'libs': self.extraLibs
|
||||
'libs': self.extraLibs,
|
||||
'modules': self.modules,
|
||||
}
|
||||
|
||||
|
||||
@ -636,7 +639,8 @@ class TestIfHeaderComposer(TestFragementComposer):
|
||||
fileFragments,
|
||||
runTest=True,
|
||||
netTest=False,
|
||||
extraLibs=[]):
|
||||
extraLibs=[],
|
||||
modules=[]):
|
||||
if headers is not list:
|
||||
headers = [headers]
|
||||
self.headers = headers
|
||||
@ -645,7 +649,8 @@ class TestIfHeaderComposer(TestFragementComposer):
|
||||
'header',
|
||||
runTest=runTest,
|
||||
netTest=netTest,
|
||||
extraLibs=extraLibs)
|
||||
extraLibs=extraLibs,
|
||||
modules=modules)
|
||||
|
||||
def compose(self, path):
|
||||
r = TestFragementComposer.compose(self, path)
|
||||
@ -660,7 +665,8 @@ class TestIfLibraryComposer(TestFragementComposer):
|
||||
fileFragments,
|
||||
runTest=True,
|
||||
netTest=False,
|
||||
extraLibs=[]):
|
||||
extraLibs=[],
|
||||
modules=[]):
|
||||
if libraries is not list:
|
||||
libraries = [libraries]
|
||||
self.libraries = libraries
|
||||
@ -669,7 +675,8 @@ class TestIfLibraryComposer(TestFragementComposer):
|
||||
'library',
|
||||
runTest=runTest,
|
||||
netTest=netTest,
|
||||
extraLibs=extraLibs)
|
||||
extraLibs=extraLibs,
|
||||
modules=modules)
|
||||
|
||||
def compose(self, path):
|
||||
r = TestFragementComposer.compose(self, path)
|
||||
@ -990,12 +997,11 @@ class Module(object):
|
||||
NoConverter(), assertSourceFile,
|
||||
sourceFileBuildComposer)
|
||||
|
||||
def addTest(self, testFragementComposer, dependencies=[]):
|
||||
def addTest(self, testFragementComposer):
|
||||
self.files += [
|
||||
File('user', testFragementComposer.testName, PathComposer(),
|
||||
NoConverter(), NoConverter(), testFragementComposer)
|
||||
]
|
||||
self.dependencies += dependencies
|
||||
|
||||
def addDependency(self, dep):
|
||||
if not isinstance(dep, str):
|
||||
|
@ -5333,8 +5333,8 @@ class tests(builder.Module):
|
||||
def generate(self):
|
||||
mm = self.manager
|
||||
self.addTest(mm.generator['test']('epoch01', ['test_main'], extraLibs = ['rtemstest']))
|
||||
self.addTest(mm.generator['test']('nfs01', ['test_main'], netTest = True),
|
||||
['nfsv2'])
|
||||
self.addTest(mm.generator['test']('nfs01', ['test_main'],
|
||||
netTest = True, modules = ['nfsv2']))
|
||||
self.addTest(mm.generator['test']('foobarclient', ['test_main'],
|
||||
runTest = False, netTest = True))
|
||||
self.addTest(mm.generator['test']('foobarserver', ['test_main'],
|
||||
|
@ -561,13 +561,18 @@ class Builder(builder.ModuleManager):
|
||||
tests = []
|
||||
if 'tests' in self.data:
|
||||
tests = self.data['tests']['user']
|
||||
enabled_modules = self.getEnabledModules()
|
||||
for testName in sorted(tests):
|
||||
test = tests[testName]['all']
|
||||
test_source = []
|
||||
libs = ['bsd', 'm', 'z', 'rtemstest']
|
||||
for cfg in test:
|
||||
build_test = True
|
||||
if cfg != 'default':
|
||||
for mod in test[cfg]['modules']:
|
||||
if mod not in enabled_modules:
|
||||
build_test = False
|
||||
break
|
||||
if build_test and cfg != 'default':
|
||||
for c in cfg.split(' '):
|
||||
if not bld.env['HAVE_%s' % (c)]:
|
||||
build_test = False
|
||||
|
Loading…
x
Reference in New Issue
Block a user