Commit Graph
1354 Commits
Author SHA1 Message Date
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
rooklz 72eb12c5c1 fix(tools): report unreadable --body and --event inputs in check_conventions as usage errors 2026-10-28 03:10:29 +00:00
pushkarreddyy f3a612cd5e fix(tools): reject aliased report output paths in progress_history 2026-10-28 08:35:43 +05:30
pushkarreddyy 5ceaa3c276 test(tools): cover report alias rejection in progress_history 2026-10-28 08:35:38 +05:30
MarcZX10 c753d8193c test(tools): unwrap a SELF whose load segments share one file range
The conversion has to be refused with the output-size message and leave no
output file.
2026-10-28 03:05:36 +00:00
MarcZX10 664e66e12c fix(tools): refuse a SELF whose load segments expand the output far past the container
unwrap_self copies one output region per PT_LOAD and nothing required the
regions to be disjoint in the input. Only the alignment padding was capped, so
200 PT_LOADs that all point at the same 2 MiB of a 2 MiB container produced
400 MiB, and the 65535 program headers the parser accepts could ask for
hundreds of gigabytes, ending in MemoryError or an OOM kill instead of a
Refused message.

The output size is now checked before the buffer is allocated. It may be up to
four times the container, and never less than 256 MiB.
2026-10-28 03:05:36 +00: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
dantdmdarealguy f8ddd30ce1 test(check-compile): keep slow syntax check cases within the CI time limit
test_library_directory_values_can_look_like_modes passed -L -E as mode
flags, so check_modes took the -E for a preprocessing mode and dropped -c.
Its control commands linked an executable with each compiler, which on
the Windows runner goes through link.exe; the case took about twice as
long as its -I -E counterpart and timed out in 6 Windows CI jobs. The
-L -E pair now goes through configure like the include directory case,
so the control only compiles. The command check_compile checks is the
same, since it drops -c.

test_response_options_compile_without_changing_build_outputs ran 30
check_compile invocations in one case. Its six response files are now
checked by three cases of two.
2026-10-27 16:45:03 -05:00
Mohamed Malek Aifa 3ef5fc044b fix(tools): report deeply nested release notes JSON 2026-10-27 21:56:36 +01:00
Mohamed Malek Aifa f25c397e16 fix(tools): report sanitizer summary write failures 2026-10-27 21:44:08 +01:00
Mohamed Malek Aifa eca9bedd37 fix(tools): protect symbolizer module inputs 2026-10-27 21:43:11 +01:00
Mohamed Malek Aifa ddc4aad95a fix(tools): validate CMake file API reply objects 2026-10-27 21:06:17 +01:00
legendary-cookieandClaude Opus 5.5 3a91f8ab8e fix(hw-oracle): read the template and write the assembly source as UTF-8
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:09:58 +08:00
Cankiee 22e89180f6 fix(tools): match phase kind when settling 2026-10-27 18:39:03 +01: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
Cankiee 0fdce2faf4 fix(tools): reject duplicate timeline buttons 2026-10-27 18:22:57 +01:00
JulesB40andClaude Opus 5.5 4743617701 test(tools): skip the configure seed CMake round trip without Ninja
The round trip configures with -G Ninja but only skipped when CMake was
missing, so it errored on hosts without Ninja. Require both, like the
other configure seed project tests.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 18:14:55 +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
pushkarreddyy fc2bda11b1 fix(tools): validate destination command path in pad_timeline 2026-10-27 21:56:40 +05:30
pushkarreddyy 488bd76652 fix(tools): handle missing git executable in check_main_sync 2026-10-27 21:45:18 +05:30
Maxime DEFRANCESandClaude Fable 5.1 cee4a89e34 test(tools): write the debt-length fixture as UTF-8 bytes
Path.write_text(newline=...) needs Python 3.10, and the Python tests run from 3.9. write_bytes writes the LF text unchanged on every version.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-27 16:50:06 +01:00
Maxime DEFRANCESandClaude Fable 5.1 ca88396896 test(tools): write the debt-length fixture with LF line endings
Path.write_text translates "\n" to the platform newline, so on native
Windows Python the committed fixture held CRLF and the checker counted
the carriage return: 1080 characters instead of 1079.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-27 16:04:15 +01:00
Mohamed Malek Aifa 802d506d1a fix(tools): report invalid web archive encoding 2026-10-27 15:27:37 +01:00
pushkarreddyy 953704f6e2 test(tools): skip annotate_module tests when GNU objdump is unavailable 2026-10-27 19:37:46 +05:30
rooklz ec90e82931 fix(tools): refuse TLS layouts the relinkers reject when unwrapping 2026-10-27 13:38:43 +00: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
roboterspinne 34de2385aa test(tools): check the CI gate rule in one repository instead of one subprocess per case
conventions_ci_gate built a git repository and ran check_conventions.py
as a subprocess for each of its 35 checks, and took 40.57 s in the
Windows relinker CI job 122160160306. CONTRIBUTING.md requires every
test to finish in 30 s and to be shrunk when it gets close. The test now
commits each case as its own workflow file in one repository, runs one
real Check.workflows() in process and asserts each file's findings. Two
subprocess runs keep the end-to-end path: the repository's workflows
and one job without a gate.
2026-10-27 14:13:49 +01: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
guglia001 1bdb8388ed test(relinker): add a libFuzzer target for the whole conversion
ANYPS5_BUILD_FUZZERS builds relinker_conversion_fuzzer with AddressSanitizer
and UndefinedBehaviorSanitizer in relinker-only Clang builds on Linux. The
first input byte selects the target system, --to-intel and the unused-filter
level; the rest is the executable passed to Conversion::Convert, the path the
web converter takes. tools/relinker_fuzz_seeds.py writes the relinker test
fixtures as seeds, and CTest runs a short smoke run.
2026-10-27 10:12:35 +01: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
StoneDC 4b102f0603 fix(tools): enforce validation gate test timeout limits 2026-10-27 15:53:42 +08:00
StoneDC 54a8d7c411 fix(tools): report the input mapper listening port 2026-10-27 15:50:18 +08:00
StoneDC b090ce8004 fix(tools): recognize trailing return export definitions 2026-10-27 15:50:17 +08:00
StoneDC baa492dcc9 fix(tools): preserve configure seeds when writing fails 2026-10-27 15:50:13 +08: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