[Draft] Filesystem tests#8
Conversation
|
We fixed sceKernelCheckReachability declaration for this PR, in the meantime the quickest way to make it compiling is to switch bundled OpenOrbis version to v0.5.4-4 in CMakeLists.txt: FetchContent_Declare(
openorbis
URL https://github.com/ps4emulation/OpenOrbis-PS4-Toolchain/releases/download/0.5.4-4/v0.5.4-4.tar.gz
URL_HASH SHA256=53fcaa7d25c200738968bb55b9a99ac03718c38713efd7261845ab2c45641b18 # optional, hash of zip
)Later when Ray gonna merge his #11 fetchcontent declaration will be moved into a toolchain file. |
Thank you for heads-up. I'd wait with merging into main, as I don't have access to my main dev device. I have to refactor a lot of those tests too, but these can be done once it's in main, otherwise results are kind of unreadable (for everyone who's not me). |
|
Hi again! I just merged final fixes to the new CMake architecture. You can merge those into your branch now and it should work. The only thing you have to do with your current code is to adjust CMakeLists.txt in accordance with either |
I've just updated to latest build system; CMake and all that but it doesn't want to compile anymore :( |
It looks like commit history is broken now too. Try to save your changes externally (outside of git repo) and reroll back to |
|
I'll check whats wrong after the commit history will be ok, it created a lot of duplicated commits because of wrong merge |
|
Changing |
|
Here's the patch file to fix it all, you can apply it using |
out of all combinations I've tried... thank you, thank you, thank you |
|
The |
better logs cleanup removed unused files dumping with cursed buffers and offsets
memory leak D: full buffers read, not just what's reported some comments/messages in Therapist
Testing consistency of read/getdirentries Normal errors Testing random reads against single dump (reverse lookup) (PFS WIP)
adjusted read targets new angle for calculating expected return values / data
added errno
roaming
revamped log styles lol
reordered dirent checks for PFS more math, slimmed down dirent calculation IS THIS IT??!?!?!?!!?! jk some reads still fail
pfs getdirentries checks for offset for dirent searching updated HW dumps refactored test case to struct temporarily disabled EINVAL test cases removed some dead weight i think lseek-ing before closing the directory will prevent Enderman from crashing the console testing fuzzing for normal read updated log to this commit
arbitrary version bump
touchups on calculator unified dirent spec struct fixed apparently a memory leak that makes the console hang every couple of runs removed some dead weight
works for conventional reads. errors still need to be safeguarded and implemented
arbitrary version bump
temporarily limited fuzz iteration limit
retyped read sizes to correct unsigned type aggressive lseek fuzzing modified logs updated minidumps slowly reconstructing getdirentries logic memory leak is back :( (getdirentries pfs messes something up)
but normal getdirentries passes fuzzing ~5% fail rate for pfs getdirentries

Tests for filesystem support
Basic functions + some nasty edge cases
Draft because I need to remake how results are presented, as reported by several testers
Otherwise, fully functional on real HW 12.02 and shadps4
Re-uploaded for a dedicated branch