diff options
author | Steven Knight <knight@baldmt.com> | 2002-05-23 03:47:42 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-05-23 03:47:42 (GMT) |
commit | 5f5ba7d5fec6f804592da4cbc6434de70f1cac20 (patch) | |
tree | 3166f404b0eda8501eafeb88bd36d6e684738e4d /src/engine/SCons/Sig/SigTests.py | |
parent | 72e3615b951a91dfa7e4eb48e147486607b74938 (diff) | |
download | SCons-5f5ba7d5fec6f804592da4cbc6434de70f1cac20.zip SCons-5f5ba7d5fec6f804592da4cbc6434de70f1cac20.tar.gz SCons-5f5ba7d5fec6f804592da4cbc6434de70f1cac20.tar.bz2 |
Fix .sconsign signature storing so that the output files of one scons build can be safely used as the inputs to another scons build. (Anthony Roach)
Diffstat (limited to 'src/engine/SCons/Sig/SigTests.py')
-rw-r--r-- | src/engine/SCons/Sig/SigTests.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/engine/SCons/Sig/SigTests.py b/src/engine/SCons/Sig/SigTests.py index cc39656..1004e6e 100644 --- a/src/engine/SCons/Sig/SigTests.py +++ b/src/engine/SCons/Sig/SigTests.py @@ -122,6 +122,9 @@ class DummyNode: def store_bsig(self): pass + + def store_timestamp(self): + pass def builder_sig_adapter(self): class Adapter: @@ -492,6 +495,30 @@ class SConsignEntryTestCase(unittest.TestCase): assert e.get_implicit() == ['foo bletch', 'bar'] assert e.render(m) == "123 456 789 foo bletch\0bar" +class SConsignFileTestCase(unittest.TestCase): + + def runTest(self): + class DummyModule: + def to_string(self, sig): + return str(sig) + + def from_string(self, sig): + return int(sig) + + class DummyNode: + path = 'not_a_valid_path' + + f = SCons.Sig.SConsignFile(DummyNode(), DummyModule()) + f.set_bsig('foo', 1) + assert f.get('foo') == (None, 1, None) + f.set_csig('foo', 2) + assert f.get('foo') == (None, 1, 2) + f.set_timestamp('foo', 3) + assert f.get('foo') == (3, 1, 2) + f.set_implicit('foo', ['bar']) + assert f.get('foo') == (3, 1, 2) + assert f.get_implicit('foo') == ['bar'] + def suite(): suite = unittest.TestSuite() @@ -499,6 +526,7 @@ def suite(): suite.addTest(TimeStampTestCase()) suite.addTest(CalcTestCase()) suite.addTest(SConsignEntryTestCase()) + suite.addTest(SConsignFileTestCase()) return suite if __name__ == "__main__": |