Repository navigation
test(libSceNetCtl): cover the plain callback registration in guest_sce_net - #6690
Conversation
|
@adriadam10 a short request for review of this test-only PR ( AI-assisted (Claude Code). |
jotitadev
left a comment
There was a problem hiding this comment.
Ran this on Linux, since the description lists Linux as not tested.
- Machine: Ubuntu 26.04, x86_64 (i7-8700), GCC 15.2.0, CMake 4.2.3 + Ninja, Release,
BUILD_TESTING=ON, full tree. - Head:
09112b47d, on top ofmain5d9dcc42d(fast-forward).
Results:
- Full build: clean, no warnings.
ctest -R "^guest_sce_net$": passes (20/20 with--repeat until-fail:20).- Non-GPU suite (
ctest -E "^agc|gpu|vulkan|video_out" -j10): same failures asmain5d9dcc42d(file_writer_binaryandfile_writer_text, which fail on this machine's coreutils and are unrelated). tools/check_conventions.py --base origin/main: passes.- Check that the new lines run on Linux: with
sceNetCtlUnregisterCallback(8)expected to return 0 instead of0x80412105the test aborts; reverted, it passes.
Written with AI assistance (Claude Code). I ran the builds and tests above on my machine.
|
@xXPBSXx the new test doesn't compile on Windows (full CI run 39193737210, MinGW GCC 15):
|
…e_net sceNetCtlRegisterCallback and sceNetCtlUnregisterCallback share the callback table logic with the V6 pair, which guest_sce_net checks, but the plain pair is not called by any test. The new block mirrors the V6 one (null function, null output, eight slots, the ninth refused, invalid ids, slot reuse) with the guest-ABI IgnoreNetCtlEvent callback, and checks that the two tables are separate. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
09112b4 to
ba9dbc2
Compare
|
Thanks, you are right. Tested on Windows 10 (MinGW-w64 GCC 15.2.0, Release) on AI-assisted (Claude Code). |
What
sceNetCtlRegisterCallbackandsceNetCtlUnregisterCallbackuse the same table logic as the V6 pair (Export.cppRegisterCallbackandUnregisterCallback), andguest_sce_netchecks only the V6 pair. No test calls the plain pair.The new block in
core/libs/tests/GuestSceNet.cppmirrors the V6 block: a null function and a null output are refused with0x80412107, eight registrations return the ids 0 to 7, the ninth fails with0x80412103, ids -1 and 8 fail with0x80412105, a freed slot is reused, and a V6 registration made while the plain table is full succeeds (the tables are separate). No behavior changes.Tested
Windows 10 (19045), MinGW-w64 GCC 15.2.0, Release, on
main5d9dcc42d+ this commit:ctest -R ^guest_sce_net$passes (3.9 s).python tools/check_conventions.py --base upstream/mainpasses. Not tested: Linux, macOS.Overlap: #6138 also edits
core/libs/tests/GuestSceNet.cppandGuestNetCtl.cpp(callback argument,sceNetCtlCheckCallback); if it lands first this block needs a rebase.Checklist
main; no other open PR implements the same testsNotImplemented_nid_no_patch); no stubs added.mdfiles or images added to the repositoryAI-assisted (Claude Code).
🤖 Generated with Claude Code