Initial project import
This commit is contained in:
commit
23f2d29e32
11957 files changed
+1754577
No files matched your search
@@ -0,0 +1,48 @@
|
||||
import os
|
||||
|
||||
fn former_handler(signal os.Signal) {
|
||||
println('former_handler')
|
||||
exit(0)
|
||||
}
|
||||
|
||||
fn default_handler(signal os.Signal) {
|
||||
println('default_handler')
|
||||
exit(0)
|
||||
}
|
||||
|
||||
fn test_signal_opt() {
|
||||
os.signal_opt(.int, default_handler) or { assert false }
|
||||
}
|
||||
|
||||
fn test_signal_opt_invalid_argument() {
|
||||
// Can't register a signal on SIGKILL
|
||||
if _ := os.signal_opt(.kill, default_handler) {
|
||||
assert false
|
||||
}
|
||||
os.signal_opt(.kill, default_handler) or {
|
||||
assert err.str() == 'Invalid argument; code: 22'
|
||||
assert err.msg() == 'Invalid argument'
|
||||
assert err.code() == 22
|
||||
}
|
||||
}
|
||||
|
||||
fn test_signal_opt_return_former_handler() {
|
||||
func1 := os.signal_opt(.term, former_handler) or { panic('unexpected error') }
|
||||
assert isnil(func1)
|
||||
func2 := os.signal_opt(.term, default_handler) or { panic('unexpected error') }
|
||||
assert !isnil(func2)
|
||||
// this should work, but makes the CI fail because of a bug in clang -fsanitize=memory
|
||||
// assert func2 == former_handler
|
||||
}
|
||||
|
||||
fn signal_ignore_in_background_thread() {
|
||||
os.signal_ignore(.pipe, .urg)
|
||||
assert true
|
||||
}
|
||||
|
||||
fn test_signal_ignore() {
|
||||
os.signal_ignore(.pipe, .urg)
|
||||
assert true
|
||||
t := spawn signal_ignore_in_background_thread()
|
||||
t.wait()
|
||||
}
|
||||
Reference in new issue
Block a user