Share-ignore regression coverage and Release test-build stabilization
Summary¶
This CI slice adds regression coverage for the centralized share-ignore policy
and stabilizes the Release emule-tests build against recurring MSVC LTCG
internal compiler errors.
Added Coverage¶
Primary coverage files:
src/other_functions.tests.cppsrc/shared_file_list.tests.cpp
Covered behavior:
- built-in junk-file positives and nearby-name negatives
- additive
shareignore.datrule parsing - exact / prefix / suffix user-rule semantics
- user rules applied to both files and directories
- built-in junk-directory positives and nearby-name negatives
- recursive shared-directory expansion skipping built-in and configured ignored directory names
- existing real structured-storage
thumbs.dbregression retained
Oracle Compatibility¶
The new rule-driven shared-directory recursion test depends on
SharedFileIntakePolicy.h, which is not present in older oracle variants.
To keep live-diff working:
- the include is guarded with
__has_include(...) - the new recursion test compiles only when both
SharedDirectoryOps.handSharedFileIntakePolicy.hare available
Release Build Stabilization¶
The Release emule-tests build was repeatedly failing in MSVC’s optimization
pipeline with internal compiler errors in large test translation units.
The stable fix chosen here is:
- disable
WholeProgramOptimizationfor Release inemule-tests.vcxproj
This affects the test harness only, not the app build, and replaces a growing set of per-file exceptions with one predictable project rule.
Validation¶
Owned validation passed after the change:
python -m emule_workspace build testspython -m emule_workspace test all
Observed parity result:
378passed39skipped0failed
Relationship To Other Items¶
- backs
FEAT-024 - complements
CI-008by covering the new share-ignore policy surface rather than long-path core behavior