summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Sig/SigTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-05-23 03:47:42 (GMT)
committerSteven Knight <knight@baldmt.com>2002-05-23 03:47:42 (GMT)
commit5f5ba7d5fec6f804592da4cbc6434de70f1cac20 (patch)
tree3166f404b0eda8501eafeb88bd36d6e684738e4d /src/engine/SCons/Sig/SigTests.py
parent72e3615b951a91dfa7e4eb48e147486607b74938 (diff)
downloadSCons-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.py28
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__":