diff options
| author | Steven Knight <knight@baldmt.com> | 2004-10-22 18:57:48 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-10-22 18:57:48 (GMT) |
| commit | c7029022abb689e25457a3dc00aced8c1224c389 (patch) | |
| tree | 941fe1971e51cc7abcb9b250a81fa7d53af55d24 /src/engine | |
| parent | 4e9fae436fc971e3cbdb19d2f0517a636bb6648b (diff) | |
| download | SCons-c7029022abb689e25457a3dc00aced8c1224c389.zip SCons-c7029022abb689e25457a3dc00aced8c1224c389.tar.gz SCons-c7029022abb689e25457a3dc00aced8c1224c389.tar.bz2 | |
Support default Options values of None. (Gary Oberbrunner)
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/Options/OptionsTests.py | 16 | ||||
| -rw-r--r-- | src/engine/SCons/Options/__init__.py | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/engine/SCons/Options/OptionsTests.py b/src/engine/SCons/Options/OptionsTests.py index afcb4d3..4248dc3 100644 --- a/src/engine/SCons/Options/OptionsTests.py +++ b/src/engine/SCons/Options/OptionsTests.py @@ -244,7 +244,21 @@ class OptionsTestCase(unittest.TestCase): env = Environment() opts.Update(env, {}) assert not env.has_key('ANSWER') - + + # Test that a default value of None is all right. + test = TestSCons.TestSCons() + file = test.workpath('custom.py') + opts = SCons.Options.Options(file) + + opts.Add('ANSWER', + "This is the answer", + None, + check) + + env = Environment() + opts.Update(env, {}) + assert not env.has_key('ANSWER') + def test_args(self): """Test updating an Environment with arguments overridden""" diff --git a/src/engine/SCons/Options/__init__.py b/src/engine/SCons/Options/__init__.py index 521171c..fdaee92 100644 --- a/src/engine/SCons/Options/__init__.py +++ b/src/engine/SCons/Options/__init__.py @@ -165,7 +165,7 @@ class Options: # Finally validate the values: for option in self.options: - if option.validator: + if option.validator and values.has_key(option.key): option.validator(option.key, env.subst('${%s}'%option.key), env) def Save(self, filename, env): |
