AnyPS5/core/libs/tests
TibixDev 97f16be342 fix(savedata): keep progress dialogs running until closed
Opening a save progress dialog immediately reported FINISHED. Skyrim
waited for RUNNING before writing SAVEDATA.DAT and never resumed. Keep
progress-bar mode running through polling and progress updates until
Close, retaining the existing automatic responses for other dialog modes.

Add lifecycle regression coverage for repeated polling, completion,
reopening, result metadata and ordinary selection dialogs. The test
failed on the previous implementation and passes with the fix on Fedora
44 Release. Correcting the live dialog state recovered a blocked Skyrim
save without restarting its session.

Written with AI assistance.
2026-10-08 01:37:34 +03:00
..
ApplicationHeap.cpp fix(libc): narrow nothrow allocation failure handling 2026-10-07 15:45:15 +02:00
ExceptionCCleanup.c fix(libc): run the cleanups of frames that use the C personality 2026-10-04 05:32:55 +13:00
ExceptionCCleanup.cpp fix(libc): run the cleanups of frames that use the C personality 2026-10-04 05:32:55 +13:00
ExceptionRuntime.cpp feat(libc): implement std::_Xrange_error and the range_error type 2026-10-05 19:49:33 +02:00
Fiber.cpp feat(libSceFiber): implement context size checking and the thread frame pointer 2026-10-01 19:27:24 +02:00
FilePosition.cpp fix(libc): propagate file position errors 2026-10-02 06:15:14 +02:00
FileStreams.cpp fix(libc): fix ftools exports 2026-09-07 19:54:01 +03:00
Formatting.cpp fix(libc): keep wide printf precision on UTF-8 boundaries 2026-10-06 14:28:56 -07:00
GuestAccess.cpp build(windows): guard NOMINMAX before including windows.h 2026-10-06 14:57:48 +02:00
GuestAddressConversion.cpp feat(kernel): translate guest IP address conversion APIs 2026-09-25 06:18:32 +10:00
GuestAgcDriverResources.cpp feat(libSceAgcDriver): implement sceAgcDriverGetResourceRegistrationMaxNameLength 2026-10-06 22:21:30 +02:00
GuestAio.cpp feat(libkernel): Aio batch submit, wait, cancel and delete 2026-10-06 08:11:07 +02:00
GuestAjm.cpp feat(ajm): implement sceAjmBatchJobSetResampleParameters and sceAjmBatchJobGetResampleInfo 2026-10-07 05:36:31 +05:30
GuestAmpr.cpp Merge branch 'feat/amm-remap-protect' into feat/amm-prt 2026-10-05 16:00:02 -05:00
GuestAppContent.cpp test(appcontent): cover a title without download data 2026-10-07 21:51:53 +02:00
GuestAudio3dParameters.cpp feat(audio3d): implement default open parameters 2026-10-02 13:54:01 -03:00
GuestAudio3dPort.cpp feat(libSceAudio3d): implement sceAudio3dObjectReserve and sceAudio3dObjectUnreserve 2026-10-07 18:01:24 +02:00
GuestAudioIn.cpp feat(libSceAudioIn): implement sceAudioInClose and throw for the unverified 0x10 format 2026-10-04 08:39:33 +02:00
GuestAudioPropagation.cpp feat(libSceAudioPropagation): render silence for propagated sources 2026-10-04 19:26:06 +13:00
GuestAudiodec.cpp feat(libSceAudiodec): decode MP3, M4AAC and ATRAC9 2026-10-02 09:22:59 +02:00
GuestAvPlayer.cpp fix(avplayer): deliver the frame at a jump while paused 2026-10-06 15:20:51 +02:00
GuestAvailableCpumask.cpp feat(libkernel): implement sceKernelGetAvailableCpumask 2026-10-06 09:41:52 +05:30
GuestBufferReuse.cpp feat(video): track ordered buffer reuse reservations 2026-09-25 07:13:15 +10:00
GuestCes.cpp feat(libSceCesCs): convert single characters between CP1252 and UTF-8 2026-10-01 18:41:25 +02:00
GuestCharacter.cpp Merge remote-tracking branch 'origin/main' into feat/demons-souls-boot 2026-09-27 10:52:21 -07:00
GuestCollate.cpp feat(libc): implement collate<char>::_Getcat 2026-10-06 14:53:47 +02:00
GuestCondTimedwait.cpp feat(kernel): implement Sleep, sigprocmask and pthread finalize 2026-09-29 23:40:48 +00:00
GuestContentExport.cpp fix(contentexport): refuse init parameters without allocators or with reserved fields set 2026-09-30 18:35:36 +03:00
GuestCpuTimeClocks.cpp feat(libkernel): support the CPU-time clocks in clock_gettime and clock_getres on Windows 2026-10-02 11:40:22 +02:00
GuestDirectory.cpp feat(libc): translate guest directory enumeration 2026-09-25 06:41:55 +10:00
GuestDirectoryBuffer.cpp fix(libkernel): report undersized Windows directory buffers 2026-10-01 23:24:41 +02:00
GuestDirectoryClose.cpp fix(libkernel): clear directory metadata on close 2026-10-01 16:48:10 +02:00
GuestDirectoryEntries.cpp feat(libkernel): pread, pwrite, getdents and getdirentries on linux 2026-09-28 16:40:22 +13:00
GuestDynamicLoader.cpp feat(libkernel): implement the rtld thread atexit reference count 2026-10-06 08:36:23 +02:00
GuestElfPhdrMatch.cpp feat(libkernel): implement __elf_phdr_match_addr 2026-10-02 11:18:06 +02:00
GuestEnvironment.cpp feat(libc): implement guest environment variable storage 2026-09-25 06:39:14 +10:00
GuestEqueueEvents.cpp fix(libkernel): wake infinite equeue waits for timers, document timer choices 2026-10-07 18:14:04 +02:00
GuestErrorDialog.cpp feat(errordialog): implement the libSceErrorDialog state machine 2026-10-04 22:33:43 +02:00
GuestErrors.cpp feat(libc): implement guest errno message APIs 2026-09-25 06:17:18 +10:00
GuestExceptionHandler.cpp feat(libkernel): record exception handlers 2026-10-05 22:50:24 +02:00
GuestExecuteOnce.cpp feat(libc): implement std::_Execute_once 2026-10-06 00:28:52 +02:00
GuestFileVector.cpp feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev 2026-10-06 07:33:51 +02:00
GuestFilesystem.cpp fix(libkernel): return EBADF from sceKernelClose for a descriptor that is not open 2026-10-07 14:10:53 -04:00
GuestFiopen.cpp feat(libc): implement std::_Fiopen 2026-10-06 15:09:04 +02:00
GuestFont.cpp feat(font): implement sceFontGetFontResolution 2026-10-06 09:34:56 +02:00
GuestFontWritingLine.cpp feat(font): implement sceFontWritingLineGetOrderingSpace 2026-10-06 12:31:30 +02:00
GuestForceTlsDestructor.cpp feat(libSceLibcInternal): implement _sceLibcInternalForceTlsDestructor 2026-10-07 18:18:13 +02:00
GuestFreebsdClocks.cpp feat(libc): implement _Xtime_get_ticks 2026-10-05 20:16:11 +02:00
GuestGameUpdate.cpp feat(libs): implement sceGameUpdateGetAddcontLatestVersion 2026-10-06 01:17:29 +02:00
GuestGetrusage.cpp feat(kernel): support getrusage RUSAGE_THREAD on Linux 2026-10-06 14:19:40 +02:00
GuestHmd.cpp feat(libSceHmd): add a disconnected-headset HLE stub 2026-10-01 14:18:10 +02:00
GuestHttp.cpp Merge pull request #810 from adriadam10/feat/http-uri-merge 2026-10-07 10:05:32 +13:00
GuestHttp2.cpp feat(libSceHttp2): implement cookie boxes and requests without a content length 2026-10-05 20:16:49 -05:00
GuestHttpResponseHeader.cpp feat(http): implement response header parsing 2026-10-05 18:32:47 -03:00
GuestImeKeyboard.cpp feat(libSceIme): implement keyboard info and mode queries 2026-10-06 00:30:16 +02:00
GuestImeParameters.cpp feat(libSceIme): implement sceImeKeyboardGetResourceId 2026-10-06 08:56:44 +03:00
GuestIndexedDraw.cpp fix(agc): support explicit indexed draw commands 2026-09-28 09:09:02 +10:00
GuestJpegDec.cpp feat(libSceJpegDec): implement JPEG decoding 2026-10-02 13:34:41 +02:00
GuestJpegEnc.cpp feat(jpegenc): honor the encode restart interval 2026-10-06 14:16:07 +02:00
GuestJson.cpp Merge pull request #488 from arreina/pr/json-non-finite 2026-10-07 10:06:47 +13:00
GuestKernelErrors.cpp fix(libkernel): return EINVAL for unknown mutex attribute types 2026-10-06 17:04:06 -05:00
GuestKernelIsStack.cpp feat(libkernel): implement sceKernelIsStack 2026-10-05 19:08:45 +02:00
GuestLifecycle.cpp fix(libc): use guest calling convention for atexit callbacks 2026-09-29 21:33:44 +00:00
GuestLocale.cpp test(libc): match the immortal classic locale and run guest_locale in ctest 2026-10-07 00:00:12 -03:00
GuestLoginDialog.cpp fix(logindialog): report user-cancelled and write only the leading result int32 2026-10-06 23:46:00 +02:00
GuestMath.cpp feat(libs): implement homebrew libc and kernel runtime exports 2026-10-05 22:40:16 -03:00
GuestMemory.cpp test(libkernel): cover a sub-page shared backing offset and a gap after a direct mapping 2026-10-07 23:16:22 +02:00
GuestModuleFixture.cpp fix(relinker): keep host prx references out of guest modules on Linux 2026-10-05 19:58:39 -03:00
GuestModuleInfo.cpp feat(libkernel): implement sceKernelGetModuleInfoFromAddr 2026-10-05 19:55:15 +02:00
GuestMsgDialogNative.cpp feat(libSceMsgDialog.native): implement sceMsgDialogGetStatus 2026-10-06 21:56:43 +02:00
GuestNanosleep.cpp fix(libkernel): report invalid nanosleep requests through errno and the sce error codes 2026-10-04 18:19:53 +02:00
GuestNpManager.cpp feat(libSceNpManager): implement sceNpGetNpId 2026-10-07 01:18:42 +08:00
GuestNpSessionSignaling.cpp fix(libs): use the referenced NGS2 handle and session signaling argument error codes 2026-10-06 14:39:02 +02:00
GuestNpTrophy2.cpp fix(trophy2): accept a null data or details in sceNpTrophy2GetGameInfo 2026-10-06 17:58:35 +02:00
GuestOnce.cpp feat(kernel): implement guest once initialization 2026-09-25 07:22:05 +10:00
GuestPad.cpp fix(pad): return INVALID_HANDLE from scePadReadState for an unknown handle 2026-10-06 14:43:00 +02:00
GuestPlayGo.cpp feat(libScePlayGo): implement the language mask and to-do list 2026-10-01 19:50:33 +02:00
GuestPlayGoDialog.cpp feat(libs): implement scePlayGoDialogGetStatus 2026-10-05 19:32:16 +02:00
GuestPngDec.cpp feat(pngdec): implement libScePngDec on the shared PNG decoder 2026-09-30 11:10:00 +01:00
GuestPngEnc.cpp fix(pngenc): restrict adaptive filtering to the requested filter subset 2026-10-05 02:08:31 +02:00
GuestPosixSem.cpp fix(libkernel): enforce POSIX semaphore count limits 2026-10-03 04:03:25 +02:00
GuestPsml.cpp feat(psml): implement the MFSR 1100 calls for hardware without PSSR 2026-10-05 17:51:47 +02:00
GuestPthreadAttr.cpp fix(libkernel): report the thread's priority and affinity from scePthreadAttrGet 2026-10-02 18:03:51 +02:00
GuestPthreadBarrier.cpp feat(libkernel): accept PTHREAD_PROCESS_SHARED barrier attributes 2026-10-05 20:11:20 -05:00
GuestPthreadKey.cpp fix(libkernel): do not expose stale thread-specific values through a reused pthread key 2026-10-05 00:26:20 +00:00
GuestPthreadRwlock.cpp feat(libkernel): implement the pthread_rwlock try and timed lock functions 2026-10-04 17:13:36 +02:00
GuestPthreadSem.cpp feat(kernel): implement pthread semaphore lifecycle 2026-09-29 22:13:07 +00:00
GuestRaiseException.cpp fix(kernel): drain raised exceptions when leaving an alertable wait 2026-10-07 22:11:29 +02:00
GuestRandom.cpp feat(random): implement sceRandomGetRandomNumber 2026-09-26 12:14:46 +02:00
GuestRazorCpu.cpp feat(libSceRazorCpu): add sceRazorCpuPlotValue and sceRazorCpuWriteBookmark 2026-10-07 15:36:02 -04:00
GuestReallocalign.cpp feat(libc): implement RaiseEv, catchReturnFromMain and reallocalign 2026-09-30 23:55:00 +00:00
GuestRenderingWait.cpp feat(agc): execute rendering waits against buffer reuse fences 2026-09-25 07:16:55 +10:00
GuestResolver.cpp feat(posix): translate guest address resolution APIs 2026-09-25 06:15:32 +10:00
GuestRtc.cpp fix(rtc): decode the DOS year as unsigned, move TechnicalDebt line 2026-10-07 18:06:11 +02:00
GuestSaveDataDelete.cpp fix(savedata): reject invalid directory names in sceSaveDataDelete 2026-10-02 20:41:43 +02:00
GuestSaveDataDialog.cpp fix(savedata): keep progress dialogs running until closed 2026-10-08 01:37:34 +03:00
GuestSaveDataPs4.cpp feat(savedata): implement the PS4 transfer mount and directory search 2026-10-05 19:41:59 +02:00
GuestScanCount.cpp fix(libc): honor sscanf_s count conversion lengths 2026-10-06 12:23:04 -07:00
GuestSceNet.cpp libSceNet: implement sceNetSendmsg and sceNetRecvmsg 2026-10-06 11:51:42 +02:00
GuestSearch.cpp feat(libc): implement binary search with guest comparator ABI 2026-09-25 07:24:17 +10:00
GuestSemaphore.cpp feat(libkernel): implement sceKernelCancelSema 2026-10-02 11:57:00 +02:00
GuestShaderLink.cpp fix(agc): preserve strict shader linkage failures 2026-09-25 07:22:06 +10:00
GuestShare.cpp feat(libSceShare): capture, open menu and current status calls 2026-10-06 00:29:19 +02:00
GuestSignals.cpp feat(libkernel): implement _is_signal_return 2026-10-06 01:09:00 +02:00
GuestSsl.cpp feat(libSceSsl): implement CA certificate queries and sceHttp2AbortRequest 2026-10-01 18:35:02 +02:00
GuestStandardStreams.cpp Merge pull request #972 from ebarr24/codex/libc-fscanf-abi 2026-10-07 15:14:30 +13:00
GuestStdExecuteOnce.cpp feat(libc): implement std_execute_once 2026-10-06 13:11:41 +03:00
GuestStrings.cpp fix(libc): reject overlapping memcpy_s ranges 2026-10-06 14:26:37 -07:00
GuestSyncOnAddress.cpp feat(libkernel): implement sceKernelSyncOnAddressWait8 and sceKernelSyncOnAddressWait16 2026-10-06 04:30:12 +05:30
GuestSysmodule.cpp feat(sysmodule): implement sceSysmoduleLoadModuleInternal and sceSysmoduleUnloadModuleInternal 2026-10-04 21:56:29 +02:00
GuestSystemConfiguration.cpp feat(kernel): implement guest system configuration queries 2026-09-25 06:25:16 +10:00
GuestSystemExit.cpp fix(tests): flush stdout in QuickFirst so ctest pipe captures handler output 2026-10-04 15:24:44 +02:00
GuestSystemFont.cpp feat(font): open system font sets from a font directory 2026-10-06 10:27:09 +13:00
GuestSystemService.cpp feat(libSceSystemService): implement Disable/ReenableMusicPlayer 2026-10-06 15:16:45 +02:00
GuestTcp.cpp fix(libkernel): report EINVAL, EACCES, ENOBUFS, ETIMEDOUT and EINTR from Linux sockets 2026-10-05 21:41:12 +02:00
GuestThreadAtexit.cpp feat(libcinternal): run thread_local destructors at thread exit 2026-10-05 17:51:35 +02:00
GuestThreadSelf.cpp feat(libkernel): implement scePthreadTestcancel and pthread_testcancel (#834) 2026-10-07 11:43:32 +13:00
GuestUdp.cpp feat(libkernel): implement sendmsg and recvmsg 2026-10-05 20:10:13 -05:00
GuestUlobjmgr.cpp feat(ulobjmgr): register and unregister object 2026-10-05 19:25:46 +02:00
GuestUltQueue.cpp feat(ult): implement blocking queues and shared data pools 2026-10-05 00:52:22 -03:00
GuestUserService.cpp feat(userservice): implement foreground user, registered list, user colour and NP account id 2026-10-06 23:42:15 +02:00
GuestVideoOutWqhdDetection.cpp feat(libSceVideoOut): implement sceVideoOutAllowOutputResolutionWqhdDetection 2026-10-06 10:10:25 +05:30
GuestVideodec2.cpp feat(videodec2): implement sceVideodec2GetAvcPictureInfo 2026-10-06 14:11:24 +02:00
GuestVoiceQoS.cpp feat(voiceqos): accept app type 0x10000000 in sceVoiceQoSInit 2026-10-06 02:42:33 +02:00
GuestWcsrtombsS.cpp feat(libc): implement wcsrtombs_s 2026-10-05 20:29:18 +02:00
GuestWebBrowserDialog.cpp feat(libs): implement sceWebBrowserDialogGetStatus 2026-10-06 14:06:52 +02:00
GuestWideFormatting.cpp feat(libc): support %n in wide formatting 2026-10-06 14:45:44 +02:00
GuestWorkingDirectory.cpp feat(libc): track guest working directory and resolve relative paths 2026-09-25 06:51:37 +10:00
HostThreadLocal.cpp fix(shader): safely destroy compiler thread-local storage on Windows 2026-09-28 19:54:01 +10:00
HostThreadLocalLibrary.cpp fix(agc): preserve recorder buffers through Windows thread teardown 2026-09-28 09:55:01 +10:00
ImageMsaaLoad.cpp feat(shader): implement image_msaa_load 2026-10-05 19:56:34 -05:00
ImageSampleGather.cpp feat(shader): implement MIMG sample/gather flag variants 2026-10-02 15:59:39 +00:00
LinearDisplayBuffer.cpp feat(videoout): present linear framebuffer layouts 2026-09-28 09:05:49 +10:00
Mspace.cpp perf(libc): replace the mspace block list with an ordered allocator 2026-09-29 12:53:00 +13:00
ParamJsonParser.cpp fix(libkernel): read defaultLanguage from localizedParameters 2026-10-05 22:48:06 +02:00
PixelAncillary.cpp fix(shader): lower only exact sample id and layer field extracts of the packed pixel ancillary 2026-10-05 17:18:02 +02:00
PlayerInvitationDialog.cpp feat(playerinvitationdialog): implement scePlayerInvitationDialogGetResult 2026-10-06 11:42:02 +00:00
PthreadStart.cpp fix(windows): precommit guest thread stacks to prevent guard page skips 2026-09-10 20:25:25 +03:00
RayTracingMiss.cpp feat(shader): implement image_bvh64_intersect_ray 2026-10-05 00:26:32 +00:00
SaveDataFileWriteFailure.cpp fix(savedata): preserve existing saves on replace failure 2026-10-01 16:40:38 +02:00
SaveDataMemoryGrowth.cpp fix(savedata): preserve memory saves when growth reads fail 2026-10-01 23:20:39 +02:00
SaveDataMemoryMetadata.cpp fix(savedata): accept a repeated sceSaveDataInitialize3 2026-10-06 10:46:48 +02:00
SaveDataWriteReplacement.cpp fix(savedata): preserve existing saves on replace failure 2026-10-01 16:40:38 +02:00
ScalarBitCount64.cpp test(shader): cover 64-bit scalar bit-count ops 2026-10-02 21:48:23 +00:00
ScalarSaveexec.cpp feat(shader): implement SOP1 saveexec/wrexec family 2026-10-02 00:22:41 +00:00
ScalarScratchLoad.cpp refactor(shader): throw on s_scratch_load until wave scratch layout is modelled 2026-10-06 01:16:02 +02:00
ShaderBufferAddress.cpp test(shader): cover decoded buffer address operands 2026-09-28 09:09:02 +10:00
TextureFormatLookup.cpp fix(agc): keep BGRA color targets resident between draws 2026-09-28 16:26:02 +10:00
VectorCompareConst.cpp test(shader): cover VOPC compare constants and ordered F16 2026-10-02 16:07:44 +00:00
VectorCompareI16U16.cpp feat(shader): implement VOPC I16/U16 cmpx compares 2026-09-30 23:55:29 +00:00
VectorFusedMultiplyAdd.cpp test(shader): cover v_fmac_f32, v_fmamk_f32 and v_fmaak_f32 and count them as decoded 2026-10-04 16:36:17 +02:00
VectorMadLegacy.cpp feat(shader): implement legacy float multiply-add ops 2026-10-02 16:04:44 +00:00
VectorMinMaxMed16.cpp feat(shader): implement VOP3 I16/U16 min/max/med3 2026-10-01 16:11:33 +00:00
Wave32WideSubgroup.cpp feat(shader): decode DPP8 on VOP1 and VOP2 2026-10-05 03:32:30 +02:00
WindowsExceptions.cpp feat(libs): add new std symbols + unused filter off by default 2026-09-24 10:28:33 +03:00
run_exception_tests.py feat(libc): add ex tests + remove bad_alloc dup 2026-09-06 07:30:59 +03:00