summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/OptionsTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-04-10 06:37:27 (GMT)
committerSteven Knight <knight@baldmt.com>2003-04-10 06:37:27 (GMT)
commit37487bfb58def3b8d05d964ab40fdff8b8ed4b0d (patch)
treeba12cc1001d7ac0445991849a651e858dcc98324 /src/engine/SCons/OptionsTests.py
parent2f8be7360679ad5e0260f4965ea5dd9506c7b033 (diff)
downloadSCons-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.py35
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()