signal_handler.odin 712 B

12345678910111213141516171819202122232425262728293031323334
  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. Unhandled_Trap,
  11. }
  12. test_assertion_failure_proc :: proc(prefix, message: string, loc: runtime.Source_Code_Location) -> ! {
  13. pkg_log.fatalf("%s: %s", prefix, message, location = loc)
  14. runtime.trap()
  15. }
  16. setup_signal_handler :: proc() {
  17. _setup_signal_handler()
  18. }
  19. setup_task_signal_handler :: proc(test_index: int) {
  20. _setup_task_signal_handler(test_index)
  21. }
  22. should_stop_runner :: proc() -> bool {
  23. return _should_stop_runner()
  24. }
  25. should_stop_test :: proc() -> (test_index: int, reason: Stop_Reason, ok: bool) {
  26. return _should_stop_test()
  27. }