Merge pull request #12546 from Elma7e/test/signindialog-finished-state-and-result-validation

test(libSceSigninDialog): cover finished dialog open and close and result buffer preservation
This commit is contained in:
Adrià authored and GitHub committed 2026-10-29 21:43:47 +01:00
commit 102b7a5cf0
2 files changed
+13 -9

No files matched your search

+12 -9
View File
@@ -21,8 +21,7 @@ constexpr int kResultUserCanceled = 1;
int main() {
std::int64_t param = 0;
std::int32_t result[4];
std::memset(result, 0x5a, sizeof(result));
std::int32_t result[8]{0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a};
Require(sceSigninDialogTerminate() == kErrNotInitialized);
Require(sceSigninDialogOpen(nullptr) == kErrNotInitialized);
@@ -44,6 +43,13 @@ int main() {
Require(sceSigninDialogOpen(&param) == 0);
Require(sceSigninDialogGetStatus() == kStatusFinished);
Require(sceSigninDialogUpdateStatus() == kStatusFinished);
Require(sceSigninDialogOpen(&param) == 0);
Require(sceSigninDialogGetStatus() == kStatusFinished);
Require(sceSigninDialogUpdateStatus() == kStatusFinished);
Require(sceSigninDialogOpen(nullptr) == kErrArgNull);
Require(sceSigninDialogClose() == 0);
Require(sceSigninDialogGetStatus() == kStatusFinished);
Require(sceSigninDialogUpdateStatus() == kStatusFinished);
Require(sceSigninDialogGetResult(nullptr) == kErrArgNull);
Require(sceSigninDialogGetResult(result) == 0);
@@ -51,6 +57,10 @@ int main() {
Require(result[1] == 0);
Require(result[2] == 0);
Require(result[3] == 0);
Require(result[4] == 0x5a);
Require(result[5] == 0x5a);
Require(result[6] == 0x5a);
Require(result[7] == 0x5a);
Require(sceSigninDialogClose() == 0);
Require(sceSigninDialogTerminate() == 0);
@@ -75,11 +85,4 @@ int main() {
Require(result[3] == 0);
Require(sceSigninDialogTerminate() == 0);
Require(sceSigninDialogTerminate() == kErrNotInitialized);
Require(sceSigninDialogOpen(nullptr) == kErrNotInitialized);
Require(sceSigninDialogOpen(&param) == kErrNotInitialized);
Require(sceSigninDialogClose() == kErrNotInitialized);
Require(sceSigninDialogGetResult(nullptr) == kErrNotInitialized);
Require(sceSigninDialogGetResult(result) == kErrNotInitialized);
Require(sceSigninDialogGetStatus() == kStatusNone);
Require(sceSigninDialogUpdateStatus() == kStatusNone);
}
+1
View File
@@ -3,6 +3,7 @@
### Silent stubs
- [libSceSigninDialog](../../../core/libs/prx/libSceSigninDialog/Export.cpp) shows no sign-in UI and immediately transitions to finished status with a user-cancelled result.
- [sceSigninDialogOpen, sceSigninDialogClose](../../../core/libs/prx/libSceSigninDialog/Export.cpp) (libSceSigninDialog) - calling `sceSigninDialogOpen` on an already finished dialog succeeds with status remaining `FINISHED`, and calling `sceSigninDialogClose` while finished returns 0; this finished-state reopen and close lifecycle is emulator stub behavior and is unmeasured on console hardware.
### Unknown function info