Files
SectrPrototype/code2/grime/assert.odin

27 lines
804 B
Odin

package grime
// Below should be defined per-package
ensure :: #force_inline proc(condition: bool, msg: string, location := #caller_location) -> bool {
if condition do return true
log_print( msg, LoggerLevel.Warning, location )
when ODIN_DEBUG == false do return false
else {
debug_trap()
return false
}
}
// TODO(Ed) : Setup exit codes!
fatal :: #force_inline proc(msg: string, exit_code: int = -1, location := #caller_location) {
log_print( msg, LoggerLevel.Fatal, location )
debug_trap()
process_exit( exit_code )
}
// TODO(Ed) : Setup exit codes!
verify :: #force_inline proc(condition: bool, msg: string, exit_code: int = -1, location := #caller_location) -> bool {
if condition do return true
log_print( msg, LoggerLevel.Fatal, location )
debug_trap()
process_exit( exit_code )
}