X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/45fd73e922fcbd14b67a7327940bb2d63df60c02..88fad0aaff9eb463f048bfdfe4ad6218aba44ddb:/tools/tesh/catch-signal.tesh diff --git a/tools/tesh/catch-signal.tesh b/tools/tesh/catch-signal.tesh index 0d718c6422..2799b4f0d9 100644 --- a/tools/tesh/catch-signal.tesh +++ b/tools/tesh/catch-signal.tesh @@ -1,28 +1,30 @@ -#! ./tesh +#!/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. -$ rm -rf temp_testdir -$ mkdir temp_testdir +! output ignore +$ cmake -E remove_directory temp_testdir-catch-signal -$ cd temp_testdir -< #include -< int main(void) { -< char *A=NULL; -< *A = 1; -< } -$ cat > segfault.c +$ mkdir temp_testdir-catch-signal -$ gcc -o segfault segfault.c +$ cd temp_testdir-catch-signal -! expect return 15 -< $ ./segfault -$ ../tesh --log='log.thresh:info tesh.fmt:%m%n' +< 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 > Test suite from stdin -> [stdin:1] ./segfault -> Test suite `(stdin)': NOK ( got signal SIGSEGV) -> Output of so far: -> || +> [(stdin):1] perl segfault.pl +> Test suite `(stdin)': NOK (<(stdin):1> got signal SIGSEGV) $ cd .. -$ rm -rf temp_testdir + +! output ignore +$ cmake -E remove_directory temp_testdir-catch-signal