summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-11-15 03:52:55 (GMT)
committerSteven Knight <knight@baldmt.com>2001-11-15 03:52:55 (GMT)
commit9508d219188fcd2ad8eb2d24606d1b9c611e9ed2 (patch)
tree880af73f3034f4cd6df91d19e94a96a834305a7e /src/engine/SCons/Node
parent7f3b3a97f05532ed158371e42edf7b57c0f7b08e (diff)
downloadSCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.zip
SCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.tar.gz
SCons-9508d219188fcd2ad8eb2d24606d1b9c611e9ed2.tar.bz2
LIBS and LIBPATH work, variable substitution changes.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/NodeTests.py19
-rw-r--r--src/engine/SCons/Node/__init__.py6
2 files changed, 17 insertions, 8 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index 24ad955..373571b 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -33,11 +33,15 @@ import SCons.Node
built_it = None
+built_target = None
+built_source = None
class Builder:
def execute(self, **kw):
- global built_it
+ global built_it, built_target, built_source
built_it = 1
+ built_target = kw['target']
+ built_source = kw['source']
return 0
def get_contents(self, env):
return 7
@@ -70,18 +74,23 @@ class NodeTestCase(unittest.TestCase):
def test_build(self):
"""Test building a node
"""
+ class MyNode(SCons.Node.Node):
+ def __str__(self):
+ return self.path
# Make sure it doesn't blow up if no builder is set.
- node = SCons.Node.Node()
+ node = MyNode()
node.build()
assert built_it == None
- node = SCons.Node.Node()
+ node = MyNode()
node.builder_set(Builder())
node.env_set(Environment())
- node.path = "xxx" # XXX FAKE SUBCLASS ATTRIBUTE
- node.sources = "yyy" # XXX FAKE SUBCLASS ATTRIBUTE
+ node.path = "xxx"
+ node.sources = ["yyy", "zzz"]
node.build()
assert built_it
+ assert built_target == "xxx", built_target
+ assert built_source == ["yyy", "zzz"], built_source
def test_builder_set(self):
"""Test setting a Node's Builder
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 860061c..6364bf8 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -71,9 +71,9 @@ class Node:
"""Actually build the node. Return the status from the build."""
if not self.builder:
return None
- sources_str = string.join(map(lambda x: str(x), self.sources))
- stat = self.builder.execute(env = self.env.Dictionary(),
- target = str(self), source = sources_str)
+ sources = map(lambda x: str(x), self.sources)
+ stat = self.builder.execute(env = self.env.Dictionary(),
+ target = str(self), source = sources)
if stat != 0:
raise BuildError(node = self, stat = stat)
return stat