diff options
author | Steven Knight <knight@baldmt.com> | 2003-04-10 06:37:27 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-04-10 06:37:27 (GMT) |
commit | 37487bfb58def3b8d05d964ab40fdff8b8ed4b0d (patch) | |
tree | ba12cc1001d7ac0445991849a651e858dcc98324 /src/engine/SCons/OptionsTests.py | |
parent | 2f8be7360679ad5e0260f4965ea5dd9506c7b033 (diff) | |
download | SCons-37487bfb58def3b8d05d964ab40fdff8b8ed4b0d.zip SCons-37487bfb58def3b8d05d964ab40fdff8b8ed4b0d.tar.gz SCons-37487bfb58def3b8d05d964ab40fdff8b8ed4b0d.tar.bz2 |
Options save. (Allen Bierbaum)
Diffstat (limited to 'src/engine/SCons/OptionsTests.py')
-rw-r--r-- | src/engine/SCons/OptionsTests.py | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/engine/SCons/OptionsTests.py b/src/engine/SCons/OptionsTests.py index 3a02eb8..7020787 100644 --- a/src/engine/SCons/OptionsTests.py +++ b/src/engine/SCons/OptionsTests.py @@ -29,6 +29,7 @@ import SCons.Options import sys import string + class Environment: def __init__(self): self.dict = {} @@ -42,8 +43,16 @@ class Environment: return self.dict.has_key(key) -def check(key,value): +def check(key,value, env): assert value == 6 * 9,key + +# Check saved option file by executing and comparing against +# the expected dictionary +def checkSave(file, expected): + gdict = {} + ldict = {} + execfile(file, gdict, ldict) + assert expected == ldict class OptionsTestCase(unittest.TestCase): def test_Add(self): @@ -62,12 +71,13 @@ class OptionsTestCase(unittest.TestCase): assert o.default == None assert o.validater == None assert o.converter == None + assert o.should_save == 0 o = opts.options[1] assert o.key == 'ANSWER' assert o.help == 'THE answer to THE question' assert o.default == "42" - o.validater(o.key, o.converter(o.default)) + o.validater(o.key, o.converter(o.default), {}) def test_Update(self): @@ -132,6 +142,27 @@ class OptionsTestCase(unittest.TestCase): opts.Update(env, {'ANSWER':'42'}) assert env['ANSWER'] == 54 + + def test_Save(self): + + test = TestSCons.TestSCons() + cache_file = test.workpath('cached.options') + opts = SCons.Options.Options() + + # test saving out empty file + opts.Add('OPT_VAL', + 'An option to test', + 21, + None, + None) + + env = Environment() + opts.Update(env, {}) + assert env['OPT_VAL'] == 21 + opts.Save(cache_file, env) + checkSave(cache_file, {}) + + def test_GenerateHelpText(self): opts = SCons.Options.Options() |