- Provide helpful error messages when the arguments to env.Install()
are incorrect.
+ - Fix the value returned by the Node.prevsiginfo() method to conform
+ to a previous change when checking whether a node is current.
+
From Christoph Wiedemann
- Have the g++ Tool actually use g++ in preference to c++.
assert n.get_subst_proxy() == n, n.get_subst_proxy()
+ def test_get_prevsiginfo(self):
+ """Test the base Node get_prevsiginfo() method"""
+ n = SCons.Node.Node()
+ siginfo = n.get_prevsiginfo()
+ assert siginfo == (None, None, None), siginfo
+
+
if __name__ == "__main__":
suite = unittest.makeSuite(NodeTestCase, 'test_')
global sig_files
sig_files.append(self)
+ # A null .sconsign entry. We define this here so that it will
+ # be easy to keep this in sync if/whenever we change the type of
+ # information returned by the get() method, below.
+ null_siginfo = (None, None, None)
+
def get(self, filename):
"""
Get the .sconsign entry for a file
return csig
if self.max_drift >= 0:
- info = node.get_prevsiginfo()
+ oldtime, oldbsig, oldcsig = node.get_prevsiginfo()
else:
- info = None
+ oldtime, oldbsig, oldcsig = _SConsign.null_siginfo
mtime = node.get_timestamp()
- if (info and info[0] and info[2] and info[0] == mtime):
+ if (oldtime and oldcsig and oldtime == mtime):
# use the signature stored in the .sconsign file
- csig = info[2]
+ csig = oldcsig
# Set the csig here so it doesn't get recalculated unnecessarily
# and so it's set when the .sconsign file gets written
cache.set_csig(csig)