mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-18 03:42:23 -07:00
Merge pull request #1658 from gitlost/odin_run_unix_exit_code_WEXITSTATUS
Use `WIFEXITED()` and `WEXITSTATUS()` on Unix `system()` exit code
This commit is contained in:
@@ -117,6 +117,9 @@ i32 system_exec_command_line_app(char const *name, char const *fmt, ...) {
|
||||
gb_printf_err("%s\n\n", cmd_line);
|
||||
}
|
||||
exit_code = system(cmd_line);
|
||||
if (WIFEXITED(exit_code)) {
|
||||
exit_code = WEXITSTATUS(exit_code);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (exit_code) {
|
||||
|
||||
+4
-1
@@ -2,7 +2,7 @@ ODIN=../../odin
|
||||
PYTHON=$(shell which python3)
|
||||
|
||||
all: download_test_assets image_test compress_test strings_test hash_test crypto_test noise_test encoding_test \
|
||||
math_test linalg_glsl_math_test filepath_test reflect_test
|
||||
math_test linalg_glsl_math_test filepath_test reflect_test os_exit_test
|
||||
|
||||
download_test_assets:
|
||||
$(PYTHON) download_assets.py
|
||||
@@ -41,3 +41,6 @@ filepath_test:
|
||||
|
||||
reflect_test:
|
||||
$(ODIN) run reflect/test_core_reflect.odin -out=test_core_reflect -collection:tests=..
|
||||
|
||||
os_exit_test:
|
||||
$(ODIN) run os/test_core_os_exit.odin -out=test_core_os_exit && exit 1 || exit 0
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// Tests that Odin run returns exit code of built executable on Unix
|
||||
// Needs exit status to be inverted to return 0 on success, e.g.
|
||||
// $(./odin run tests/core/os/test_core_os_exit.odin && exit 1 || exit 0)
|
||||
package test_core_os_exit
|
||||
|
||||
import "core:os"
|
||||
|
||||
main :: proc() {
|
||||
os.exit(1)
|
||||
}
|
||||
Reference in New Issue
Block a user