mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-06 13:30:00 +00:00
test(libSceAudioOut): cover null state pointer in sceAudioOutGetPortState
This commit is contained in:
1 parent
e450145140
commit
ea179774da
2 files changed
+32
No files matched your search
@@ -317,6 +317,16 @@ if(BUILD_TESTING)
|
||||
"PATH=path_list_prepend:$<TARGET_FILE_DIR:libSceAudioOut>")
|
||||
endif()
|
||||
|
||||
add_test_executable(guest_audio_out_tests ${LIBS_INCLUDE_DIR}/tests/GuestAudioOut.cpp)
|
||||
target_include_directories(guest_audio_out_tests PRIVATE ${LIBS_INCLUDE_DIR})
|
||||
target_link_libraries(guest_audio_out_tests PRIVATE libSceAudioOut libc)
|
||||
configure_windows_unwind(guest_audio_out_tests)
|
||||
add_test(NAME guest_audio_out COMMAND guest_audio_out_tests)
|
||||
if(WIN32)
|
||||
set_tests_properties(guest_audio_out PROPERTIES ENVIRONMENT_MODIFICATION
|
||||
"PATH=path_list_prepend:$<TARGET_FILE_DIR:libSceAudioOut>")
|
||||
endif()
|
||||
|
||||
add_test_executable(audio_out2_context_handles_tests tests/AudioOut2ContextHandles.cpp)
|
||||
target_include_directories(audio_out2_context_handles_tests PRIVATE ${LIBS_INCLUDE_DIR})
|
||||
target_link_libraries(audio_out2_context_handles_tests PRIVATE libSceAudioOut libc)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#include "prx/libSceAudioOut/include/AudioOut.hpp"
|
||||
#include "SceTypes.hpp"
|
||||
#include "prx/libc/include/Shutdown.hpp"
|
||||
#include <cstdlib>
|
||||
|
||||
static void Require(bool value) {
|
||||
if (!value) {
|
||||
std::abort();
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
constexpr int invalidPointer = static_cast<int>(0x80260004);
|
||||
constexpr int invalidHandle = static_cast<int>(0x80260001);
|
||||
|
||||
Require(sceAudioOutInit() == 0);
|
||||
Require(sceAudioOutGetPortState(invalidHandle, nullptr) == invalidPointer);
|
||||
Require(sceAudioOutGetPortState(0, nullptr) == invalidPointer);
|
||||
|
||||
LibcRunShutdown_nid_postfix();
|
||||
return 0;
|
||||
}
|
||||
Reference in new issue
Block a user