diff options
Diffstat (limited to 'builder.py')
-rwxr-xr-x | builder.py | 30 |
1 files changed, 27 insertions, 3 deletions
@@ -505,15 +505,17 @@ class SourceFileIfHeaderComposer(SourceFileFragmentComposer): class TestFragementComposer(BuildSystemFragmentComposer): - def __init__(self, testName, fileFragments, runTest = True, netTest = False, extraLibs = []): + def __init__(self, testName, fileFragments, configTest = None, runTest = True, netTest = False, extraLibs = []): self.testName = testName self.fileFragments = fileFragments + self.configTest = configTest self.runTest = runTest self.netTest = netTest self.extraLibs = extraLibs def compose(self, path): - return ['tests', self.testName, ('default', None)], { 'files': self.fileFragments, + return ['tests', self.testName, ('default', None)], { 'configTest': self.configTest, + 'files': self.fileFragments, 'run': self.runTest, 'net': self.netTest, 'libs': self.extraLibs} @@ -524,7 +526,7 @@ class TestIfHeaderComposer(TestFragementComposer): if headers is not list: headers = [headers] self.headers = headers - super(TestIfHeaderComposer, self).__init__(testName, fileFragments, + super(TestIfHeaderComposer, self).__init__(testName, fileFragments, 'header', runTest = runTest, netTest = netTest, extraLibs = extraLibs) @@ -539,6 +541,27 @@ class TestIfHeaderComposer(TestFragementComposer): r[0][2] = (define_keys.strip(), self.headers) return r +class TestIfLibraryComposer(TestFragementComposer): + + def __init__(self, testName, libraries, fileFragments, runTest = True, netTest = False, extraLibs = []): + if libraries is not list: + libraries = [libraries] + self.libraries = libraries + super(TestIfLibraryComposer, self).__init__(testName, fileFragments, 'library', + runTest = runTest, netTest = netTest, + extraLibs = extraLibs) + + def compose(self, path): + r = TestFragementComposer.compose(self, path) + define_keys = '' + for l in self.libraries: + l = l.upper() + for c in '\/-.': + l = l.replace(c, '_') + define_keys += ' ' + l + r[0][2] = (define_keys.strip(), self.libraries) + return r + class KVMSymbolsFragmentComposer(BuildSystemFragmentComposer): def compose(self, path): @@ -857,3 +880,4 @@ class ModuleManager(object): self.generator['source-if-header'] = SourceFileIfHeaderComposer self.generator['test-if-header'] = TestIfHeaderComposer + self.generator['test-if-library'] = TestIfLibraryComposer |