X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/86051ed1b66342bae0e21fd6643e66331ac2c07d..e94c2a7fc81a82998524aa55db075be69990d4ea:/tools/tesh/catch-signal.tesh diff --git a/tools/tesh/catch-signal.tesh b/tools/tesh/catch-signal.tesh index 4fc075402e..2799b4f0d9 100644 --- a/tools/tesh/catch-signal.tesh +++ b/tools/tesh/catch-signal.tesh @@ -1,26 +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 -> [0.000000] [tesh/INFO] Test suite from stdin -> [0.000000] [tesh/INFO] [stdin:1] ./segfault -> [0.000000] run_context.c:350: [tesh/ERROR] Child "./segfault" got signal SIGSEGV. +< 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] 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