Commit Graph
1354 Commits
Author SHA1 Message Date
Cankiee b82bd7a400 fix(tools): preserve code spans and fences when relinking debt 2026-10-25 15:44:31 +01:00
plexerPK a9e6fff227 fix(tools): preserve debt entry identities during conflict resolution 2026-10-25 15:39:51 +01:00
plexerPK 7259cf0a87 fix(tools): shorten stubgen temporary filenames 2026-10-25 15:25:23 +01:00
plexerPK 56265c47b5 fix(tools): recheck architecture-dependent type sizes in configure seeds 2026-10-25 15:24:56 +01:00
Jamie 18ee716d53 fix(tools): strip forwarded dependency flags from syntax checks 2026-10-25 14:18:39 +00:00
plexerPK 08fe233fd4 fix(tools): reject cyclic patch advisor paths per entry 2026-10-25 15:11:07 +01:00
plexerPK b6f33d10cc fix(tools): preserve recorded SELF segment host mapping 2026-10-25 14:42:02 +01:00
Dean e05ba6feeb Merge pull request #10596 from roboterspinne/test/debt-split-in-process
test(tools): run debt_split in process and commit only where tests need it
2026-10-26 02:40:18 +13:00
Dean 89ee8c0270 Merge pull request #10576 from plexerPK/fix/web-release-invalid-zip
fix(tools): report release BadZipFile errors with asset names
2026-10-26 02:32:26 +13:00
MarcZX10 cc69a95ccf test(tools): cover template headings at another level or case
Expect the found heading in the finding for '## What', an indented '### what', '#WHAT' and the existing '#### What' case, and no hint for a different word such as '### Whatever'.
2026-10-25 13:08:23 +00:00
MarcZX10 f32db390de feat(tools): name a template heading written at another level or case
The template check only reads '### Name' headings, so '## What', '#### Tested' or '### checklist' counted as missing, and the finding did not say why. When a section is missing, look for the same name as a heading at any level and in any case, and add it to the finding, as in "add the '### What' heading of the template; found '## What'".
2026-10-25 13:08:23 +00:00
MarcZX10 3772994a61 test(tools): cover missing and empty pull request template sections
Expect 'fill the ### What section' for the untouched template and for sections that are blank or only hold a comment, and 'add the ### What heading of the template' for a heading written at another level. Add a body that names its sections without headings, the shape that failed #10721 at first, and expect one finding per missing heading.
2026-10-25 13:08:23 +00:00
MarcZX10 ed7f5833ab feat(tools): tell a missing pull request template heading from an empty section
The pull request template check reported 'section What is missing or empty' both when the body had no '### What' heading and when the heading was there with nothing under it, without saying which heading it looks for. Report 'add the ### What heading of the template' when the heading is absent and 'fill the ### What section' when it is empty, for What, Tested and Checklist.
2026-10-25 13:08:23 +00:00
SandstromPLandClaude Opus 5.5 0dc254e83f fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
progress.py skips every definition whose name ends in _nid_no_patch or
_nid_no_patch_cut, which are meant to be internal helpers. Some libraries
export such functions with APS5_EXPORT under an explicit NID or name:
libSceAgcVsh (150), libSceNKWebKit (150) and libSceJson2's inventory
(66), all of them calling NotImplemented_nid_no_patch. None of the 366
was counted, so those three libraries showed 151 of 151 functions where
they declare 517, and import_audit, which takes its stub list from the
same scan, reported imports of them as implemented.

