diff options
| author | Steven Knight <knight@baldmt.com> | 2004-09-13 22:04:43 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-09-13 22:04:43 (GMT) |
| commit | 33aa5f7b77dd3492eaf981ce4ad9a2c7e1ca15b1 (patch) | |
| tree | 28f89f50eaf0a6154ba942b482c6190347ec6e8d /src | |
| parent | 85a62e89d40cb4b0f53ee13f4758af6251696b2e (diff) | |
| download | SCons-33aa5f7b77dd3492eaf981ce4ad9a2c7e1ca15b1.zip SCons-33aa5f7b77dd3492eaf981ce4ad9a2c7e1ca15b1.tar.gz SCons-33aa5f7b77dd3492eaf981ce4ad9a2c7e1ca15b1.tar.bz2 | |
Fix Action comparison when a Builder has a suffix key of None. (Kevin Quick)
Diffstat (limited to 'src')
| -rw-r--r-- | src/engine/SCons/Action.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/ActionTests.py | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/engine/SCons/Action.py b/src/engine/SCons/Action.py index 2cd23f4..63d8c98 100644 --- a/src/engine/SCons/Action.py +++ b/src/engine/SCons/Action.py @@ -216,7 +216,7 @@ class ActionBase: self.presub = presub def __cmp__(self, other): - return cmp(self.__dict__, other.__dict__) + return cmp(self.__dict__, other) def print_cmd_line(self, s, target, source, env): sys.stdout.write(s + "\n") diff --git a/src/engine/SCons/ActionTests.py b/src/engine/SCons/ActionTests.py index c6201e2..a61571e 100644 --- a/src/engine/SCons/ActionTests.py +++ b/src/engine/SCons/ActionTests.py @@ -1583,6 +1583,27 @@ class ActionCompareTestCase(unittest.TestCase): name = bar.get_name(env) assert name == 'BAR', name + def test_3_dict_names(self): + """Test Action/Suffix dicts with get_name. + + Verifies that Action/Suffix dictionaries work correctly, + especially two builders that can generate the same suffix, + where one of the builders has a suffix dictionary with a None + key.""" + + foo = SCons.Builder.Builder(action = '$FOO', suffix = '.foo') + bar = SCons.Builder.Builder(action = {}, suffix={None:'.bar'}) + bar.add_action('.cow', "$MOO") + dog = SCons.Builder.Builder(suffix = '.bar') + + env = Environment( BUILDERS = {'FOO' : foo, + 'BAR' : bar, + 'DOG' : dog} ) + + assert foo.get_name(env) == 'FOO' + assert bar.get_name(env) == 'BAR' + assert dog.get_name(env) == 'DOG' + if __name__ == "__main__": suite = unittest.TestSuite() |
