summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-01-29 06:57:54 (GMT)
committerSteven Knight <knight@baldmt.com>2004-01-29 06:57:54 (GMT)
commit2ae8d5022b9593ea1992f350a57010397c269c29 (patch)
tree904de3f7b723e87d7f4be938bf43532301084470 /src/engine/SCons/Node
parent1ed5ce4f1c15b7608fe2fa62be76f7a781f98faa (diff)
downloadSCons-2ae8d5022b9593ea1992f350a57010397c269c29.zip
SCons-2ae8d5022b9593ea1992f350a57010397c269c29.tar.gz
SCons-2ae8d5022b9593ea1992f350a57010397c269c29.tar.bz2
Fetch implicit dependencies from SCCS/RCS.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/FS.py3
-rw-r--r--src/engine/SCons/Node/FSTests.py6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index 46d72d7..cbfe396 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -1543,8 +1543,9 @@ def find_file(filename, paths, node_factory = default_fs.File):
for dir in paths:
try:
node = node_factory(filename, dir)
- # Return true of the node exists or is a derived node.
+ # Return true if the node exists or is a derived node.
if node.is_derived() or \
+ node.is_pseudo_derived() or \
(isinstance(node, SCons.Node.FS.Base) and node.exists()):
retval = node
break
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py
index 132e8f6..ef1f52a 100644
--- a/src/engine/SCons/Node/FSTests.py
+++ b/src/engine/SCons/Node/FSTests.py
@@ -1373,13 +1373,17 @@ class find_fileTestCase(unittest.TestCase):
os.chdir(test.workpath("")) # FS doesn't like the cwd to be something other than it's root
node_derived = fs.File(test.workpath('bar/baz'))
node_derived.builder_set(1) # Any non-zero value.
+ node_pseudo = fs.File(test.workpath('pseudo'))
+ node_pseudo.set_src_builder(1) # Any non-zero value.
paths = map(fs.Dir, ['.', './bar'])
nodes = [SCons.Node.FS.find_file('foo', paths, fs.File),
- SCons.Node.FS.find_file('baz', paths, fs.File)]
+ SCons.Node.FS.find_file('baz', paths, fs.File),
+ SCons.Node.FS.find_file('pseudo', paths, fs.File)]
file_names = map(str, nodes)
file_names = map(os.path.normpath, file_names)
assert os.path.normpath('./foo') in file_names, file_names
assert os.path.normpath('./bar/baz') in file_names, file_names
+ assert os.path.normpath('./pseudo') in file_names, file_names
class StringDirTestCase(unittest.TestCase):
def runTest(self):