Commit Graph
2085 Commits
Author SHA1 Message Date
Dean 58d7fbd786 Merge pull request #14305 from MarcZX10/ci/compile-slot-fail-without-flock
fix(ci): stop compile_slot.sh retrying forever when flock or a slot file is unavailable
2026-11-05 21:46:23 +13:00
Dean 2238042b81 Merge pull request #15705 from oneandonlydean/rr/pr3-gpu
feat(run-report): count milestones, frames, GPU and shader diagnostics
2026-11-05 21:24:14 +13:00
Dean 1fe3ee8d1a Merge pull request #14235 from oneandonlydean/rr/pr2-writer
feat(run-report): write the run report when a game ends
2026-11-05 21:24:09 +13:00
Dean 6d83f43053 Merge pull request #15209 from veosett/codex/audit-dump-protect-relinker
fix(tools): protect audit_dump relinker from JSON output
2026-11-05 17:00:35 +13:00
Dean 41eee370ea Merge pull request #12159 from Queuse/codex/fix-host-test-dependency-inputs
fix(ci): follow host test dependency inputs
2026-11-05 13:12:28 +13:00
Dean a992b80376 Merge pull request #12806 from rooklz/fix/build-web-symlink-loop
fix(tools): report build_web symlink-loop build dir as usage error
2026-11-05 12:30:33 +13:00
Dean bfd14d1260 Merge pull request #15375 from JJenkx/fix/ci-guest-wrapper-owner-20261103
fix(ci): build owners of wrappers around selected guest tests
2026-11-05 12:28:37 +13:00
Dean ac2296d4bc Merge pull request #12395 from pushkarreddyy/test/annotate-module-objdump-skip
test(tools): skip annotate_module CLI alias test when GNU objdump is unavailable
2026-11-05 11:31:12 +13:00
Dean 622255da5e Merge pull request #12011 from pushkarreddyy/fix/audit-dump-json-destination-validation
fix(tools): validate json report destination before staging in audit_dump
2026-11-05 11:30:52 +13:00
Dean 9f35c937da Merge pull request #13837 from CodingBreadd/test/check-skips-decode-utf8
test(tools): decode check_skips test output as UTF-8
2026-11-05 09:00:46 +13:00
Dean 793515e6e4 Merge pull request #13417 from dr-hoseyn/fix/ab-split-truncated-programs
fix(tools): avoid zeroing unlisted GPU program timings
2026-11-05 09:00:41 +13:00
Dean 54b7a65c70 Merge pull request #13239 from MalikTalha03/fix/tools-tests-windows-store-python-executable
fix(tools): stop relying on sys.executable as a readable or spawnable file in tests
2026-11-05 09:00:36 +13:00
Dean 0c78920e52 Merge pull request #15164 from Ducengarth/fix/env-reference-table-rows
fix(tools): count only table rows as documented in env_reference
2026-11-05 08:20:42 +13:00
Dean 13201e8df4 Merge pull request #15717 from tikD1337/codex/trace-wait-ancestry
perf(tools): reuse wait ancestry when digesting trace slices
2026-11-05 08:18:46 +13:00
pushkarreddyy 4ba25362c0 fix(tools): resolve json report destination before validating parent directory in audit_dump 2026-11-04 23:15:21 +05:30
pushkarreddyy d1c1fbaa6b fix(tools): sequence directory checks after dump overlap in audit_dump 2026-11-04 23:15:21 +05:30
pushkarreddyy 67f253f7c2 fix(tools): validate json report destination before staging in audit_dump 2026-11-04 23:15:20 +05:30
pushkarreddyy 96cecd3991 test(tools): cover json directory and missing parent rejection in audit_dump 2026-11-04 23:15:20 +05:30
pushkarreddyy 0f6036e876 test(tools): skip annotate_module CLI alias test when GNU objdump is unavailable 2026-11-04 23:14:50 +05:30
Dean 9ab6a281ea Merge pull request #11860 from rooklz/fix/input-mapper-settings-roundtrip
fix(tools): round-trip input mapping settings in the input mapper
2026-11-05 06:36:17 +13:00
Dean c7eae98ba6 Merge pull request #7264 from LeandroLP23/feat/tools-title-run
feat(tools): run titles repeatably and report their outcome
2026-11-05 06:33:49 +13:00
Dean Galvinandrooklz 02e5fbda82 test(tools): skip the build_web symlink-loop test without symlink support
Apply review request from 2026-11-01: catch (NotImplementedError, OSError) around only the two symlink_to calls and report an unavailable capability through skipTest, so the test no longer raises PermissionError before the subprocess starts on hosts without symlink privilege. The subprocess and the exit-code, message and no-traceback assertions stay outside the catch; the production change is untouched.

