summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2019-01-30 21:32:38 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2019-02-02 18:22:08 (GMT)
commit15d275627e2a6ee154396e2768cb77aa82a7dd04 (patch)
treea12811bdf6203693fa66057c35b45c06e00a691b /test
parent1e173918f5856ef0f45d291fa75c42bb4b0f51b9 (diff)
downloadSCons-15d275627e2a6ee154396e2768cb77aa82a7dd04.zip
SCons-15d275627e2a6ee154396e2768cb77aa82a7dd04.tar.gz
SCons-15d275627e2a6ee154396e2768cb77aa82a7dd04.tar.bz2
Add test to check for configure calling configured decider not handling DeciderNeedsNode exception which can be thrown by MD5-Timestamp decider logic
Diffstat (limited to 'test')
-rw-r--r--test/Configure/option--config.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Configure/option--config.py b/test/Configure/option--config.py
index 1f40a80..09430d2 100644
--- a/test/Configure/option--config.py
+++ b/test/Configure/option--config.py
@@ -122,6 +122,25 @@ test.checkLogAndStdout( ["Checking for C header file non_system_header0.h... ",
[((".c", CR), (_obj, NCR))]],
"config.log", ".sconf_temp", "SConstruct")
+
+# Check the combination of --config=force and Decider('MD5-timestamp')
+# On second run there was an issue where the decider would throw DeciderNeedsNode
+# exception which the configure code didn't handle.
+SConstruct_path = test.workpath('SConstruct')
+test.write(SConstruct_path, """
+env = Environment()
+env.Decider('MD5-timestamp')
+conf = Configure(env)
+conf.TryLink('int main(){return 0;}','.c')
+env = conf.Finish()
+""")
+test.run(arguments='--config=force')
+# On second run the sconsign is loaded and decider doesn't just indicate need to rebuild
+test.run(arguments='--config=force')
+test.must_not_contain(test.workpath('config.log'),"TypeError: 'NoneType' object is not callable")
+
+
+
test.pass_test()
# Local Variables: