Commit Graph
6 Commits
Author SHA1 Message Date
Yunus Shaikh 8ed27932f2 test: stop requiring the four unimplemented content and entitlement calls to throw
The tests checked the exact "not implemented" message from
sceContentDeleteByPath, sceContentDeleteById,
sceNpEntitlementAccessAbortRequest and
sceNpEntitlementAccessDeleteRequest. A test that requires a placeholder
to throw fails as soon as the call is implemented, so those checks go,
with the helper and catch they used. The calls still report themselves
as not implemented, as their debt entries say, and the argument checks
stay.
2026-10-26 06:59:44 -07:00
Yunus Shaikh eacd1ad610 fix(libSceContentDelete): report deletion by path and id as not implemented
After initialization, sceContentDeleteByPath and sceContentDeleteById threw a bare logic_error for every valid call, so progress.py counted them as done. No source gives the console's error for content that is not in the library, so the valid calls now go through NotImplemented_nid_no_patch. The NOT_INITIALIZED and argument errors before it are unchanged.
2026-10-25 09:41:19 +00:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
boykopovar 5536d61756 fix(contentdelete): restore lifecycle errors and list arguments 2026-10-21 21:48:09 +03:00
Nithishvelan M 41ddc4b8b9 test(libSceContentDelete): cover null param and uninitialized terminate in guest test 2026-10-18 14:34:27 +05:30
screamm e8627d607b feat(libSceContentDelete): add sceContentDeleteById and sceContentDeleteByPath
Cult of the Lamb (PPSA06465, #2686) stops at start-up on the first one:

    FAIL: unresolved ELF import pXJh3aVk8Ks from libSceContentDelete.prx

Both exports have been on main without an implementation (#2740); the
call itself has not been observed yet.

Orbital (cc408367, tools/ida/db_types.json:541-542) and SharpProspero
(5dfdb4b0, Interop/Content/ContentDelete.cs:25-42) agree on the
signatures: a 64-bit SceContentSearchContentId and a UTF-8 path. The
content library is empty on the host, since libSceContentExport exports
nothing into it, so no id or path can be found. SharpProspero gives only
NoPermission (0x809D5006) and no public source gives the not-found code,
so both calls throw with the id or path named once the null path and the
initialization are checked, like the "not in the host content library"
throws of #3724. sceContentDeleteById moves from
guest_content_unimplemented to the new guest_content_delete test.

NIDs pXJh3aVk8Ks and qC3QW+AltHs match tools/nid_names.py and the shadPS4
aerolib list.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
(cherry picked from commit 928184824a4acdf36a58287034bff8154c861835)
2026-10-17 14:20:14 +02:00