diff options
Diffstat (limited to 'src/engine/SCons/Node')
| -rw-r--r-- | src/engine/SCons/Node/FS.py | 4 | ||||
| -rw-r--r-- | src/engine/SCons/Node/FSTests.py | 21 |
2 files changed, 23 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index d93a6a4..b183a88 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -912,7 +912,7 @@ class DummyExecutor: def get_contents(self): return '' def get_timestamp(self): - return None + return 0 class Dir(Base): """A class for directories in a file system. @@ -1148,7 +1148,7 @@ class Dir(Base): def get_timestamp(self): """Return the latest timestamp from among our children""" - stamp = None + stamp = 0 for kid in self.children(None): if kid.get_timestamp() > stamp: stamp = kid.get_timestamp() diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py index 53e2013..2237959 100644 --- a/src/engine/SCons/Node/FSTests.py +++ b/src/engine/SCons/Node/FSTests.py @@ -985,6 +985,27 @@ class FSTestCase(unittest.TestCase): finally: test.unlink("tstamp") + test.subdir('tdir1') + d = fs.Dir('tdir1') + t = d.get_timestamp() + assert t == 0, "expected 0, got %s" % str(t) + + test.subdir('tdir2') + d = fs.Dir('tdir2') + f1 = test.workpath('tdir2', 'file1') + f2 = test.workpath('tdir2', 'file2') + test.write(f1, 'file1\n') + test.write(f2, 'file2\n') + fs.File(f1) + fs.File(f2) + current_time = float(int(time.time() / 2) * 2) + t1 = current_time - 4.0 + t2 = current_time - 2.0 + os.utime(f1, (t1 - 2.0, t1)) + os.utime(f2, (t2 - 2.0, t2)) + t = d.get_timestamp() + assert t == t2, "expected %f, got %f" % (t2, t) + #XXX test get_prevsiginfo() skey = fs.Entry('eee.x').scanner_key() |
