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