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.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index 0e19cec..6b35adb 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -36,10 +36,16 @@ import stat
built_it = None
class Builder:
+ def __init__(self, factory):
+ self.factory = factory
+
def execute(self, **kw):
global built_it
built_it = 1
return 0
+
+ def source_factory(self, name):
+ return self.factory(name)
scanner_count = 0
@@ -285,7 +291,7 @@ class FSTestCase(unittest.TestCase):
built_it = None
assert not built_it
d1.add_source([SCons.Node.Node()]) # XXX FAKE SUBCLASS ATTRIBUTE
- d1.builder_set(Builder())
+ d1.builder_set(Builder(fs.File))
d1.env_set(Environment())
d1.build()
assert not built_it
@@ -293,7 +299,7 @@ class FSTestCase(unittest.TestCase):
built_it = None
assert not built_it
f1.add_source([SCons.Node.Node()]) # XXX FAKE SUBCLASS ATTRIBUTE
- f1.builder_set(Builder())
+ f1.builder_set(Builder(fs.File))
f1.env_set(Environment())
f1.build()
assert built_it
@@ -381,6 +387,7 @@ class FSTestCase(unittest.TestCase):
match(d12.path_, "subdir/d12/")
e13 = fs.Entry("subdir/e13")
match(e13.path, "subdir/subdir/e13")
+ fs.chdir(fs.Dir('..'))
# Test scanning
f1.target_scanner = Scanner()
@@ -391,7 +398,9 @@ class FSTestCase(unittest.TestCase):
assert f1.implicit == []
f1.implicit = None
f1.scan()
- assert f1.implicit[0].path_ == os.path.join("d1", "f1")
+ assert f1.implicit[0].path_ == os.path.join("d1", "f1"), f1.implicit[0].path_
+ f1.store_implicit()
+ assert f1.get_stored_implicit()[0] == os.path.join("d1", "f1")
# Test building a file whose directory is not there yet...
f1 = fs.File(test.workpath("foo/bar/baz/ack"))