Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of github.com:mquinson/simgrid
[simgrid.git] / tools / tesh / catch-signal.tesh
index 2c85e62..be19f34 100644 (file)
@@ -2,27 +2,25 @@
 # 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
+$ cmake -E remove_directory temp_testdir-catch-signal
+$ mkdir temp_testdir-catch-signal
 
-$ cd temp_testdir
-< #include <stdlib.h>
-< int main(void) {
-<   char *A=NULL;
-<   *A = 1;
-< }
-$ mkfile segfault.c
+$ cd temp_testdir-catch-signal
+< kill 'SEGV', $$;
+$ mkfile segfault.pl
 
-$ gcc -o segfault segfault.c
+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 15
-< $ ./segfault
-$ ../tesh --log='log.thresh:info tesh.fmt:%m%n'
+< $ perl segfault.pl
+$ perl ${bindir:=.}/tesh
 > Test suite from stdin
-> [stdin:1] ./segfault
-> Test suite `(stdin)': NOK (<stdin:1> got signal SIGSEGV)
-> Output of <stdin:1> so far: 
-> ||
+> [(stdin):1] perl segfault.pl
+> Test suite `(stdin)': NOK (<(stdin):1> got signal SIGSEGV)
+> <(stdin):1> No output so far.
 
 $ cd ..
-$ rm -rf temp_testdir
+$ cmake -E remove_directory temp_testdir-catch-signal