[Issue #98] Removed undefined behaviour from signal samples

This commit is contained in:
Snaipe 2016-01-17 00:19:31 +01:00
parent 0590c0eb61
commit 813a526c8f
4 changed files with 12 additions and 22 deletions

View file

@ -1,19 +1,14 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <criterion/criterion.h>
Test(simple, caught, .signal = SIGSEGV) {
int *i = NULL;
*i = 42;
raise(SIGSEGV);
}
Test(simple, wrong_signal, .signal = SIGINT) {
int *i = NULL;
*i = 42;
raise(SIGSEGV);
}
Test(simple, uncaught) {
int *i = NULL;
*i = 42;
raise(SIGSEGV);
}

View file

@ -1,19 +1,14 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <csignal>
#include <criterion/criterion.h>
Test(simple, caught, .signal = SIGSEGV) {
int *i = NULL;
*i = 42;
std::raise(SIGSEGV);
}
Test(simple, wrong_signal, .signal = SIGINT) {
int *i = NULL;
*i = 42;
std::raise(SIGSEGV);
}
Test(simple, uncaught) {
int *i = NULL;
*i = 42;
std::raise(SIGSEGV);
}

View file

@ -1,13 +1,13 @@
Simple crashes & signal testing
$ signal.c.bin
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.c\x1b[0m:\x1b[0;31m16\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.c\x1b[0m:\x1b[0;31m12\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::uncaught: CRASH! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::wrong_signal (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m3\x1b[0;1m | Passing: \x1b[0;32m1\x1b[0;1m | Failing: \x1b[0;31m2\x1b[0;1m | Crashing: \x1b[0;31m1\x1b[0;1m \x1b[0m (esc)
$ signal.cc.bin
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.cc\x1b[0m:\x1b[0;31m16\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::uncaught: CRASH! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::wrong_signal (esc)
[\x1b[0;34m====\x1b[0m] \x1b[0;1mSynthesis: Tested: \x1b[0;34m3\x1b[0;1m | Passing: \x1b[0;32m1\x1b[0;1m | Failing: \x1b[0;31m2\x1b[0;1m | Crashing: \x1b[0;31m1\x1b[0;1m \x1b[0m (esc)
@ -20,7 +20,7 @@ Simple crashes & signal testing (verbose)
[\x1b[0;34mRUN \x1b[0m] simple::caught (esc)
[\x1b[0;32mPASS\x1b[0m] simple::caught (esc)
[\x1b[0;34mRUN \x1b[0m] simple::uncaught (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.c\x1b[0m:\x1b[0;31m16\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.c\x1b[0m:\x1b[0;31m12\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::uncaught: CRASH! (esc)
[\x1b[0;34mRUN \x1b[0m] simple::wrong_signal (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::wrong_signal (esc)
@ -32,7 +32,7 @@ Simple crashes & signal testing (verbose)
[\x1b[0;34mRUN \x1b[0m] simple::caught (esc)
[\x1b[0;32mPASS\x1b[0m] simple::caught (esc)
[\x1b[0;34mRUN \x1b[0m] simple::uncaught (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.cc\x1b[0m:\x1b[0;31m16\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;34m----\x1b[0m] \x1b[0;1msignal.cc\x1b[0m:\x1b[0;31m12\x1b[0m: Unexpected signal caught below this line! (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::uncaught: CRASH! (esc)
[\x1b[0;34mRUN \x1b[0m] simple::wrong_signal (esc)
[\x1b[0;31mFAIL\x1b[0m] simple::wrong_signal (esc)

View file

@ -17,7 +17,7 @@ Testing multiple samples with --tap
# Running 3 tests from simple
not ok - simple::wrong_signal
not ok - simple::uncaught unexpected signal after signal.c:16
not ok - simple::uncaught unexpected signal after signal.c:12
ok - simple::caught
$ asserts.c.bin --tap