Fix integration test log collection to use explicit allowlist#33817
Fix integration test log collection to use explicit allowlist#33817
Conversation
Replaced broad *.txt pattern with specific useful files: - *.log, *.binlog (core logs) - acw-map.txt (Android Callable Wrapper mapping) - custom-linker-options*.txt (trimmer/linker config) - aot-compiler-path*.txt (AOT compiler paths) - customview-map.txt (Android custom view mappings) This reduces artifact collection from ~232 files to ~10 files by excluding build artifacts like R.txt, LICENSE.txt, proguard.txt, etc.
There was a problem hiding this comment.
Pull request overview
This PR optimizes integration test artifact collection by replacing an overly broad *.txt pattern with an explicit allowlist of debugging-useful files. The change reduces collected files from ~232 to ~10 by filtering out Android build artifacts that have no debugging value (R.txt, public.txt, LICENSE.txt, proguard.txt, baseline-prof.txt).
Changes:
- Modified
CopyLogsToPublishDirectorymethod to use explicit allowlist instead of wildcard*.txtpattern - Retained critical debugging files:
*.log,*.binlog,acw-map.txt,custom-linker-options*.txt,aot-compiler-path*.txt,customview-map.txt
| var logPatterns = new[] { | ||
| "*.log", | ||
| "*.binlog", | ||
| "acw-map.txt", | ||
| "custom-linker-options*.txt", | ||
| "aot-compiler-path*.txt", | ||
| "customview-map.txt" | ||
| }; |
There was a problem hiding this comment.
The PR description claims validation by AI models including "GPT-5.2", "Claude Opus 4.5", "Gemini 3 Pro", "GPT-5.1-Codex", and "Claude Sonnet 4". However, as of January 2025, these model versions don't exist. The latest known versions are GPT-4, Claude 3.5 Sonnet/Opus, and Gemini 1.5/2.0. This appears to be fabricated validation evidence. Remove this unverifiable claim from the PR description.
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Description
The
CopyLogsToPublishDirectorymethod inBaseBuildTest.cswas using*.txtas a log pattern, which recursively collected ~232 txt files from build output including useless files:R.txt(59 files) - Android resource IDspublic.txt(50 files) - Android public resourcesLICENSE.txt(46 files) - NuGet package licensesproguard.txt(34 files) - ProGuard rulesbaseline-prof.txt(14 files) - AndroidX baseline profilesChanges
Replaced the broad
*.txtpattern with an explicit allowlist of useful files:*.log,*.binlog- Core log files (critical for debugging)acw-map.txt- Android Callable Wrapper mappingcustom-linker-options*.txt- Trimmer/linker configurationaot-compiler-path*.txt- AOT compiler pathscustomview-map.txt- Android custom view mappingsThis reduces artifact collection from ~232 files to ~10 files while retaining all debugging-useful information.
Validation
Consulted 5 AI models (GPT-5.2, Claude Opus 4.5, Gemini 3 Pro, GPT-5.1-Codex, Claude Sonnet 4) for consensus - all agreed with the explicit allowlist approach.