diff options
| author | Steven Knight <knight@baldmt.com> | 2005-01-23 03:05:05 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2005-01-23 03:05:05 (GMT) |
| commit | 9b2dae34a2a0fd013b7849e4f8a8d7adb1bc136c (patch) | |
| tree | a3d67b02d8d2a64a38b697baafaede1d7004be79 /src/engine/SCons/ExecutorTests.py | |
| parent | f7158d025b936cc3cf3f0579ef39df98dc74e8cb (diff) | |
| download | SCons-9b2dae34a2a0fd013b7849e4f8a8d7adb1bc136c.zip SCons-9b2dae34a2a0fd013b7849e4f8a8d7adb1bc136c.tar.gz SCons-9b2dae34a2a0fd013b7849e4f8a8d7adb1bc136c.tar.bz2 | |
Use WeakValueDicts in the Memoizer to cut down on memory use.
Diffstat (limited to 'src/engine/SCons/ExecutorTests.py')
| -rw-r--r-- | src/engine/SCons/ExecutorTests.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/engine/SCons/ExecutorTests.py b/src/engine/SCons/ExecutorTests.py index 555d485..189cbad 100644 --- a/src/engine/SCons/ExecutorTests.py +++ b/src/engine/SCons/ExecutorTests.py @@ -66,6 +66,7 @@ class MyNode: self.implicit = [] self.pre_actions = pre self.post_actions = post + self.missing_val = None def __str__(self): return self.name def build(self, errfunc=None): @@ -81,6 +82,10 @@ class MyNode: return ['dep-' + str(self)] def add_to_implicit(self, deps): self.implicit.extend(deps) + def missing(self): + return self.missing_val + def calc_signature(self, calc): + return 'cs-'+calc+'-'+self.name class MyScanner: def path(self, env, cwd, target, source): @@ -287,7 +292,7 @@ class ExecutorTestCase(unittest.TestCase): def test_scan(self): """Test scanning the sources for implicit dependencies""" - env = MyEnvironment(S='string', SCANNERVAL='scn') + env = MyEnvironment(S='string') targets = [MyNode('t')] sources = [MyNode('s1'), MyNode('s2')] x = SCons.Executor.Executor('b', env, [{}], targets, sources) @@ -295,6 +300,27 @@ class ExecutorTestCase(unittest.TestCase): deps = x.scan(scanner) assert targets[0].implicit == ['dep-s1', 'dep-s2'], targets[0].implicit + def test_get_missing_sources(self): + """Test the ability to check if any sources are missing""" + env = MyEnvironment() + targets = [MyNode('t')] + sources = [MyNode('s1'), MyNode('s2')] + x = SCons.Executor.Executor('b', env, [{}], targets, sources) + sources[0].missing_val = 1 + missing = x.get_missing_sources() + assert missing == [sources[0]], missing + + def test_get_source_binfo(self): + """Test fetching the build signature info for the sources""" + env = MyEnvironment() + targets = [MyNode('t')] + sources = [MyNode('s1'), MyNode('s2')] + x = SCons.Executor.Executor('b', env, [{}], targets, sources) + b = x.get_source_binfo('C') + assert b == [(sources[0], 'cs-C-s1', 's1'), + (sources[1], 'cs-C-s2', 's2')], b + + if __name__ == "__main__": suite = unittest.TestSuite() |
