From 567c32add14cc14d146f3732c7cab4b5dcdc8f9f Mon Sep 17 00:00:00 2001 From: William Deegan Date: Fri, 14 Jul 2023 17:19:26 -0700 Subject: Updates to PR 4374 from mwichmann to correct config file hash changes --- test/Configure/ConfigureDryRunError.py | 36 +++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/test/Configure/ConfigureDryRunError.py b/test/Configure/ConfigureDryRunError.py index 224154b..ae3b2ff 100644 --- a/test/Configure/ConfigureDryRunError.py +++ b/test/Configure/ConfigureDryRunError.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # -# __COPYRIGHT__ +# MIT License +# +# Copyright The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,12 +23,11 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + """ Verify the ConfigureDryRunError. """ -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - import os import TestSCons @@ -47,37 +48,44 @@ CF = test.CF # cached build failure SConstruct_path = test.workpath('SConstruct') test.write(SConstruct_path, """ -env = Environment() + import os +DefaultEnvironment(tools=[]) + +env = Environment() env.AppendENVPath('PATH', os.environ['PATH']) conf = Configure(env) -r1 = conf.CheckLib('%s') # will pass -r2 = conf.CheckLib('hopefullynolib') # will fail +r1 = conf.CheckLib('%s') # will pass +r2 = conf.CheckLib('hopefullynolib') # will fail env = conf.Finish() if not (r1 and not r2): - Exit(1) + Exit(1) """ % lib) expect = """ scons: *** Cannot create configure directory ".sconf_temp" within a dry-run. -""" + test.python_file_line(SConstruct_path, 5) +""" + test.python_file_line(SConstruct_path, 8) test.run(arguments='-n', status=2, stderr=expect) test.must_not_exist('config.log') test.subdir('.sconf_temp') -# depending on which default hash function we're using, we'd expect one of the following filenames. -# The filenames are generated by the conftest changes in #3543 : https://github.com/SCons/scons/pull/3543/files +# depending on which default hash function we're using, we'd expect one +# of the following filenames. The filenames are generated by the conftest +# changes in #3543 : https://github.com/SCons/scons/pull/3543 +# Note if the code generated for CheckLib(Configure_lib) changes, we need +# to recompute the hashes of the generated file - even though it won't +# even be built for this test. possible_filenames = { - 'md5': "conftest_df286a1d2f67e69d030b4eff75ca7e12_0.c", - 'sha1': "conftest_6e784ac3248d146c68396335df2f9428d78c1d24_0.c", - 'sha256': "conftest_be4b3c1d600e20dfc3e8d98748cd8193c850331643466d800ef8a4229a5be410_0.c" + 'md5': 'conftest_e492448966d6e04631c094ba6d6e8a32_0.c', + 'sha1': 'conftest_f0a9e7fe48f48687797dbafb5d07071d35f86dd2_0.c', + 'sha256': 'conftest_e856bf0bdb229b16823f193eee68254b885340d0b2f0277ff2eaca78aa0ba7aa_0.c', } test_filename = possible_filenames[get_current_hash_algorithm_used()] conftest_0_c = os.path.join(".sconf_temp", test_filename) -SConstruct_file_line = test.python_file_line(SConstruct_path, 6)[:-1] +SConstruct_file_line = test.python_file_line(SConstruct_path, 9)[:-1] expect = """ scons: *** Cannot update configure test "%(conftest_0_c)s" within a dry-run. -- cgit v0.12