diff options
author | Daniel Moody <dmoody256@gmail.com> | 2022-06-15 04:13:12 (GMT) |
---|---|---|
committer | Daniel Moody <dmoody256@gmail.com> | 2022-06-15 04:13:12 (GMT) |
commit | dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673 (patch) | |
tree | 6fb18cce4950be7c228eddcf0c93b91eddeaa124 | |
parent | 4692902f97761a349fd0ea119d4c1169cf5919e5 (diff) | |
download | SCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.zip SCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.tar.gz SCons-dfc8eacbc4e0157aa235b7f6bacf1d956f8ba673.tar.bz2 |
update changes/release notes, and add mtime check to determinism test
-rwxr-xr-x | CHANGES.txt | 6 | ||||
-rwxr-xr-x | RELEASE.txt | 7 | ||||
-rw-r--r-- | test/ninja/ninja_file_deterministic.py | 5 |
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() |