aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2018-09-17 09:06:15 +0200
committerAndreas Schneider <asn@cryptomilk.org>2018-09-17 09:06:15 +0200
commit6bbe83163d2a430526e03d23c1867f5407af87e7 (patch)
tree4029b486fe1fb92632b91d5a91921b815be1a994 /src
parent7b8d5c42e29282ce47775645ef5b934475df4d37 (diff)
downloadcmocka-6bbe83163d2a430526e03d23c1867f5407af87e7.tar.gz
cmocka-6bbe83163d2a430526e03d23c1867f5407af87e7.tar.xz
cmocka-6bbe83163d2a430526e03d23c1867f5407af87e7.zip
cmocka: Do not abort if a test is skipped
Thans to Jeff Olivier. Fixes #3
Diffstat (limited to 'src')
-rw-r--r--src/cmocka.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cmocka.c b/src/cmocka.c
index 1cc3043..fc26acc 100644
--- a/src/cmocka.c
+++ b/src/cmocka.c
@@ -388,9 +388,15 @@ struct CMUnitTestState {
/* Exit the currently executing test. */
static void exit_test(const int quit_application)
{
- const char *abort_test = getenv("CMOCKA_TEST_ABORT");
+ const char *env = getenv("CMOCKA_TEST_ABORT");
+ int abort_test = 0;
- if (abort_test != NULL && abort_test[0] == '1') {
+ if (env != NULL && strlen(env) == 1) {
+ abort_test = (env[0] == '1');
+ }
+
+ if (global_skip_test == 0 &&
+ abort_test == 1) {
print_error("%s", cm_error_message);
abort();
} else if (global_running_test) {