A _nid_no_patch definition is now skipped only when no APS5_EXPORT in its
library exports it. The library totals go from 6104 of 12305 to 6104 of
12671 on main.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:37:48 +05:30
MarcZX10 2ca76b589c docs(tools): mention pr_overlap's export cache in its help 2026-10-25 13:06:41 +00:00
MarcZX10 ee9ce6ee77 test(tools): cover pr_overlap's base export cache 2026-10-25 13:06:41 +00:00
MarcZX10 b8ab4b1157 perf(tools): cache pr_overlap's base exports by source blob 2026-10-25 13:06:40 +00:00
MarcZX10 ab7a06e66c test(tools): cover pr_overlap's parallel pull request pages 2026-10-25 13:06:40 +00:00
MarcZX10 b5424e9bde perf(tools): fetch pr_overlap's pull request pages in parallel 2026-10-25 13:06:40 +00:00
MarcZX10 4480d9d427 test(tools): cover pr_overlap's probe and merge progress
With 250 pull requests of which every 25th shares a file with the branch, expect probe lines at 100, 200 and 250 with 4, 8 and 10 related pull requests and one line for merging those 10; without a branch, expect merge lines at 100 and 150 of 150. The tests fail before the previous commit.
2026-10-25 13:06:40 +00:00
MarcZX10 56cff28e40 feat(tools): report pr_overlap's probe and merge progress
After the fetch, a --branch run probed about 1,300 pull requests for about 28 s without output, and --out merged every pull request into the base. Report every 100 pull requests and at the end how many were probed and how many of them share files or exports with the branch, and how many were merged into the base.
2026-10-25 13:06:40 +00:00
MarcZX10 ddd04de0c9 test(tools): cover pr_overlap's pull request count and fetch progress
Check that listing 150 pull requests over two pages reports their number, that fetching 250 heads in three batches reports 99, 199 and 250 of them, and that a run without pull requests still reports one fetch line. The tests fail before the previous commit.
2026-10-25 13:06:40 +00:00
MarcZX10 a2f9601332 feat(tools): report pr_overlap's pull request count and fetch progress
pr_overlap printed nothing until its report, which takes 54 to 81 s on Linux with about 1,300 open pull requests and took minutes on Windows, so a run looked stuck. Write progress lines to stderr: the number of open pull requests once they are listed, and the number of pull request heads fetched after each batch of 100. The report on stdout is unchanged.
2026-10-25 13:06:40 +00:00
David 1456c76806 test(tools): write the branch scan fixtures without Path.write_text(newline=)
Path.write_text takes newline only from Python 3.10, so the three tests errored in the fixture helper on the Python 3.9.6 that macOS ships as /usr/bin/python3. open() with newline writes the same LF bytes on every version.
2026-10-25 13:06:40 +00:00
David 4ebd235d45 test(tools): cover the pr_overlap --branch prefilter
The branch scan gives the same overlaps as a scan of every pull request and merges only the pull requests that share a file or an export with the branch; a scan without a branch still merges all of them.
2026-10-25 13:06:40 +00:00
David 4c8e1d194e fix(tools): merge only the pull requests that share files or exports with the branch in pr_overlap
pr_overlap --branch merged every open pull request against main, although a pull request can only appear in the report when it shares a file or an export with the branch, so on a repository with a thousand open pull requests the check did not finish in an hour. probe lists each pull request's files and exports from git diff base...head, without a merge, and scan_all merges only the ones that overlap the branch; the others get empty sets, which is what they would contribute to the report. --out is unchanged.
2026-10-25 13:06:40 +00:00
JJenkx 7e58aece09 fix(tools): scope report-link cycle tracking to target resolution 2026-10-25 09:01:03 -04:00
JJenkx fda56965b3 fix(tools): follow dangling report links before path resolution 2026-10-25 08:47:54 -04:00
JJenkx 70edff29ed fix(tools): normalize Windows report paths before overlap checks 2026-10-25 08:31:10 -04:00
Jade'sG 2a45d721f6 fix(tools): stabilize overlapping SELF region selection 2026-10-25 19:45:03 +08:00
thepoppfish 464c48b17b fix(tools): require module suffixes for filename aliases 2026-10-25 14:10:33 +03:00
Ahmad Mujahid eee902ac80 ci(build): run the relinker jobs for relinker-only build inputs outside core/relinker
The relinker eligibility list was written on 10-12 and missed inputs added to the relinker-only build since then: the nid sources that relinker_core and two relinker tests compile, the libkernel headers that ParamJsonParser.cpp includes, the pad command file test, the recompiler test targets and cache source tests, and the PR template and pr-overlap.yml that tools tests read. A pull request that changed only these got no automatic build, and a push to main skipped the macOS relinker hosts for them.

