mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-11-05 06:47:53 +00:00
2910aa77b2
`network.cpp` has several error paths which either: - report "Unhandled host socket error=n" and return `SUCCESS`, or - switch on a few possible errors, log them, and translate them to Errno; the same switch statement is copied and pasted in multiple places in the code Convert these paths to use a helper function `GetAndLogLastError`, which is roughly the equivalent of one of the switch statements, but: - handling more cases (both ones that were already in `Errno`, and a few more I added), and - using OS functions to convert the error to a string when logging, so it'll describe the error even if it's not one of the ones in the switch statement. - To handle this, refactor the logic in `GetLastErrorMsg` to expose a new function `NativeErrorToString` which takes the error number explicitly as an argument. And improve the Windows version a bit. Also, add a test which exercises two random error paths.
18 lines
471 B
CMake
18 lines
471 B
CMake
add_executable(tests
|
|
common/bit_field.cpp
|
|
common/cityhash.cpp
|
|
common/fibers.cpp
|
|
common/param_package.cpp
|
|
common/ring_buffer.cpp
|
|
core/core_timing.cpp
|
|
core/network/network.cpp
|
|
tests.cpp
|
|
video_core/buffer_base.cpp
|
|
)
|
|
|
|
create_target_directory_groups(tests)
|
|
|
|
target_link_libraries(tests PRIVATE common core)
|
|
target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} catch-single-include Threads::Threads)
|
|
|
|
add_test(NAME tests COMMAND tests)
|