summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/FSTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Node/FSTests.py')
-rw-r--r--src/engine/SCons/Node/FSTests.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index d9d128e..fc58c4a 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -38,9 +38,17 @@ class Builder:
built_it = 1
return 0
+scanner_count = 0
+
class Scanner:
+ def __init__(self):
+ global scanner_count
+ scanner_count = scanner_count + 1
+ self.hash = scanner_count
def scan(self, filename, env):
return [SCons.Node.FS.default_fs.File(filename)]
+ def __hash__(self):
+ return self.hash
class Environment:
def __init__(self):
@@ -296,11 +304,15 @@ class FSTestCase(unittest.TestCase):
f1.scanner = Scanner()
f1.scan()
assert f1.depends[0].path_ == os.path.join("d1", "f1")
- f1.scanner = None
- f1.depends = []
- f1.scanned = 0
+ f1.scanner = None
+ f1.scanned = None
f1.scan()
assert f1.depends[0].path_ == os.path.join("d1", "f1")
+ f1.scanner = None
+ f1.scanned = None
+ f1.depends = []
+ f1.scan()
+ assert not f1.depends
# Test building a file whose directory is not there yet...
f1 = fs.File(test.workpath("foo/bar/baz/ack"))