Commit Graph

145 Commits

Author SHA1 Message Date
MarcZX100 05504bb05e fix(tools): retain literals when classifying inert returns 2026-10-11 11:44:32 +00:00
Leandro Soares 90a82da283 feat(tools): mark behaviourally empty bodies in the progress report
Cherry-picked from commit f1be92e95c02be451971fc1a8eec139e738e936d.
2026-10-11 11:44:28 +00:00
Adrià 2e40ade881
Merge pull request #3402 from GalaxyGamingFR/fix/conventions-system-dependency-spelling
fix(conventions): match ordinary CMake spellings of system lookups
2026-10-11 12:39:31 +02:00
Adrià 02030f8a62
Merge pull request #3427 from AchrafReyani/fix/pr-overlap-fetch-head-sha
fix(tools): fetch each open pull request by the head commit the API reports
2026-10-11 12:35:24 +02:00
GalaxyGamingFR 0e7ccce2ec fix(conventions): match ordinary CMake spellings of system lookups
The system-dependency rule was case-sensitive, so FIND_PACKAGE(SDL2) passed,
and its trailing word boundary failed when whitespace followed the opening
parenthesis. find_path, find_program and find_file were not covered at all.
The pattern is now case-insensitive, anchors each command name, and covers
the find_* family.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:21:30 +02:00
Adrià dcca02896e
Merge pull request #3406 from GalaxyGamingFR/fix/stubgen-debt-links
fix(tools): make stubgen TechnicalDebt links resolve from docs/dev
2026-10-11 12:20:37 +02:00
Adrià 68ae2a895d
Merge pull request #3386 from GalaxyGamingFR/fix/conventions-path-with-spaces
fix(conventions): keep per-line rules for file names with spaces
2026-10-11 12:19:02 +02:00
Adrià f0c6cf27b2
Merge pull request #3408 from GalaxyGamingFR/fix/pr-overlap-template-placeholder
fix(tools): read Depends on through the template placeholder in pr_overlap
2026-10-11 12:13:59 +02:00
Achraf Reyani 2b234efff3 fix(tools): fetch each open pull request by the head commit the API reports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:13:35 +09:00
Adrià b42b29128b
Merge pull request #3407 from GalaxyGamingFR/fix/import-audit-per-library-stubs
fix(tools): classify import_audit stubs per providing library
2026-10-11 12:09:27 +02:00
Adrià Franch 68f60cf348 fix(conventions): spell the stripped tab as an escape 2026-10-11 12:07:35 +02:00
GalaxyGamingFR 3a1deb48a8 fix(conventions): strip trailing tab from spaced diff paths
Git appends a tab after file names containing spaces in the +++ header, so the
added-lines key kept the tab and its suffix no longer matched. Comment,
extension, title and silent-stub rules then skipped such files. The tab is
now stripped, with a test covering core/a b.cpp.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:07:34 +02:00
Adrià cdef5b7fce
Merge pull request #3405 from GalaxyGamingFR/fix/pr-overlap-encoding
fix(tools): decode pr_overlap git output with errors=replace
2026-10-11 12:05:54 +02:00
Adrià Franch 52a5b4869a fix(tools): drop unused depends lookup in open_prs 2026-10-11 12:01:08 +02:00
GalaxyGamingFR 26e0b30df3 fix(tools): ignore PR template placeholder when reading dependencies
The PR template's untouched "Depends on: <!-- #PR, or none -->" line
matched the checklist regex, so prose such as "Depends on #1400" was never
consulted and the declared dependency was lost. HTML comments are now
stripped and the prose form is used when the checklist line is blank. An
explicit "Depends on: none" still takes precedence.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:01:08 +02:00
Adrià 8ec0e13109
Merge pull request #3404 from GalaxyGamingFR/fix/conventions-checklist-bullets
fix(conventions): count * and + checklist bullets as unchecked
2026-10-11 11:59:14 +02:00
GalaxyGamingFR efbf36f637 fix(tools): make stubgen debt links resolve from docs/dev
stubgen emitted TechnicalDebt links as repo-relative paths, but
TechnicalDebt.md lives in docs/dev and the conventions checker resolves
links relative to it, so pasted lines failed CI. The derived default path
now carries a ../../ prefix; an explicit --td-path is used as given.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 11:58:25 +02:00
Adrià 5c4bc7d607
Merge pull request #3390 from GalaxyGamingFR/fix/check-skips-device-messages
fix(ci): recognise every device-limitation skip message in check_skips
2026-10-11 11:51:46 +02:00
GalaxyGamingFR 50c288810e fix(tools): key import audit stubs by library
source_stubs pooled done NIDs across all libraries, so a throwing stub
in libSceShare.native counted as implemented when libSceShare had the
same function. Stubs are now keyed by (library.prx, nid) and audit marks
an import stub only when every provider of it is a stub.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:42:36 -07:00
GalaxyGamingFR 15f34d3043 fix(tools): decode pr_overlap git output with errors=replace
One PR diff containing a byte that is not valid UTF-8 made git() and
merge() raise, which aborted the hourly run and dropped the overlap
comment on every PR. Both subprocess calls now pass errors="replace",
matching check_conventions.py. A test commits a Latin-1 byte and checks
the export is still found.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:42:08 -07:00
GalaxyGamingFR 2f1b4aaf97 fix(conventions): count * and + checklist bullets as unchecked
The pull request check only matched unchecked items written with a dash,
so a checklist rewritten with * or + bullets passed with every box empty.
GitHub renders all three bullet styles as task items. The pattern now
accepts any of them, and new tests cover each bullet style.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:41:54 -07:00
Adrià 66d577d428
Merge pull request #3378 from GalaxyGamingFR/fix/conventions-quoted-paths
fix(conventions): read non-ASCII paths unquoted from git
2026-10-11 11:37:57 +02:00
Adrià f4b7151097
Merge pull request #2510 from Edd016/fix/hw-oracle-mingw-lld
fix(hw-oracle): select the AMDGPU ELF emulation when linking kernels
2026-10-11 11:33:58 +02:00
GalaxyGamingFR 73b4bdb600 fix(tools): accept more device limitation skips in check_skips
The Linux skip check only recognised subgroup, "the device has no",
"the device reports" and "no display", so tests that skip with
"the device lacks ...", "does not import", "imports no", "flushes",
"binds fewer", "no usable Vulkan device" or "host imports are
unavailable" failed the job. The regex now covers those messages, and
unrelated reasons such as "flaky" still fail. A unit test covers the
messages and an end-to-end run.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:33:31 -07:00
GalaxyGamingFR 8365766e93 fix(conventions): read non-ASCII paths unquoted from git
With git's default core.quotePath=true, paths with non-ASCII characters
were printed quoted and octal-escaped. The checker stored the quoted
string as the path and then failed in git show with a traceback. git()
now passes core.quotePath=false so raw UTF-8 paths are used. A test
covers a diff containing a non-ASCII file name.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:32:41 -07:00
TibixDev 3a35841aad feat(pad): accept timed controller pulses from a local command file
Add an optional input helper for test runs without desktop input injection. Preserve physical input and release injected buttons automatically.

