Commit Graph
41 Commits
Author SHA1 Message Date
xXPBSXxandClaude Sonnet 5.5 6d52a852fe test(tools): give the check_stub subprocess more time
check_stub runs check_conventions.py in a temporary repository with a
10 s limit. The slowest tests of this file take 8 to 11 s each on a
Windows 10 machine here, and in a full ctest run the call exceeded the
limit (subprocess.TimeoutExpired after 10 seconds), so
conventions_function_bodies_shard_5 failed although it passes on its
own. The limit is now 120 s, the same as the ctest timeout of the shard.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-27 06:39:49 +01:00
hundoukamandClaude Fable 5.1 147ae14830 fix(tools): place a debt entry by the first core link of its whole entry
The debt-file rule read only the first line of an added entry, so an
entry whose first core/ link sat on an indented continuation line was
rejected in docs/dev/debt/<name>.md and accepted in the index, the
opposite of what debt_split.py does with the same entry. The rule now
joins the continuation lines as debt_split.parse does before naming
the file.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-24 17:58:17 -06:00
fma-rc e5dc85e483 test(tools): find a C export shadowing a spaced or split assembly export 2026-10-22 00:44:34 +02:00
MarcZX10 5c3556a0b9 test(tools): find a duplicate export among more than 32K characters of export names 2026-10-22 00:28:31 +02:00
fma-rc 3b5a99c20f fix(tools): count assembly exports in the duplicate-export check 2026-10-22 00:28:31 +02:00
boykopovar 68aeef249a fix(tools): scan committed sources for duplicate exports 2026-10-21 21:56:08 +03:00
boykopovar a24a5524b0 fix(tools): pass duplicate export patterns through stdin 2026-10-21 21:50:38 +03:00
Adrià 8e3d8b9bd8 Merge pull request #6723 from Tripchipp/fix/debt-file-unlinked-entries
fix(tools): keep debt entries without a core link in the index
2026-10-19 12:09:51 +02:00
Dean f663e565fe Merge pull request #7329 from oneandonlydean/fix/conventions-shader-comment-fixture
test(tools): check shader comments in one fixture repository
2026-10-18 13:56:58 +13:00
Dean e14e281c82 Merge pull request #6624 from IshmamDC217/fix/conventions-multiline-string-comments
fix(tools): find Python and CMake comments across multi-line strings
2026-10-18 12:56:50 +13:00
Dean Galvin 7665cb3ef5 test(tools): check shader comments in one fixture repository
conventions_function_bodies_shard_4 timed out at 30 s on Windows in five runs on 17 Oct (main pushes 39076267931 and 39061030084, dispatches 39074123651 and 39044676931, relinker 39072918668). Shard 4 was the slowest shard in every Windows log (10-16 s on a quiet runner, 5-11 s for the others).

One case dominated it: test_comment_in_a_shader_is_reported built six fixture git repositories, 36 of the suite's 390 processes. Process start-up is what costs on Windows. #7314 doubled the shard count, but modulo sharding keeps that case whole, so its shard (now shard 10) still cost 0.63 s of the suite's 3.0 s locally against 0.76 s before.

The case now writes all six shaders into one fixture and runs the checker once (6 processes), still asserting each path. The slowest of the 12 shards drops to 0.39 s locally (43 processes), with no timeout raised.
2026-10-18 12:08:33 +13:00
Adrià Franch a49b8cce69 fix(main): split conventions comment checks into 12 shards
Failing run 39076267931 (push 55f82fee83): windows conventions_function_bodies_shard_4 hit the 30 s CTest timeout (others 15-26 s on the loaded runner). No culprit merge; shard cost sits near the limit since 541a4e705 (6 shards). Doubling the shard count halves each test's runtime.
2026-10-18 01:01:23 +02:00
Tripchipp bd9d0c3d7d fix(tools): keep debt entries without a core link in the index 2026-10-16 09:09:21 +02:00
Ishmam Ahmed 74f6a23bba fix(tools): find Python and CMake comments across multi-line strings
The comment check looked at each added .py, .cmake and CMakeLists.txt
line on its own and treated any # outside a string closed on that line
as a comment. A # inside a Python triple-quoted string or a CMake
quoted or bracket argument that spans lines was reported, so adding an
#include to the C++ held in PatchSpirvTools.cmake's [=[ ]=] arguments
failed the check. An escaped \# in CMake was reported too, while the
inner lines of a multi-line #[[ ]] bracket comment were not.

