summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2009-01-01 18:36:15 (GMT)
committerSteven Knight <knight@baldmt.com>2009-01-01 18:36:15 (GMT)
commita35f5af91bb55f3f522a92a0927a4567d8bbfafa (patch)
tree60c2f974c9d62f7a9916ca90f9cfb1f0d0c02c9c /src
parent021ed8ef6e5d489aad7a11a707023fb8eb29f204 (diff)
downloadSCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.zip
SCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.tar.gz
SCons-a35f5af91bb55f3f522a92a0927a4567d8bbfafa.tar.bz2
Use a SCons.Util.UniqueList instance for the Executor.sources list
instead of maintaining its uniqueness by hand.
Diffstat (limited to 'src')
-rw-r--r--src/engine/SCons/Executor.py7
-rw-r--r--src/engine/SCons/ExecutorTests.py8
2 files changed, 5 insertions, 10 deletions
diff --git a/src/engine/SCons/Executor.py b/src/engine/SCons/Executor.py
index 6b9ab0f..25db771 100644
--- a/src/engine/SCons/Executor.py
+++ b/src/engine/SCons/Executor.py
@@ -59,8 +59,7 @@ class Executor:
self.env = env
self.overridelist = overridelist
self.targets = targets
- self.sources = sources[:]
- self.sources_need_sorting = False
+ self.sources = SCons.Util.UniqueList(sources[:])
self.builder_kw = builder_kw
self._memo = {}
@@ -156,12 +155,8 @@ class Executor:
for "multi" Builders that can be called repeatedly to build up
a source file list for a given target."""
self.sources.extend(sources)
- self.sources_need_sorting = True
def get_sources(self):
- if self.sources_need_sorting:
- self.sources = SCons.Util.uniquer_hashables(self.sources)
- self.sources_need_sorting = False
return self.sources
def prepare(self):
diff --git a/src/engine/SCons/ExecutorTests.py b/src/engine/SCons/ExecutorTests.py
index 12c80b4..0fd11af 100644
--- a/src/engine/SCons/ExecutorTests.py
+++ b/src/engine/SCons/ExecutorTests.py
@@ -160,12 +160,12 @@ class ExecutorTestCase(unittest.TestCase):
env = MyEnvironment(Y='yyy')
overrides = [{'O':'ob3'}, {'O':'oo3'}]
- x = SCons.Executor.Executor(MyAction(), env, overrides, 't', 's')
+ x = SCons.Executor.Executor(MyAction(), env, overrides, ['t'], ['s'])
be = x.get_build_env()
assert be['O'] == 'oo3', be['O']
assert be['Y'] == 'yyy', be['Y']
overrides = [{'O':'ob3'}]
- x = SCons.Executor.Executor(MyAction(), env, overrides, 't', 's')
+ x = SCons.Executor.Executor(MyAction(), env, overrides, ['t'], ['s'])
be = x.get_build_env()
assert be['O'] == 'ob3', be['O']
assert be['Y'] == 'yyy', be['Y']
@@ -270,9 +270,9 @@ class ExecutorTestCase(unittest.TestCase):
x = SCons.Executor.Executor('b', 'e', 'o', 't', ['s1', 's2'])
assert x.sources == ['s1', 's2'], x.sources
x.add_sources(['s1', 's2'])
- assert x.sources == ['s1', 's2', 's1', 's2'], x.sources
+ assert x.sources == ['s1', 's2'], x.sources
x.add_sources(['s3', 's1', 's4'])
- assert x.sources == ['s1', 's2', 's1', 's2', 's3', 's1', 's4'], x.sources
+ assert x.sources == ['s1', 's2', 's3', 's4'], x.sources
def test_get_sources(self):
"""Test getting sources from an Executor"""