Validation: guest_pad tests and Python helper CLI smoke checks passed. Written with AI assistance.
2026-10-11 10:54:18 +02:00
Adrià 85c7cf9b02
Merge pull request #3343 from AchrafReyani/carry/progress-literal-braces
fix(progress): ignore braces in literals and comments when scanning bodies
2026-10-11 10:50:56 +02:00
Adrià 407b5324de
Merge pull request #2373 from 011010/ci/conventions-systemdeps-exemption
ci(conventions): exempt cmake/SystemDeps.cmake from the system-dependency rule
2026-10-11 10:26:03 +02:00
Achraf Reyani ef94a36b90 fix(progress): blank literals and comments in one pass
An apostrophe in a block comment paired with a later character literal on
the same line when literals were blanked before comments, exposing a brace
and ending the body early.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 17:17:40 +09:00
GalaxyGamingFR f3216874c5 fix(progress): ignore braces in literals and comments when scanning bodies
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-11 17:16:25 +09:00
Blazing Cook 271e31a5a3 fix(conventions): restrict silent stub exemptions to their section 2026-10-11 16:45:35 +09:00
Adrià 8accbdaee0
Merge pull request #3287 from AchrafReyani/carry/conventions-comment-apostrophes
fix(tools): keep apostrophes in comments from opening character literals
2026-10-11 09:26:31 +02:00
Achraf Reyani dd9c78aa1b fix(tools): stop collecting NIDs at abbreviated options and --nid=
Resolve each argument after --nid against the parser's option strings the
way argparse does, so --nid=B, abbreviations such as --j and --d=, and the
-- marker end the NID list instead of being taken as NIDs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:24:35 +09:00
GalaxyGamingFR 3dbcc5f1c7 fix(tools): keep apostrophes in comments from opening character literals
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-10 21:21:07 -07:00
Achraf Reyani 7f9ca519b4 fix(tools): accept NIDs starting with a dash in nid_names --nid
NIDs use the base64 alphabet with '-', so some start with a dash, such as
-nvxBWa0iDs (gethostname). argparse read such a value after --nid as an
option and nid_names.py stopped with "unrecognized arguments". Every
value after --nid up to the next option of the tool is now passed as
--nid=<value>, and --nid collects them with append.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:40:04 +09:00
Adrià cf70000356
Merge pull request #2979 from MarcZX100/fix/progress-nonvoid-stub-wrappers
fix(tools): detect non-void stub wrappers
2026-10-11 01:41:43 +02:00
Dean 56fb1b3b95
Merge pull request #2923 from MarcZX100/fix/hw-oracle-wave64-batch
fix(hw-oracle): batch wave64 probes into 512-row dispatches
2026-10-11 09:16:41 +13:00
MarcZX100 02941b8e3f fix(tools): detect non-void stub wrappers 2026-10-10 19:24:18 +00:00
MarcZX100 70d4903158 fix(hw-oracle): batch wave64 probes into 512-row dispatches 2026-10-10 18:28:46 +00:00
jweidenh 5fcac960e8 fix(tools): honor dependency declarations without a colon 2026-10-10 14:13:04 -04:00
Привалов Александр Владимирович e419096bff fix(tools): ignore test names when checking executable registration 2026-10-10 09:54:44 +02:00
Adrià Franch 507f5707dc fix(progress): link include-shared libraries and label empty ones
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-10 08:49:58 +02:00
Dean 25ca708723
Merge pull request #2134 from MarcZX100/codex/fix-pr-overlap-utf8-output
fix(tools): write overlap reports as UTF-8
2026-10-10 18:36:41 +13:00
Dean Galvin d1bf5c73de fix(tools): drop agc_driver_recorder_tests from KNOWN_UNRUN
#1331 registered the agc_pipeline_cache ctest, which runs
agc_driver_recorder_tests, without removing that executable from
KNOWN_UNRUN, so check_test_registration fails on main:
'agc_driver_recorder_tests is run by ctest now; remove it from KNOWN_UNRUN'.
The list is empty now; keep it a set for the set operations below.
2026-10-10 15:13:05 +13:00
Adrià dcfd4f658f
Merge pull request #1328 from darhebkf/codex/fix-nid-cache-download
fix(tools): publish NID database cache after download completes
2026-10-10 03:00:27 +02:00
Adrià Franch 94a1d0b20a fix(ci): accept no-display skips in the Windows job too
The Windows runner has no Vulkan driver, so the VideoOut window tests skip there for the same reason; check_skips.py
only accepted agc* skips in that job.
2026-10-10 02:38:24 +02:00
Adrià Franch df270d59eb fix(ci): skip the VideoOut window tests without a display, as check_skips expects
Main's Linux job fails since #1028 and #1714: guest_video_out_resolution_status aborts when SDL's offscreen
driver has no Vulkan window, and check_skips.py rejects the skips of guest_video_out_wqhd_detection and the
flip tests because "no display" is not among the device limitations it accepts.

The resolution status test now skips with code 77 like its wqhd sibling, the flip tests print the same skip
reason, and check_skips.py accepts "no display" as a device limitation. ANYPS5_REQUIRE_DISPLAY still turns
the skip into a failure.
2026-10-10 02:20:49 +02:00
ed a83bfa6813 fix(hw-oracle): select the AMDGPU ELF emulation when linking kernels
LLD built for a MinGW host runs the COFF linker when ld.lld gets no -m option,
so it rejects the AMDGPU object with "unknown file type" and the
hardware_oracle test fails on Windows with WinLibs LLVM in PATH. Passing
-m elf64_amdgpu selects the ELF linker on every host.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 17:09:53 -07:00
Adrià 58706dc2d9
Merge pull request #1225 from Pedroj-64/fix/video-out-present-shutdown-failure
fix(videoout): report GPU driver shutdown failure from the present thread at Shutdown
2026-10-10 01:10:19 +02:00
darhebkf d440111bee fix(tools): publish NID database cache after download completes 2026-10-10 01:04:19 +02:00