diff options
author | Steven Knight <knight@baldmt.com> | 2002-09-15 01:45:17 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-09-15 01:45:17 (GMT) |
commit | b04744713085a486615cbef5f489dc522988fb36 (patch) | |
tree | 2bac76ddc5252e4e37c6f5df0738278d1b2aa6d5 /src/engine/SCons/Scanner/ScannerTests.py | |
parent | 37d6dd7bf93de0e1cbd5382cd7687ff5294183ec (diff) | |
download | SCons-b04744713085a486615cbef5f489dc522988fb36.zip SCons-b04744713085a486615cbef5f489dc522988fb36.tar.gz SCons-b04744713085a486615cbef5f489dc522988fb36.tar.bz2 |
Provide a Scanner hook to allow file scans to be avoided when it isn't necessary.
Diffstat (limited to 'src/engine/SCons/Scanner/ScannerTests.py')
-rw-r--r-- | src/engine/SCons/Scanner/ScannerTests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/engine/SCons/Scanner/ScannerTests.py b/src/engine/SCons/Scanner/ScannerTests.py index fce4078..2d0e47a 100644 --- a/src/engine/SCons/Scanner/ScannerTests.py +++ b/src/engine/SCons/Scanner/ScannerTests.py @@ -124,6 +124,21 @@ class ScannerHashTestCase(ScannerTestBase, unittest.TestCase): self.failUnless(hash(dict.keys()[0]) == hash(None), "did not hash Scanner base class as expected") +class ScannerCheckTestCase(unittest.TestCase): + "Test the Scanner.Base class __hash__() method" + def setUp(self): + self.checked = {} + def runTest(self): + def my_scan(filename, env, target, *args): + return [] + def check(node, s=self): + s.checked[node] = 1 + return 1 + s = SCons.Scanner.Base(my_scan, "Check", scan_check = check) + scanned = s.scan('x', DummyEnvironment(), DummyTarget()) + self.failUnless(self.checked['x'] == 1, + "did not call check function") + def suite(): suite = unittest.TestSuite() suite.addTest(ScannerPositionalTestCase()) @@ -131,6 +146,7 @@ def suite(): suite.addTest(ScannerPositionalArgumentTestCase()) suite.addTest(ScannerKeywordArgumentTestCase()) suite.addTest(ScannerHashTestCase()) + suite.addTest(ScannerCheckTestCase()) return suite if __name__ == "__main__": |