Co-authored-by: rooklz <[email protected]>
2026-11-04 23:26:39 +13:00
Tikhon Ulyanov 7c9de0ff29 perf(tools): reuse wait ancestry when digesting trace slices 2026-11-04 10:25:28 +01:00
Dean Galvin 0003ec72c7 Merge rr/pr2-writer into rr/pr3-gpu 2026-11-04 20:21:16 +13:00
Dean Galvin b5f5c7fd1f Merge branch 'main' into rr/pr2-writer 2026-11-04 20:19:15 +13:00
Dean 6092b0e81a Merge pull request #12767 from StoneDC/b40/history-date-window
feat(tools): select progress history by UTC date
2026-11-04 19:26:55 +13:00
LeandroLP23andClaude Opus 5.5 6c88e69f07 fix(tools): show the first non-empty error of a title's failed runs
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 e5b4e22aba fix(tools): report an unreadable last frame and lock a title's work directory
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 39b52ea6c0 test(tools): skip the window placement test without a desktop shell
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 72264c25bd fix(tools): relink Ruffle, VLC and XPSemu at the default base
#9332 made 0x400000 the default base of Windows executables, as #8973
did on Linux, so the three titles that read their GOT at that base no
longer need fixed_base in titles.json: with a plain relink their guest
image starts at 0x400000 and all three render.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 5e4007fd30 fix(tools): keep title names out of the catalog and refuse a malformed param.json title ID
titles.json no longer takes a name: a run is labelled with the package's
own param.json title name. discover() checks the param.json titleId with
the same pattern as the catalog keys, since it names the work directory
that prepare() empties.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 0a4d3a908e fix(tools): label a title run with the commit of the build's source tree
The report took the commit of the checkout holding title_run.py, which
is wrong when --build points at another checkout. The source directory
now comes from the build's CMakeCache.txt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 3abbf5459b fix(tools): check titles.json items and drop the unused input field
A non-string env value or relink flag passed validation and stopped the
batch when the title started. List and env items must now be strings, a
param.json without titleId names its file, and the input field, which
nothing ran, is no longer accepted.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 d94dc23467 fix(tools): treat EPERM from a title's process group as still exiting
On macOS, killpg on a group whose processes are all exiting fails with
EPERM instead of ESRCH, which made alive(), close() and kill() raise and
end the batch. The SessionTests failure showed up on macOS runners.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 e338f53d0f fix(tools): leave unknown machine fields out of the report header
When no title wrote a trace summary, the header read ". , , driver , CPU".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 90e41765c1 fix(tools): compare only the requested titles when IDs are given
Running a few titles against a full earlier summary listed every other
title as missing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 baa1ae3730 fix(tools): count a title as rendering only once a frame is dumped
ScreenTester5 presented twice in 60 s, just before the run ended, and
was reported as rendering with no frame kept. A run that never presents
enough for a frame to be dumped is now stalled.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 ec127dcae9 fix(tools): open title windows behind the others instead of off-screen
Windows placed past the desktop edge could not be looked at. They now
keep their position and go to the bottom of the z-order without focus
when created or shown, so the run stays out of the way and the window
can be brought forward from the taskbar. A window is sent back once, so
it stays in front after the user raises it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 c1a0d7dcf6 fix(tools): read the exit code from the launched executable's folder by default
Without a console, Windows adds conhost.exe to the job, and its exit
code 0 replaced the title's when no folder was given.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 670e7522b4 fix(tools): move title windows off-screen as soon as they are created
A WinEvent hook on the title's process moves each new top-level window
past the right edge of the virtual desktop when it is created or moved,
so it no longer flashes at the centre of the screen until the next poll.
The move is asynchronous, so a title that stops pumping messages cannot
stall the run past its time limit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 c31ca04882 fix(tools): report crashes from the title's own processes and keep each title at one path
A crashing title brings Windows Error Reporting into the job, and its
exit code of 0 hid the crash: the exit code now comes only from
processes whose image is inside the title's folder. Relinker FAIL lines
count as errors, and the catalog titles that need
--trap-sdk-syscall-stubs have it in titles.json. Each title is prepared
in <out>/work/<ID>, the same path on every run, so a firewall prompt
appears once per title; its relink.log is copied into the run's folder.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 a3eb94a860 fix(tools): take the exit code of the newest process the title started
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 8ba4768b99 fix(tools): say run, not runs, for a single run in the title report
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 efb7161904 fix(tools): harden title_run after final review
Report the last process's exit code after LoadExec on Windows, keep the batch when one package cannot be prepared, write summary.json after each title, default --out to build/title-runs, skip non-object summary lines, drop inherited shader cache variables.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 6e4c6d828f fix(tools): keep a batch's summary when an artifact is damaged or --compare is wrong
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 2283a126ae feat(tools): keep title windows off the screen and count device loss as an error
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 03f8794ffb feat(tools): run titles with fixed settings and write summary.json and summary.md
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 3c2845900b fix(tools): report a title that exits before joining the job instead of failing
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 e0243e6e6a fix(tools): import signal for the POSIX session and fail loudly when the job cannot hold the title
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00
LeandroLP23andClaude Opus 5.5 043533f88f feat(tools): follow a title's processes, children included, and end them
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 23:04:46 +01:00