1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#!/usr/bin/env tesh
# This suite builds and uses a program raising a segfault, ie a program dying
# of SIGSEV. tesh must detect this condition and report the issue.
! output ignore
$ cmake -E remove_directory temp_testdir-catch-signal
$ mkdir temp_testdir-catch-signal
$ cd temp_testdir-catch-signal
< kill 'SEGV', $$;
$ mkfile segfault.pl
p Check that we notice when SEGV is raised
! expect signal SIGSEGV
$ perl segfault.pl
p Check that we return the expected return value on SEGV
! expect return 11
< $ perl segfault.pl
$ ${bindir:=.}/tesh --no-auto-valgrind
> Test suite from stdin
> [(stdin):1] perl segfault.pl
> Test suite `(stdin)': NOK (<(stdin):1> got signal SIGSEGV)
$ cd ..
! output ignore
$ cmake -E remove_directory temp_testdir-catch-signal
|