summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2020-09-30 15:31:23 +1000
committerChris Johns <chrisj@rtems.org>2020-09-30 15:31:23 +1000
commitd164b840c3973e0793da1b3e4142b1711514b9ba (patch)
tree6268bbaef91f396af64809d61ab8733190df1154
parentUpdate the CONTRIBUTING with kernel/user space notes. (diff)
downloadrtems-libbsd-d164b840c3973e0793da1b3e4142b1711514b9ba.tar.bz2
waf: Fix test module dependency check
-rwxr-xr-xbuilder.py22
-rw-r--r--libbsd.py4
-rw-r--r--waf_libbsd.py7
3 files changed, 22 insertions, 11 deletions
diff --git a/builder.py b/builder.py
index 7e79d5f9..cbe5dc59 100755
--- a/builder.py
+++ b/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):
diff --git a/libbsd.py b/libbsd.py
index b9de3cbd..caa1c730 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -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'],
diff --git a/waf_libbsd.py b/waf_libbsd.py
index 17cab509..070d3eac 100644
--- a/waf_libbsd.py
+++ b/waf_libbsd.py
@@ -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