summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/NodeTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-01-11 16:03:15 (GMT)
committerSteven Knight <knight@baldmt.com>2004-01-11 16:03:15 (GMT)
commit9cc5ac377415fc2404265c614f9cf76b877fece2 (patch)
tree3067e5d198248d3c8d124f43426bf995a24ffa4f /src/engine/SCons/Node/NodeTests.py
parent58d722532fa83041c28b6ae6836cb731d9ec8e55 (diff)
downloadSCons-9cc5ac377415fc2404265c614f9cf76b877fece2.zip
SCons-9cc5ac377415fc2404265c614f9cf76b877fece2.tar.gz
SCons-9cc5ac377415fc2404265c614f9cf76b877fece2.tar.bz2
Better error handling if someone tries to add a non-Node as a source, dependency or ignored dependency of a Node.
Diffstat (limited to 'src/engine/SCons/Node/NodeTests.py')
-rw-r--r--src/engine/SCons/Node/NodeTests.py86
1 files changed, 54 insertions, 32 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index fa0b6f7..08e4260 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -470,31 +470,39 @@ class NodeTestCase(unittest.TestCase):
assert node.depends == []
zero = SCons.Node.Node()
- try:
- node.add_dependency(zero)
- except TypeError:
- pass
- else:
- assert 0
one = SCons.Node.Node()
two = SCons.Node.Node()
three = SCons.Node.Node()
four = SCons.Node.Node()
+ five = SCons.Node.Node()
+ six = SCons.Node.Node()
+ node.add_dependency(zero)
+ assert node.depends == [zero]
node.add_dependency([one])
- assert node.depends == [one]
+ assert node.depends == [zero, one]
node.add_dependency([two, three])
- assert node.depends == [one, two, three]
+ assert node.depends == [zero, one, two, three]
node.add_dependency([three, four, one])
- assert node.depends == [one, two, three, four]
+ assert node.depends == [zero, one, two, three, four]
- assert zero.get_parents() == []
+ assert zero.get_parents() == [node]
assert one.get_parents() == [node]
assert two.get_parents() == [node]
assert three.get_parents() == [node]
assert four.get_parents() == [node]
+ try:
+ node.add_depends([[five, six]])
+ except:
+ pass
+ else:
+ raise "did not catch expected exception"
+ assert node.depends == [zero, one, two, three, four]
+ assert five.get_parents() == []
+ assert six.get_parents() == []
+
def test_add_source(self):
"""Test adding sources to a Node's list.
@@ -503,31 +511,38 @@ class NodeTestCase(unittest.TestCase):
assert node.sources == []
zero = SCons.Node.Node()
- try:
- node.add_source(zero)
- except TypeError:
- pass
- else:
- assert 0
-
one = SCons.Node.Node()
two = SCons.Node.Node()
three = SCons.Node.Node()
four = SCons.Node.Node()
+ five = SCons.Node.Node()
+ six = SCons.Node.Node()
+ node.add_source(zero)
+ assert node.sources == [zero]
node.add_source([one])
- assert node.sources == [one]
+ assert node.sources == [zero, one]
node.add_source([two, three])
- assert node.sources == [one, two, three]
+ assert node.sources == [zero, one, two, three]
node.add_source([three, four, one])
- assert node.sources == [one, two, three, four]
+ assert node.sources == [zero, one, two, three, four]
- assert zero.get_parents() == []
+ assert zero.get_parents() == [node]
assert one.get_parents() == [node]
assert two.get_parents() == [node]
assert three.get_parents() == [node]
assert four.get_parents() == [node]
+ try:
+ node.add_source([[five, six]])
+ except:
+ pass
+ else:
+ raise "did not catch expected exception"
+ assert node.sources == [zero, one, two, three, four]
+ assert five.get_parents() == []
+ assert six.get_parents() == []
+
def test_add_ignore(self):
"""Test adding files whose dependencies should be ignored.
"""
@@ -535,31 +550,38 @@ class NodeTestCase(unittest.TestCase):
assert node.ignore == []
zero = SCons.Node.Node()
- try:
- node.add_ignore(zero)
- except TypeError:
- pass
- else:
- assert 0
-
one = SCons.Node.Node()
two = SCons.Node.Node()
three = SCons.Node.Node()
four = SCons.Node.Node()
+ five = SCons.Node.Node()
+ six = SCons.Node.Node()
+ node.add_ignore(zero)
+ assert node.ignore == [zero]
node.add_ignore([one])
- assert node.ignore == [one]
+ assert node.ignore == [zero, one]
node.add_ignore([two, three])
- assert node.ignore == [one, two, three]
+ assert node.ignore == [zero, one, two, three]
node.add_ignore([three, four, one])
- assert node.ignore == [one, two, three, four]
+ assert node.ignore == [zero, one, two, three, four]
- assert zero.get_parents() == []
+ assert zero.get_parents() == [node]
assert one.get_parents() == [node]
assert two.get_parents() == [node]
assert three.get_parents() == [node]
assert four.get_parents() == [node]
+ try:
+ node.add_ignore([[five, six]])
+ except:
+ pass
+ else:
+ raise "did not catch expected exception"
+ assert node.ignore == [zero, one, two, three, four]
+ assert five.get_parents() == []
+ assert six.get_parents() == []
+
def test_get_found_includes(self):
"""Test the default get_found_includes() method
"""