Commit Graph
1234 Commits
Author SHA1 Message Date
Adrià 228cd64b53 Merge pull request #11228 from ebosido444-ai/fix/web-failure-report
fix(web): keep the failure report with a failed conversion
2026-10-27 18:36:03 +01:00
Dean bbb11b6974 Merge pull request #11062 from MarcZX10/marc/ci-nightly-sanitizers
ci: run every test under ASan and UBSan nightly
2026-10-28 05:58:34 +13:00
Dean 519c898745 Merge pull request #10667 from roboterspinne/test/patch-advisor-quoted-paths
test(tools): compare quoted and resolved paths in the patch advisor test
2026-10-28 05:55:17 +13:00
Dean 625c94f696 Merge pull request #10761 from MarcZX10/marc/fix-trace-digest-event-fields
fix(tools): reject malformed trace events in trace_digest
2026-10-28 02:33:51 +13:00
Dean 717d862fa7 Merge pull request #10592 from Bram910/fix/performance-summary-nesting
fix(tools): report excessive summary JSON nesting
2026-10-28 02:33:07 +13:00
Dean f60e7d052b Merge pull request #10580 from Bram910/fix/unwrap-elf-versions
fix(tools): reject unsupported inner ELF versions
2026-10-28 02:32:34 +13:00
Dean a636927e5f Merge pull request #8161 from Celegans12/feat/tools-ab-split
feat(tools): split the periodic reports of an APS5_AB run by phase
2026-10-27 21:34:47 +13:00
Dean f52d0373ea Merge pull request #11486 from plexerPK/codex/test-selection-git-paths
fix(ci): preserve changed paths in test selection
2026-10-27 21:27:02 +13:00
Dean 808a557ac3 Merge pull request #11343 from MarcZX10/marc/ci-mingw-host-only-tests
ci(windows): link host-only tests on pull requests
2026-10-27 21:23:20 +13:00
ebosido444-ai 638d81581c test(web): ship failure-report.mjs with the web release
The module is imported by app.mjs, so the release archive and its fixture have to carry it; the packaging test listed it as missing.
2026-10-27 07:52:34 +01:00
ebosido444-ai 6252b18b81 fix(web): keep the failure report with a failed conversion
A failed inspect or conversion hid the progress panel that held the
conversion log, cleared the selected archives and showed a single line,
so the only evidence of the failure was gone and a multi-GB input had to
be picked again. Compose the message with the phase, the current input,
the target, the libraries tag and the last 150 log lines, and show it in
the error box under "Failure details" so it can be copied into a report.

The report is a pure function in failure-report.mjs and is covered by
node tests.
2026-10-27 07:52:34 +01:00
MarcZX10 03ed97c6fb test(tools): cover a sanitizer report without tests
Check that an empty testsuite and an empty testsuites file both exit with 2, print nothing and leave the --summary file untouched. The test fails with the previous behavior, which reported 0 tests and exit code 0.
2026-10-27 06:35:01 +00:00
MarcZX10 e6194c7f4b fix(tools): reject a sanitizer report without tests
A JUnit file without testcases, as ctest writes when it finds no tests in a build directory, gave '0 tests' and exit code 0, so a run that built nothing passed. Treat it as an unreadable report, with exit code 2.
2026-10-27 06:35:01 +00:00
MarcZX10 fae208569a test(tools): check the repository's known sanitizer failures
Parse .github/sanitizer-known-failures.txt for every sanitizer and check that its entries stay sorted by test name, so a malformed or misplaced entry fails the sanitizer_report test in the regular build of the pull request that adds it, instead of the next nightly run. Names that no longer match a test are reported by the nightly summary, since many test names are generated in CMake loops.
2026-10-27 06:34:54 +00:00
MarcZX10 f533409117 test(tools): cover ctest's not-run tests in the sanitizer summary
Use the shapes ctest writes: a not-run test with SKIP_RETURN_CODE=77 or SKIP_REGULAR_EXPRESSION_MATCHED is a skip, while a not-run test whose executable is missing ('Unable to find executable') or whose skipped element has no message is a failure that fails the run. The test fails with the previous classification.
2026-10-27 06:34:54 +00:00
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
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
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
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