summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Scanner/ScannerTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-09-15 01:45:17 (GMT)
committerSteven Knight <knight@baldmt.com>2002-09-15 01:45:17 (GMT)
commitb04744713085a486615cbef5f489dc522988fb36 (patch)
tree2bac76ddc5252e4e37c6f5df0738278d1b2aa6d5 /src/engine/SCons/Scanner/ScannerTests.py
parent37d6dd7bf93de0e1cbd5382cd7687ff5294183ec (diff)
downloadSCons-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.py16
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__":