File: catch-signal.tesh

package info (click to toggle)
simgrid 4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 38,980 kB
  • sloc: cpp: 123,583; ansic: 66,779; python: 8,358; java: 6,406; fortran: 6,079; f90: 5,123; xml: 4,587; sh: 2,337; perl: 1,436; makefile: 105; lisp: 49; javascript: 7; sed: 6
file content (30 lines) | stat: -rw-r--r-- 764 bytes parent folder | download
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