summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/NodeTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-03-28 03:29:11 (GMT)
committerSteven Knight <knight@baldmt.com>2003-03-28 03:29:11 (GMT)
commite94e7726d2602503cd6ea7ba1acb37558821827e (patch)
tree3c312aac30b8d44b5e898a1ff9ec15b5003b98e7 /src/engine/SCons/Node/NodeTests.py
parentf63429682eca0f75ba22c2e01f155bb8d986bd85 (diff)
downloadSCons-e94e7726d2602503cd6ea7ba1acb37558821827e.zip
SCons-e94e7726d2602503cd6ea7ba1acb37558821827e.tar.gz
SCons-e94e7726d2602503cd6ea7ba1acb37558821827e.tar.bz2
Fix erroneous dependency-cycle errors when an Alias source doesn't exist. (Anthony Roach)
Diffstat (limited to 'src/engine/SCons/Node/NodeTests.py')
-rw-r--r--src/engine/SCons/Node/NodeTests.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index f282860..9da74d3 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -377,6 +377,66 @@ class NodeTestCase(unittest.TestCase):
node.set_precious(7)
assert node.precious == 7
+ def test_exists(self):
+ """Test evaluating whether a Node exists.
+ """
+ node = SCons.Node.Node()
+ e = node.exists()
+ assert e == 1, e
+
+ def test_exists(self):
+ """Test evaluating whether a Node exists locally or in a repository.
+ """
+ node = SCons.Node.Node()
+ e = node.rexists()
+ assert e == 1, e
+
+ class MyNode(SCons.Node.Node):
+ def exists(self):
+ return 'xyz'
+
+ node = MyNode()
+ e = node.rexists()
+ assert e == 'xyz', e
+
+ def test_prepare(self):
+ """Test preparing a node to be built
+ """
+ node = SCons.Node.Node()
+
+ n1 = SCons.Node.Node()
+ n1.builder_set(Builder())
+ node.implicit = []
+ node._add_child(node.implicit, [n1])
+
+ node.prepare() # should not throw an exception
+
+ n2 = SCons.Node.Node()
+ n2.linked = 1
+ node.implicit = []
+ node._add_child(node.implicit, [n2])
+
+ node.prepare() # should not throw an exception
+
+ n3 = SCons.Node.Node()
+ node.implicit = []
+ node._add_child(node.implicit, [n3])
+
+ node.prepare() # should not throw an exception
+
+ class MyNode(SCons.Node.Node):
+ def rexists(self):
+ return None
+ n4 = MyNode()
+ node.implicit = []
+ node._add_child(node.implicit, [n4])
+ exc_caught = 0
+ try:
+ node.prepare()
+ except SCons.Errors.StopError:
+ exc_caught = 1
+ assert exc_caught, "did not catch expected StopError"
+
def test_add_dependency(self):
"""Test adding dependencies to a Node's list.
"""