Repository navigation
test(relinker): run guest_none_relocations as two halves - #15526
oneandonlydean merged 1 commit into
Conversation
On the x86_64 macOS relinker job (emulated on an arm runner) the test took 11 to 20 s against its 20 s limit. Over the main runs of 4a7770b to 66387a1, 20.04, 20.07, 20.03 and 20.07 s timed out and 19.99, 19.99 and 19.33 s passed, while the native arm64 job takes 1.3 to 5 s. The test is a loop of relinker subprocess runs over sce False and True. It now takes "plain", "sce" or "all" (the default, so the importing tests are unaffected), and CMake registers guest_none_relocations (plain) and guest_none_relocations_sce, each with the same 20 s limit and half the work.
|
Tested head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release,
AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
|
#15751 goes after the same timeout from the other side. It converts the 28 valid modules of each SCE variant in one relinker run per output system, so the test starts the relinker 54 times instead of 216, and every check is kept. The 168 guest artifacts are byte-identical to the ones single-module conversions write. The two changes compose: #15751 cuts the work, and your split halves what is left. They touch neighbouring lines of |
Keep main's plain and sce modes from boykopovar#15526 and batch the valid modules within each mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What
guest_none_relocationstimes out intermittently on main'srelinker (macos-latest, clang++, x86_64)job (the x86_64 build runs emulated on an arm runner). It is not tied to a commit: over the 10 main runs of 4a7770b to 66387a1 it took 16.3, 11.4, 20.04 (timeout), 19.99, 20.07 (timeout), 20.03 (timeout), 19.33, 19.99, 20.07 (timeout) and 15.4 s against its 20 s limit, while the native arm64 macOS job took 1.3 to 5.1 s. Locally the whole test takes 0.4 s, so the time on that job is process spawning: the test runs the relinker as a subprocess for every case, forsceFalse and then True.The test now takes
plain,sceorall(the default, so the tests that import its helpers and any direct run are unchanged) and CMake registersguest_none_relocations(plain) andguest_none_relocations_sce, each with the same 20 s limit and half the work. No case is removed or loosened.Tested
4f41f4c375relinker:plain,sceand no argument each print "Guest no-op relocation tests passed"; an unknown mode raisesKeyError.ctest(the edit is twoadd_testlines and oneset_tests_properties), the macOS jobs. Their timing after the split is the thing this PR needs CI to show.select_tests_SelectArgumentTests(30.12 s on the arm job). It builds a real cmake project insetUpClass, took 3.4 to 18 s in the other runs, and printed nothing at the timeout; we treat it as runner noise and did not touch it.Checklist
main4f41f4c375; no other open PR implements the same functions.mdfiles or images added to the repositoryguest_none_relocationson main)