diff options
| author | Steven Knight <knight@baldmt.com> | 2004-06-15 12:54:45 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2004-06-15 12:54:45 (GMT) |
| commit | f0bf250b85abbe23faa7eeff0e53beb0613a2c6f (patch) | |
| tree | 96cf9c87582bafacbe731704f4f10fbd8e34d331 /src/engine/SCons/Node/FSTests.py | |
| parent | a0d7c6333aeb9b6f2848ea3c90662f91f7f8ac0e (diff) | |
| download | SCons-f0bf250b85abbe23faa7eeff0e53beb0613a2c6f.zip SCons-f0bf250b85abbe23faa7eeff0e53beb0613a2c6f.tar.gz SCons-f0bf250b85abbe23faa7eeff0e53beb0613a2c6f.tar.bz2 | |
Add an option to not save the --debug=explain information.
Diffstat (limited to 'src/engine/SCons/Node/FSTests.py')
| -rw-r--r-- | src/engine/SCons/Node/FSTests.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/FSTests.py b/src/engine/SCons/Node/FSTests.py index d9ffd83..d4137c1 100644 --- a/src/engine/SCons/Node/FSTests.py +++ b/src/engine/SCons/Node/FSTests.py @@ -1969,6 +1969,55 @@ class SaveStringsTestCase(unittest.TestCase): expect = map(os.path.normpath, ['src/f', 'd1/f', 'd0/b', 'd1/b']) assert s == expect, s +class SaveExplainInfoTestCase(unittest.TestCase): + def runTest(self): + """Test how we store --debug=explain info.""" + test=TestCmd(workdir='') + fs = SCons.Node.FS.FS(test.workpath('fs')) + f = fs.File('file') + + class BInfo: + pass + + bi = BInfo() + bi.bact = 'file bact' + bi.arg1 = 'file arg1' + f.store_info(bi) + + i = f.get_stored_info() + assert i.bact == 'file bact', i.arg1 + assert i.arg1 == 'file arg1', i.arg1 + assert not hasattr(i, 'arg2'), i.bact + assert not hasattr(i, 'arg3'), i.bact + + save_value = SCons.Node.Save_Explain_Info + try: + SCons.Node.Save_Explain_Info = 1 + + bi = BInfo() + bi.arg2 = 'file arg2' + f.store_info(bi) + + i = f.get_stored_info() + assert i.bact == 'file bact', i.arg1 + assert i.arg1 == 'file arg1', i.arg1 + assert i.arg2 == 'file arg2', i.arg2 + assert not hasattr(i, 'arg3'), i.bact + + SCons.Node.Save_Explain_Info = 0 + + bi = BInfo() + bi.arg3 = 'file arg3' + f.store_info(bi) + + i = f.get_stored_info() + assert not hasattr(i, 'bact'), i.bact + assert i.arg1 == 'file arg1', i.arg1 + assert i.arg2 == 'file arg2', i.arg2 + assert i.arg3 == 'file arg3', i.arg2 + finally: + SCons.Node.Save_Explain_Info = save_value + if __name__ == "__main__": @@ -1989,5 +2038,6 @@ if __name__ == "__main__": suite.addTest(postprocessTestCase()) suite.addTest(SpecialAttrTestCase()) suite.addTest(SaveStringsTestCase()) + suite.addTest(SaveExplainInfoTestCase()) if not unittest.TextTestRunner().run(suite).wasSuccessful(): sys.exit(1) |
