Commit Graph
1354 Commits
Author SHA1 Message Date
MarcZX10 c48bc565ba fix(tools): count a test that ctest could not start as failed
ctest writes a test whose executable is missing, for example because it failed to link, as status="notrun" with <skipped message="Unable to find executable">, the same shape as a test that skipped itself. sanitizer_report counted both as skipped, which hid a test that did not build. A skipped element now means a skip only when its message is a ctest skip status (SKIP_RETURN_CODE=<n> or SKIP_REGULAR_EXPRESSION_MATCHED, as tools/check_skips.py reads it) or when the status is not a failing one; any other not-run test counts as failed. On a local ASan and UBSan run of main this moves atrac9_gradient, whose executable does not link, from the 721 skipped tests to the failed ones.
2026-10-27 06:34:54 +00:00
MarcZX10 1c9757015b test(tools): cover the first sanitizer report of failed tests
Check that the SUMMARY line wins over the ERROR line, that LSan and TSan lines and a UBSan runtime error with its source location are found, that output without a sanitizer line gives nothing, that long lines are shortened, and that the failed test table gains the report column only when a failure has a report.
2026-10-27 06:34:54 +00:00
MarcZX10 59df5f3bb6 feat(tools): quote the first sanitizer report of each failed test
Read the system-out and system-err of each testcase and keep the first sanitizer line: the SUMMARY line of ASan, LSan or TSan, else their ERROR or WARNING line, else a UBSan runtime error line with its source location. When any unexpected failure has one, the failed test table gains a First sanitizer report column, shortened to 200 characters and escaped for Markdown.
2026-10-27 06:34:54 +00:00
MarcZX10 851d4498e1 test(tools): cover known sanitizer failures that pass or did not run
Check that a listed test that passed appears in the passed table with its reason, that a listed test missing from the run appears in the not-run table, that a skipped listed test appears in neither, and that a run whose known failures all still fail has neither table.
2026-10-27 06:34:54 +00:00
MarcZX10 9685e5786e feat(tools): report known sanitizer failures that pass or did not run
List the known failures of the selected sanitizers whose test passed, so a fixed test can leave the list, and those that are not in the run at all, such as a renamed test. Neither affects the exit code.
2026-10-27 06:34:54 +00:00
MarcZX10 b8eab90620 test(tools): cover known sanitizer failures
Check that known failures apply only to the sanitizers they name and that blank lines are skipped, that a listed failure moves to the Known failure table with its reason escaped for Markdown and stops failing the run while an unlisted one still fails it, that --known without --sanitizer is a usage error, and that malformed lines are rejected with exit code 2 and their line number.
2026-10-27 06:34:54 +00:00
MarcZX10 4fa6238a7c feat(tools): accept known sanitizer failures with their reasons
sanitizer_report.py --known reads a text file with one known failure per line: the test name, the comma-separated sanitizers it fails under and the reason. With --sanitizer naming the sanitizers of the build, a failure of a listed test moves to a Known failure table with its reason and no longer fails the run. Blank lines are ignored; a line without a reason, an unknown sanitizer and a duplicate test and sanitizer pair are errors that name the line.
2026-10-27 06:34:53 +00:00
MarcZX10 a2ab196682 test(tools): cover the sanitizer run summary
Check how sanitizer_report classifies passed, failed, skipped, not run and disabled tests, the counts and sorted table of the summary, the exit code for runs with and without failures, the exit code 2 for unreadable or malformed reports, and that --summary appends to an existing file.
2026-10-27 06:34:53 +00:00
MarcZX10 fd42fb30cc feat(tools): summarize the failing tests of a sanitizer run
Add tools/sanitizer_report.py, which reads the JUnit file that ctest --output-junit writes, counts passed, skipped and failed tests, lists the failed ones in a Markdown summary and exits with 1 when any test failed. A test that ctest did not run counts as failed, and a disabled test as skipped.
2026-10-27 06:34:53 +00:00
Dean 31a50b73d6 Merge pull request #11527 from StoneDC/fix/history-report-output-errors
fix(tools): report history output failures as usage errors
2026-10-27 19:04:07 +13:00
Dean 3067e92814 Merge pull request #11526 from StoneDC/fix/nid-download-content
fix(tools): validate downloaded NID data before caching
2026-10-27 19:03:52 +13:00
Dean debf629cfd Merge pull request #11524 from StoneDC/fix/input-mapper-invalid-url
fix(input-mapper): keep serving after malformed request URLs
2026-10-27 19:03:30 +13:00
Dean f30d46345e Merge pull request #11523 from StoneDC/fix/progress-counter-validation
fix(tools): validate library counters before progress comparisons
2026-10-27 19:03:13 +13:00
Dean 6dca6acab4 Merge pull request #11512 from pushkarreddyy/fix/prepare-release-notes-json-shapes
fix(tools): handle unexpected JSON response shapes in prepare_release_notes
2026-10-27 19:01:50 +13:00
Queuze 4564b15ee1 test(tools): restore response output preservation coverage 2026-10-27 13:46:32 +08:00
Dean 985e4e0cb6 Merge pull request #11473 from MarcZX10/marc/fix-windows-prx-name-case
fix(tools): fold Windows PRX suffix case
2026-10-27 18:39:51 +13:00
xXPBSXxandClaude Sonnet 5.5 6d52a852fe test(tools): give the check_stub subprocess more time
check_stub runs check_conventions.py in a temporary repository with a
10 s limit. The slowest tests of this file take 8 to 11 s each on a
Windows 10 machine here, and in a full ctest run the call exceeded the
limit (subprocess.TimeoutExpired after 10 seconds), so
conventions_function_bodies_shard_5 failed although it passes on its
own. The limit is now 120 s, the same as the ctest timeout of the shard.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 06:39:49 +01:00
Dean b182e3c1b7 Merge pull request #11460 from StoneDC/fix/web-release-zip-errors
fix(tools): reject unsupported release ZIP entries cleanly
2026-10-27 18:39:22 +13:00
Dean ad622fc18d Merge pull request #11430 from StoneDC/fix/ctest-quoted-semicolons
fix(tools): preserve quoted CMake semicolon escapes
2026-10-27 18:38:27 +13:00
Dean 2812b2987b Merge pull request #11428 from StoneDC/fix/release-notes-final-body-limit
fix(tools): reject oversized final release note bodies
2026-10-27 18:38:12 +13:00
Dean 6e747a2a3b Merge pull request #11427 from StoneDC/fix/symbolizer-module-read-errors
fix(tools): keep unreadable sampler modules unsymbolized
2026-10-27 18:37:58 +13:00
Dean 1a7ac56d27 Merge pull request #11355 from hakarrr/fix/preserve-sampler-captures
fix(tools): preserve raw captures when symbolizing samples
2026-10-27 18:34:10 +13:00
Dean 2609e1b118 Merge pull request #11234 from hyvvs/fix/stubgen-preserve-known-exports
fix(tools): preserve verified NID names in generated exports
2026-10-27 18:33:23 +13:00
Dean 0413edc005 Merge pull request #11102 from StoneDC/fix/configure-seed-multiline-help
fix(tools): preserve multiline configure check help
2026-10-27 18:32:21 +13:00
Dean 92bfca720e Merge pull request #11072 from JaceTheBlu/fix/tools-git-version
fix(tools): name the git version merge-tree needs in pr_overlap and check_main_sync
2026-10-27 18:31:34 +13:00
Dean ef32005ae1 Merge pull request #11069 from plexerPK/codex/workflow-script-registration
fix(tools): ignore workflow metadata in script registration
2026-10-27 18:31:16 +13:00
Dean 6b5d9adb27 Merge pull request #11043 from plexerPK/codex/job-reference-finite-timeout
fix(tools): reject NaN JobManager reference timeouts
2026-10-27 18:30:30 +13:00
Dean 6988f67406 Merge pull request #10996 from SandstromPL/fix/progress-exported-nid-no-patch
fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
2026-10-27 18:29:57 +13:00
Dean 8a062258e7 Merge pull request #10934 from ahmadmuj/fix/anyps5-relinker-gate-inputs
ci(build): run the relinker jobs for relinker-only build inputs outside core/relinker
2026-10-27 18:29:15 +13:00
Dean ccb899f89b Merge pull request #10926 from Cankiee/fix/debt-inline-code
fix(tools): preserve code spans and fences when relinking debt
2026-10-27 18:28:57 +13:00
Dean b5442a8a5f Merge pull request #10776 from hundoukam/fix/debt-file-entry
fix(tools): place a debt entry by the first core link of its whole entry
2026-10-27 18:28:04 +13:00
Adrià cd9e3f0982 Merge pull request #10519 from shurhundo/fix/check-compile-response-files
fix(check-compile): expand response files before syntax checks
2026-10-27 04:52:09 +01:00
Dean 5782d0fcf3 Merge pull request #10883 from natreal/fix/stubgen-reject-invalid-db-rows
fix(tools): reject malformed NID database rows in stubgen
2026-10-27 16:51:12 +13:00
StoneDC 29e43ebd5b fix(ci): preserve intentional CTest skips 2026-10-27 11:46:00 +08:00
StoneDC 2f52282590 fix(ci): reject tests that were not run before skip exemptions 2026-10-27 11:30:40 +08:00
StoneDC d2577ad3b0 fix(tools): accept UTF-8 BOMs in oracle reports 2026-10-27 09:59:22 +08:00
StoneDC f82d22aacb fix(tools): validate web release metadata before publication 2026-10-27 09:59:18 +08:00
StoneDC d7744129b2 fix(tools): validate trace interval summary fields 2026-10-27 09:59:16 +08:00
StoneDC dcb1013c48 fix(tools): reject dangling test graph targets 2026-10-27 09:59:14 +08:00
StoneDC 3a1f390b31 fix(tools): select matching sampled module candidates 2026-10-27 09:59:12 +08:00
StoneDC 051d00589c fix(tools): preserve annotation input modules 2026-10-27 09:59:11 +08:00
Dean e2d457be34 Merge pull request #11312 from xXPBSXx/carry/6531-pad-input
fix(tools): normalize pad input output encoding and validate target path
2026-10-27 14:07:02 +13:00
Dean c610af2957 Merge pull request #11275 from malekaifa/fix/oracle-hip-output-alias
fix(hw-oracle): protect HIP inputs from output aliases
2026-10-27 14:06:32 +13:00
Dean 59872bbfc4 Merge pull request #11015 from plexerPK/fix/advisor-symlink-loop
fix(tools): reject cyclic patch advisor paths per entry
2026-10-27 14:05:19 +13:00
Dean ade24e2f19 Merge pull request #10931 from MarcZX10/marc/fix-progress-small-delta
fix(tools): show a headline progress change that rounding would hide
2026-10-27 14:04:38 +13:00
BunnyFlandClaude Opus 5.5 3d2aebfa03 fix(tools): keep nested preprocessor branches lazy in import_audit
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 01:12:56 +01:00
WhiteAssassins 5c9af08324 feat(tools): add optional patch catalog metadata 2026-10-26 19:01:46 -04:00
BunnyFlandClaude Opus 5.5 94d991e03a fix(tools): read preprocessor branch combinations lazily in import_audit
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 23:46:50 +01:00
hyvvs 3e008e91cf fix(tools): ignore non-code punctuation in environment reads 2026-10-26 23:06:14 +01:00
hyvvs 927206f854 fix(tools): classify environment reads by statement 2026-10-26 23:05:55 +01:00