Repository navigation
test(libkernel): run nid_patcher_symbol_versions on Windows - #8717
oneandonlydean merged 1 commit into
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
The test registration change looks functionally compatible with the same-file edits in #8658 (macOS dynamic-strings linker flag) and #6586 (Linux runtime-lifecycle test registration). The overlap bot is still flagging |
|
I checked the current CMake hunks in #6586 and #8658 against this PR. #6586 moves the Python discovery earlier but leaves |
|
Thanks for checking the CMake conditions. I ran AI-assisted (Claude Code). |
|
Independent Windows run, as data only. Machine: Windows 11 Enterprise 10.0.22621, Ryzen 9 5950X, WinLibs GCC 15.2.0 UCRT r7, Release, AI-assisted (Claude Code). |
nid_patcher_symbol_versions was registered inside the block that also adds nid_patcher_dynamic_strings, so it was skipped on Windows although it only runs nid_patcher on a synthetic ELF written by the script. Only the dynamic strings test reads the ELF fixture module, which is a PE DLL on Windows. Register the symbol versions test on every host. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ba9e424 to
2264b7b
Compare
What
nid_patcher_symbol_versionswas registered inside theif(Python3_Interpreter_FOUND AND NOT WIN32)block ofcore/libs/prx/libkernel/CMakeLists.txtthat also addsnid_patcher_dynamic_strings, so it never ran on Windows.test_symbol_versions.pyonly writes a synthetic ELF and runsnid_patcheron it (no host loader involved); onlytest_dynamic_strings.pyreads the ELF fixture module (guest_module_fixture), which is a PE DLL on Windows. The-Wl,--no-as-neededfixture option and the dynamic strings test stay non-Windows; the symbol versions test is now registered on every host.git merge-treeagainstupstream/mainis clean.pr_overlapwas not run.Tested
Windows 10 (19045), MinGW-w64 GCC 15.2.0, Release:
ctest -N -R "^nid_patcher_(symbol_versions|dynamic_strings)$"lists exactlynid_patcher_symbol_versions(the dynamic strings test stays unregistered on Windows).NOT WIN32). After:nid_patcher_symbol_versionspasses 3 of 3 runs (5.5-6.5 s); run by hand it printsNID patcher symbol version tests passed. This is coverage only, so there is no red state without the change.python tools/check_conventions.py --base upstream/main: passes.Rebased onto
main1e20650e84(head2264b7bbca;mainhad movedfind_package(Python3 ...)up incore/libs/prx/libkernel/CMakeLists.txt, so thePython3_Interpreter_FOUNDblock was merged again, with the same lines changed as before).nid_patcher_symbol_versionsis registered on Windows andctest -R '^nid_patcher_symbol_versions$'passes 3 of 3 runs. No red run is possible: onmainthe test is compiled out on Windows (insideNOT WIN32).nid_patcher_macho,nid_patcher_native_paths,nid_patcher_dynamic_strings(still registered, fixture linked with--no-as-needed) andnid_patcher_symbol_versionspass, 4 of 4.python tools/check_conventions.py --base upstream/main: no finding. Not tested: macOS.Checklist
main; no other open PR implements the same functions.mdfiles or images added to the repositoryAI-assisted (Claude Code).
🤖 Generated with Claude Code