summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Moody <dmoody256@gmail.com>2022-06-15 04:13:12 (GMT)
committerDaniel Moody <dmoody256@gmail.com>2022-06-15 04:13:12 (GMT)
commitdfc8eacbc4e0157aa235b7f6bacf1d956f8ba673 (patch)
tree6fb18cce4950be7c228eddcf0c93b91eddeaa124
parent4692902f97761a349fd0ea119d4c1169cf5919e5 (diff)
downloadSCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.zip
SCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.tar.gz
SCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.tar.bz2
update changes/release notes, and add mtime check to determinism test
-rwxr-xr-xCHANGES.txt6
-rwxr-xr-xRELEASE.txt7
-rw-r--r--test/ninja/ninja_file_deterministic.py5
3 files changed, 13 insertions, 5 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 226102f..28785e1 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -135,8 +135,10 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER
Note that these are called for every build command run by SCons. It could have considerable
performance impact if not used carefully.
to connect to the server during start up.
- - Ninja: added option to skip ninja regeneration if scons can determine the ninja file does
- not need to be regenerated.
+ - Ninja: added option "--skip-ninja-regen" to enable skipping regeneration of the ninja file
+ if scons can determine the ninja file doesnot need to be regenerated, which will also
+ skip restarting the scons daemon. Note this option is could result in incorrect rebuilds
+ if scons Glob or scons generated files are used in ninja build target's command lines.
- Ninja: Added new alias "shutdown-ninja-scons-daemon" to allow ninja to shutdown the daemon.
Also added cleanup to test framework to kill ninja scons daemons and clean ip daemon logs.
NOTE: Test for this requires python psutil module. It will be skipped if not present.
diff --git a/RELEASE.txt b/RELEASE.txt
index 6e0d30d..abecf39 100755
--- a/RELEASE.txt
+++ b/RELEASE.txt
@@ -107,9 +107,10 @@ CHANGED/ENHANCED EXISTING FUNCTIONALITY
require delayed expansion to be enabled which is currently not supported and is
typically not enabled by default on the host system. The batch files may also require
environment variables that are not included by default in the msvc environment.
-- Ninja: added option to skip ninja regeneration if scons can determine the ninja file does
- not need to be regenerated.
-
+- Ninja: added option "--skip-ninja-regen" to enable skipping regeneration of the ninja file
+ if scons can determine the ninja file doesnot need to be regenerated, which will also
+ skip restarting the scons daemon. Note this option is could result in incorrect rebuilds
+ if scons Glob or scons generated files are used in ninja build target's command lines.
FIXES
-----
diff --git a/test/ninja/ninja_file_deterministic.py b/test/ninja/ninja_file_deterministic.py
index 2ac5e1a..ef1abdc 100644
--- a/test/ninja/ninja_file_deterministic.py
+++ b/test/ninja/ninja_file_deterministic.py
@@ -55,6 +55,8 @@ test.must_contain_all(test.stdout(), 'ninja%(_exe)s -f' % locals())
test.must_exist([test.workpath('out1.txt'), test.workpath('out2.txt')])
shutil.copyfile(test.workpath('build.ninja'), test.workpath('build.ninja.orig'))
+ninja_file_mtime = os.path.getmtime(test.workpath('build.ninja'))
+
# generate same build again
test.run(stdout=None)
test.must_contain_all_lines(test.stdout(), ['Generating: build.ninja', 'ninja: no work to do.'])
@@ -62,6 +64,9 @@ test.must_contain_all(test.stdout(), 'Executing:')
test.must_contain_all(test.stdout(), 'ninja%(_exe)s -f' % locals())
test.must_exist([test.workpath('out1.txt'), test.workpath('out2.txt')])
+if os.path.getmtime(test.workpath('build.ninja')) != ninja_file_mtime:
+ test.fail_test()
+
# make sure the ninja file was deterministic
if not filecmp.cmp(test.workpath('build.ninja'), test.workpath('build.ninja.orig')):
test.fail_test()