waf: Allow to add libs per test.

Update #3419.
This commit is contained in:
Christian Mauderer 2018-05-02 11:25:18 +02:00
parent a779a3b870
commit dd35ec5cd7
3 changed files with 33 additions and 15 deletions

View File

@ -496,25 +496,28 @@ class SourceFileIfHeaderComposer(SourceFileFragmentComposer):
class TestFragementComposer(BuildSystemFragmentComposer):
def __init__(self, testName, fileFragments, runTest = True, netTest = False):
def __init__(self, testName, fileFragments, runTest = True, netTest = False, extraLibs = []):
self.testName = testName
self.fileFragments = fileFragments
self.runTest = runTest
self.netTest = netTest
self.extraLibs = extraLibs
def compose(self, path):
return ['tests', self.testName, ('default', None)], { 'files': self.fileFragments,
'run': self.runTest,
'net': self.netTest }
'net': self.netTest,
'libs': self.extraLibs}
class TestIfHeaderComposer(TestFragementComposer):
def __init__(self, testName, headers, fileFragments, runTest = True, netTest = False):
def __init__(self, testName, headers, fileFragments, runTest = True, netTest = False, extraLibs = []):
if headers is not list:
headers = [headers]
self.headers = headers
super(TestIfHeaderComposer, self).__init__(testName, fileFragments,
runTest = runTest, netTest = netTest)
runTest = runTest, netTest = netTest,
extraLibs = extraLibs)
def compose(self, path):
r = TestFragementComposer.compose(self, path)

View File

@ -4703,10 +4703,14 @@ class tests(builder.Module):
self.addTest(mm.generator['test']('arphole', ['test_main'],
runTest = False, netTest = True))
self.addTest(mm.generator['test']('telnetd01', ['test_main'],
runTest = False, netTest = True))
runTest = False, netTest = True,
extraLibs = ['telnetd']))
self.addTest(mm.generator['test']('unix01', ['test_main']))
self.addTest(mm.generator['test']('ftpd01', ['test_main'], netTest = True))
self.addTest(mm.generator['test']('ftpd02', ['test_main']))
self.addTest(mm.generator['test']('ftpd01', ['test_main'],
netTest = True,
extraLibs = ['ftpd']))
self.addTest(mm.generator['test']('ftpd02', ['test_main'],
extraLibs = ['ftpfs', 'ftpd']))
self.addTest(mm.generator['test']('ping01', ['test_main'], netTest = True))
self.addTest(mm.generator['test']('selectpollkqueue01', ['test_main']))
self.addTest(mm.generator['test']('rwlock01', ['test_main']))
@ -4727,19 +4731,27 @@ class tests(builder.Module):
self.addTest(mm.generator['test']('thread01', ['test_main']))
self.addTest(mm.generator['test']('mutex01', ['test_main']))
self.addTest(mm.generator['test']('condvar01', ['test_main']))
self.addTest(mm.generator['test']('ppp01', ['test_main'], runTest = False))
self.addTest(mm.generator['test']('ppp01', ['test_main'], runTest = False,
extraLibs = ['ftpd', 'telnetd']))
self.addTest(mm.generator['test']('zerocopy01', ['test_main'],
runTest = False, netTest = True))
runTest = False, netTest = True,
extraLibs = ['telnetd']))
self.addTest(mm.generator['test']('smp01', ['test_main']))
self.addTest(mm.generator['test']('media01', ['test_main'], runTest = False))
self.addTest(mm.generator['test']('media01', ['test_main'],
runTest = False,
extraLibs = ['ftpd', 'telnetd']))
self.addTest(mm.generator['test']('vlan01', ['test_main'], netTest = True))
self.addTest(mm.generator['test']('lagg01', ['test_main'], netTest = True))
self.addTest(mm.generator['test']('log01', ['test_main']))
self.addTest(mm.generator['test']('rcconf01', ['test_main']))
self.addTest(mm.generator['test']('rcconf02', ['test_main']))
self.addTest(mm.generator['test']('rcconf02', ['test_main'],
extraLibs = ['ftpd', 'telnetd']))
self.addTest(mm.generator['test']('cdev01', ['test_main', 'test_cdev']))
self.addTest(mm.generator['test']('pf01', ['test_main']))
self.addTest(mm.generator['test']('pf02', ['test_main'], runTest = False))
self.addTest(mm.generator['test']('pf01', ['test_main'],
extraLibs = ['ftpd', 'telnetd']))
self.addTest(mm.generator['test']('pf02', ['test_main'],
runTest = False,
extraLibs = ['ftpd', 'telnetd']))
self.addTest(mm.generator['test']('termios', ['test_main',
'test_termios_driver',
'test_termios_utilities']))
@ -4762,7 +4774,8 @@ class tests(builder.Module):
'../termios/test_termios_driver',
'../termios/test_termios_utilities']))
self.addTest(mm.generator['test-if-header']('debugger01', 'rtems/rtems-debugger.h',
['test_main'], runTest = False, netTest = True))
['test_main'], runTest = False, netTest = True,
extraLibs = ['debugger']))
self.addTest(mm.generator['test']('crypto01', ['test_main']))
def load(mm):

View File

@ -496,6 +496,7 @@ class Builder(builder.ModuleManager):
for testName in sorted(tests):
test = self.data['tests'][testName]['all']
test_source = []
libs = ['bsd', 'm', 'z']
for cfg in test:
build_test = True
if cfg != 'default':
@ -506,6 +507,7 @@ class Builder(builder.ModuleManager):
if build_test:
test_sources = ['testsuite/%s/%s.c' % (testName, f) \
for f in test[cfg]['files']]
libs = test[cfg]['libs'] + libs
if build_test:
bld.program(target = '%s.exe' % (testName),
features = 'cprogram',
@ -513,5 +515,5 @@ class Builder(builder.ModuleManager):
includes = includes,
source = test_sources,
use = ['bsd'],
lib = ['ftpfs', 'ftpd', 'telnetd', 'bsd', 'm', 'z'],
lib = libs,
install_path = None)