Find comments over the whole file instead: Python COMMENT tokens from
tokenize, and a CMake scan that skips quoted and bracket arguments and
escapes and covers every line of a bracket comment. A Python file that
does not tokenize keeps the previous per-line check.
2026-10-16 01:02:44 +01:00
Adrià 2e5dd5aa14 Merge pull request #5766 from GalaxyGamingFR/fix/conventions-glsl-comments
fix(conventions): check comments in GLSL shaders
2026-10-15 15:09:41 +02:00
Adrià 646c6a2485 Merge pull request #5678 from MarcZX100/codex/split-conventions-tests-5672
test(tools): shard conventions comment checks under CTest timeout
2026-10-15 14:56:52 +02:00
Adrià FranchandClaude 1b94074869 fix(conventions): also check comments in .glsl shaders
Co-Authored-By: Claude <[email protected]>
2026-10-15 14:39:47 +02:00
GalaxyGamingFRandClaude Opus 5.5 939b3d8a9f fix(conventions): check comments in GLSL shaders
The comment rule only scanned C++, Python and CMake files, so a
comment added to a .comp, .frag or .vert shader passed the check.
TextureDetile.comp and ColorTransfer.comp carry such comments today.
Shaders are now masked with the same C-style lexer and report
comment on changed lines, with the same #endif allowance and the
same technical-debt exemption as C++.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-15 14:39:25 +02:00
Adrià b08db6a093 Merge pull request #5765 from GalaxyGamingFR/fix/conventions-depends-on-list
fix(conventions): accept Depends on answered as a list
2026-10-15 14:39:14 +02:00
TaymKal 1f11d60fee fix(conventions): check only changed lines in renamed files 2026-10-14 21:18:21 +02:00
Adrià 2b0d680903 Merge pull request #5360 from thuanquang/fix/conventions-type-change
fix(conventions): pair each type change with both of its patch headers
2026-10-14 20:58:06 +02:00
MarcZX100 541a4e7052 test(tools): shard conventions comment checks under CTest timeout 2026-10-14 13:13:45 +00:00
GalaxyGamingFRandClaude Opus 5.5 efde691a45 fix(conventions): accept Depends on answered as a list
The pr-template check only accepted "Depends on: #N" or "none" on the same
line, so a checklist answering it as a bulleted list failed CI although
pr_overlap reads exactly that form (test_pr_overlap_dependencies covers
"Depends on:
- #2
- #3"). Allow one list marker before the first answer;
an empty answer is still reported.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 02:32:58 -07:00
Dean 39bf2b9e9d Merge pull request #4986 from Ondra97/codex/fix-conventions-raw-literals
fix(conventions): ignore C++ raw literal contents
2026-10-14 15:54:04 +13:00
Dean 622fb542d2 Merge pull request #4764 from nikowolf123/fix/conventions-test-fixtures
fix(conventions): skip library test fixtures in the export checks
2026-10-14 15:37:56 +13:00
thuanquangandClaude Opus 5.5 ae28529f35 fix(conventions): pair each type change with both of its patch headers
git diff prints a file whose type changes (a file replaced by a link or
a submodule) as a deletion and a creation, two diff --git headers for
one --name-status entry, so the checker ran out of paths and stopped
with StopIteration instead of checking the pull request.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 00:56:08 +07:00
NikoandClaude Opus 5.5 0f7cd5b7ac fix(conventions): skip library test fixtures in the export checks
The duplicate-export and silent-stub rules treated every APS5_VABI
definition under core/libs/prx/ as a library export, including mocks
and callbacks in a library's tests/ directory. Those files are built
only into separate test executables, never into the library, so they
are not exports. PR #3533 failed CI because a sceKernelGetProcessTime
mock in libSceAudioOut/tests was reported as a duplicate of libkernel's
export. An sce* fixture with a stub-shaped body was also reported as a
silent stub, and a real export that shares a name with a fixture in
another library's tests/ was reported as a duplicate.

Skip files under a tests directory on both sides of the check, with the
same test code() already uses for title-specific and progress.py uses
for its function counts.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 17:39:20 +02:00
Ondra97 6706e44d95 fix(conventions): ignore C++ raw literal contents 2026-10-13 09:15:31 +02:00
NikoandClaude Opus 5.5 7f39ac991b fix(conventions): keep #### subsections inside the pull request template sections
SECTION matched every heading that starts with ###, so a #### line opened
a new section named "# ...". A Tested section written as #### Linux and
#### Windows subsections was reported as missing or empty, and an
unchecked item after a #### line in Checklist was not reported.

A level-4 heading belongs to the level-3 section above it (CommonMark
4.2), and silent_stub_debt() already keeps deeper headings inside their
section. SECTION now matches only headings with exactly three #.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 23:14:49 +02:00
Adrià FranchandClaude 555099ae23 feat(tools): keep technical debt in one file per library
Co-Authored-By: Claude <[email protected]>
2026-10-12 20:38:17 +02:00
SandstromPLandClaude Opus 5.5 872c3ba6ff fix(conventions): check the whole repository when run from a subdirectory
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 13:10:44 +05:30
Paritosh LahreandClaude Opus 5.5 436e310ddb fix(conventions): report 3rdparty submodules without a .gitmodules entry (#4304)
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-12 20:31:24 +13:00
Adrià Franch a5465007fa test(conventions): merge duplicate import 2026-10-11 17:10:33 +02:00
MrMha 45f349df9b fix(conventions): handle unusual Git paths and escaped links 2026-10-11 18:21:09 +04:00
GalaxyGamingFRandClaude Fable 5.1 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 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:21:30 +02:00
GalaxyGamingFRandClaude Fable 5.1 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 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 12:07:34 +02:00
GalaxyGamingFRandClaude Fable 5.1 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 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:41:54 -07:00
GalaxyGamingFRandClaude Fable 5.1 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 <[email protected]>
Claude-Session: https://claude.ai/code/session_01V9UU71SP1UKGR51Sowbgmq
2026-10-11 02:32:41 -07:00
Blazing Cook 271e31a5a3 fix(conventions): restrict silent stub exemptions to their section 2026-10-11 16:45:35 +09:00
GalaxyGamingFRandClaude Fable 5.1 3dbcc5f1c7 fix(tools): keep apostrophes in comments from opening character literals
Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-10 21:21:07 -07:00
darhebkf a00559a222 fix(tools): preserve function bodies after line comments 2026-10-09 13:42:24 +02:00