Commit Graph
1273 Commits
Author SHA1 Message Date
Adrià 498954ef0e Merge pull request #11375 from veosett/codex/conventions-angle-links
fix(tools): recognize angle-wrapped documentation links
2026-10-28 05:49:59 +01:00
Adrià 7f8f92d0bd Merge pull request #11342 from JJenkx/fix/performance-compare-timed-context-20261026
fix(tools): compare timed traces by requested window
2026-10-28 05:48:54 +01:00
Adrià ee5e24729c Merge pull request #11715 from danielcadev/feat/pad-file-touch-coordinates
feat(pad): inject touch coordinates through command files
2026-10-28 05:41:39 +01:00
Adrià 1829def9bf Merge pull request #11672 from StoneDC/fix/oracle-report-bom
fix(tools): accept UTF-8 BOMs in oracle reports
2026-10-28 04:33:10 +01:00
Adrià 5aadbcfc96 Merge pull request #11670 from StoneDC/fix/web-release-metadata
fix(tools): validate web release metadata before publication
2026-10-28 04:28:04 +01:00
Adrià 86fb985abb Merge pull request #11667 from StoneDC/fix/symbolizer-module-candidates
fix(tools): select matching sampled module candidates
2026-10-28 04:15:40 +01:00
Adrià 3ca715ee15 Merge pull request #11666 from StoneDC/fix/annotate-input-alias
fix(tools): preserve annotation input modules
2026-10-28 04:12:34 +01:00
Adrià a3ac94774e Merge pull request #11622 from BunnyFl/fix/import-audit-lazy-branch-variants
fix(tools): read preprocessor branch combinations lazily in import_audit
2026-10-28 03:39:32 +01:00
Dean 951399570d Merge pull request #10942 from mashingaan/fix/import-audit-bare-filenames
fix(tools): reject bare module filename aliases
2026-10-28 13:04:32 +13:00
Dean 200f40814d Merge pull request #11868 from rooklz/fix/check-compile-save-temps-modes-v2
fix(tools): reject unmodeled save-temps modes in syntax checks
2026-10-28 12:59:01 +13:00
Dean a36e9b2442 Merge pull request #11489 from WhiteAssassins/feat/patch-catalog-metadata
feat(tools): add optional patch catalog metadata
2026-10-28 12:58:25 +13:00
Dean 07ac66dad2 Merge pull request #10995 from MarcZX10/marc/pr-overlap-parallel-pages
perf(tools): fetch pr_overlap pull request pages in parallel and cache base exports
2026-10-28 12:57:23 +13:00
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
Daniel Castrillon 0701378a56 feat(pad): inject touch coordinates through command files 2026-10-27 12:53:57 +01:00
rooklz fe80227fce fix(tools): reject unmodeled save-temps modes in syntax checks 2026-10-27 10:14:45 +00: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