signal_handler.odin 695 B

123456789101112131415161718192021222324252627282930313233
  1. //+private
  2. package testing
  3. import "base:runtime"
  4. import pkg_log "core:log"
  5. Stop_Reason :: enum {
  6. Unknown,
  7. Illegal_Instruction,
  8. Arithmetic_Error,
  9. Segmentation_Fault,
  10. }
  11. test_assertion_failure_proc :: proc(prefix, message: string, loc: runtime.Source_Code_Location) -> ! {
  12. pkg_log.fatalf("%s: %s", prefix, message, location = loc)
  13. runtime.trap()
  14. }
  15. setup_signal_handler :: proc() {
  16. _setup_signal_handler()
  17. }
  18. setup_task_signal_handler :: proc(test_index: int) {
  19. _setup_task_signal_handler(test_index)
  20. }
  21. should_stop_runner :: proc() -> bool {
  22. return _should_stop_runner()
  23. }
  24. should_stop_test :: proc() -> (test_index: int, reason: Stop_Reason, ok: bool) {
  25. return _should_stop_test()
  26. }