summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/NodeTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-12-15 03:19:12 (GMT)
committerSteven Knight <knight@baldmt.com>2004-12-15 03:19:12 (GMT)
commit41a6db6e20cd1e326e114e1bdac54df8660ab51c (patch)
tree2f979e277aaa83395d8bdaf7b2bf183e192b30b6 /src/engine/SCons/Node/NodeTests.py
parent7fb6f3fba8fee089062cb3a5159037d80abd55b7 (diff)
downloadSCons-41a6db6e20cd1e326e114e1bdac54df8660ab51c.zip
SCons-41a6db6e20cd1e326e114e1bdac54df8660ab51c.tar.gz
SCons-41a6db6e20cd1e326e114e1bdac54df8660ab51c.tar.bz2
Remove Node scanner storage. (Kevin Quick)
Diffstat (limited to 'src/engine/SCons/Node/NodeTests.py')
-rw-r--r--src/engine/SCons/Node/NodeTests.py39
1 files changed, 27 insertions, 12 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index 7282f80..12224d3 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -117,10 +117,13 @@ class Environment:
self._dict.update(dict)
def get_calculator(self):
return SCons.Sig.default_calc
+ def get_scanner(self, scanner_key):
+ return self._dict['SCANNERS'][0]
class Builder:
- def __init__(self, is_explicit=1):
- self.env = Environment()
+ def __init__(self, env=None, is_explicit=1):
+ if env is None: env = Environment()
+ self.env = env
self.overrides = {}
self.action = MyAction()
self.source_factory = MyNode
@@ -796,8 +799,6 @@ class NodeTestCase(unittest.TestCase):
def test_get_source_scanner(self):
"""Test fetching the source scanner for a Node
"""
- class Builder:
- pass
target = SCons.Node.Node()
source = SCons.Node.Node()
s = target.get_source_scanner(source)
@@ -807,19 +808,34 @@ class NodeTestCase(unittest.TestCase):
ts2 = Scanner()
ts3 = Scanner()
- source.backup_source_scanner = ts1
- s = target.get_source_scanner(source)
+ class Builder1(Builder):
+ def __call__(self, source):
+ r = SCons.Node.Node()
+ r.builder = self
+ return [r]
+ class Builder2(Builder1):
+ def __init__(self, scanner):
+ self.source_scanner = scanner
+
+ builder = Builder2(ts1)
+
+ targets = builder([source])
+ s = targets[0].get_source_scanner(source)
assert s is ts1, s
- target.builder = Builder()
+ target.builder_set(Builder2(ts1))
target.builder.source_scanner = ts2
s = target.get_source_scanner(source)
assert s is ts2, s
- target.source_scanner = ts3
- s = target.get_source_scanner(source)
+ builder = Builder1(env=Environment(SCANNERS = [ts3]))
+
+ targets = builder([source])
+
+ s = targets[0].get_source_scanner(source)
assert s is ts3, s
+
def test_scan(self):
"""Test Scanner functionality
"""
@@ -831,8 +847,7 @@ class NodeTestCase(unittest.TestCase):
d = MyNode("ddd")
node.found_includes = [d]
- assert node.target_scanner == None, node.target_scanner
- node.target_scanner = s
+ node.builder.target_scanner = s
assert node.implicit is None
node.scan()
@@ -866,7 +881,7 @@ class NodeTestCase(unittest.TestCase):
sn = StoredNode("eee")
sn._children = ['fake']
sn.builder_set(Builder())
- sn.target_scanner = s
+ sn.builder.target_scanner = s
sn.scan()