The recompiler is listed as a directory because shader_cache_runtime_sources copies all of core/shader/recompiler and hashes every file its CMakeLists globs, so an edit to any of them can change that test.

An edit to the relinker-asan job alone also skipped both relinker jobs, because only edits to the relinker job counted.
2026-10-25 14:58:21 +04:00
MarcZX10 bac8b029eb test(tools): cover the progress report headline for changes below two decimals
Add a positive and a reverted change of +0.001 and -0.001 points, a change below four decimals, and a guard that an unchanged ratio still reads +0.0%.
2026-10-25 10:50:24 +00:00
MarcZX10 c2abba7837 fix(tools): show a headline progress change that rounding would hide
The progress report headline subtracted two percentages that were already rounded to two decimals, so one implemented function among tens of thousands read as +0.0%. When the rounded change is zero but the exact change is not, compute it from the done and total counts with exact fractions and print it with up to four decimals, or +<0.0001 below that. The icon follows the exact sign. Changes that survive the rounding, a zero change in the ratio and the per-library table are unchanged.
2026-10-25 10:50:23 +00:00
Queuze 1948b80df3 test(check-compile): guard forwarded response operands 2026-10-25 07:49:11 -03:00
Adrià FranchandClaude Sonnet 5.5 7b557b5e07 test(tools): pin that the alias scanner receives BOM-free decoded text
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 11:48:44 +01:00
Queuze 225b6072fc fix(check-compile): reject forwarded response operands 2026-10-25 07:47:42 -03:00
emirplus 1c13cf5a99 fix(tools): decode sources with utf-8-sig and reconfigure streams in import_audit
Specify utf-8-sig encoding when reading library source files in
source_stubs so UTF-8 characters are preserved on Windows and leading
BOMs are tolerated.

Reconfigure stdout and stderr streams to UTF-8 with backslashreplace
at the beginning of main, and specify UTF-8 encoding when writing test
fixtures.
2026-10-25 11:47:31 +01:00
Queuze d342a58981 test(check-compile): validate forwarded action integration 2026-10-25 07:41:05 -03:00
Queuze 454eb1f46a fix(check-compile): preserve safe forwarded operands 2026-10-25 07:40:23 -03:00
Queuze c2273c8a7e fix(check-compile): reject forwarded compiler actions 2026-10-25 07:23:12 -03:00
Queuze ac275df723 chore(check-compile): sync with current main 2026-10-25 07:23:12 -03:00
Jade'sG d5635e5728 fix(tools): preserve contained segment alignment when unwrapping SELF 2026-10-25 18:21:54 +08:00
Cankiee e75ee1d1e1 fix(tools): preserve backticks in overlap report paths 2026-10-25 10:51:12 +01:00
hakarrr 52790592bd test(tools): cover main sync with paths named like revisions
Add test to ensure paths named like revisions do not confuse the report output.
2026-10-25 14:01:53 +05:30
hakarrr 73681f165a fix(tools): separate revisions from working-tree paths in check_main_sync 2026-10-25 13:51:07 +05:30
MarcZX10 8a173193c1 fix(tools): validate falsey and nonnumeric trace fields 2026-10-25 07:56:28 +00:00
MarcZX10 1e351c81e0 test(tools): cover malformed trace event fields in trace_digest 2026-10-25 07:56:28 +00:00
MarcZX10 a9ab9a781e fix(tools): reject malformed trace events in trace_digest 2026-10-25 07:56:28 +00:00
Dean b25020248f Merge pull request #10759 from MarcZX10/marc/fix-unwrap-self-unplaceable-segment
fix(tools): refuse unwrap_self segments placed before the file start
2026-10-25 20:41:49 +13:00