FLiT
FLiT copied to clipboard
Incremental Build test does not correctly test executable build
Bug Report
Description
The incremental build test in tst_incremental_build.py
currently relies on make --touch
to test the make system. Due to the PHONY indirection added to fix #333 this no longer works; make --touch
assumes a recipe updates its target directly and thus touches the target, but the separation of recursive calls means executables are built indirectly in recursive make calls, and not directly by the no-op recipe in their rule.
Suggested Fix
Per @mikebentley15, using the existing fake compilers fake_gcc4.py
or fake_clang34.py
should correctly identify when Make generates the file, instead of relying on the make --touch
logic, but will also still allow for efficient testing.
Alternatively (if for some reason this doesn't work) we could call make and inspect modification times directly, or use some method to determine when files are being updated to maintain this test.