From ebaf32fcb8ebb922bcc4e28ad49fabe3de126e9e Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Tue, 18 Sep 2012 14:54:48 +0400 Subject: [PATCH] Terminate tests with abort after error reported * tests/test_atomic.c (acqrel_thr): Call abort() after fprintf(stderr). * tests/test_malloc.c (run_one_test): Likewise. * tests/test_stack.c (check_list, main): Likewise. --- tests/test_atomic.c | 5 ++++- tests/test_malloc.c | 1 + tests/test_stack.c | 16 +++++++++++++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/test_atomic.c b/tests/test_atomic.c index 7356deb..30dbc05 100644 --- a/tests/test_atomic.c +++ b/tests/test_atomic.c @@ -76,7 +76,10 @@ void * acqrel_thr(void *id) { AO_t my_counter1; if (me != 1) - fprintf(stderr, "acqrel test: too many threads\n"); + { + fprintf(stderr, "acqrel test: too many threads\n"); + abort(); + } my_counter1 = AO_load(&counter1); AO_store(&counter1, my_counter1 + 1); AO_store_release_write(&counter2, my_counter1 + 1); diff --git a/tests/test_malloc.c b/tests/test_malloc.c index eebd4cc..73ca1ea 100644 --- a/tests/test_malloc.c +++ b/tests/test_malloc.c @@ -160,6 +160,7 @@ void * run_one_test(void * arg) { if (0 == p) { # ifdef HAVE_MMAP fprintf(stderr, "AO_malloc(%d) failed\n", LARGE_OBJ_SIZE); + abort(); # else fprintf(stderr, "AO_malloc(%d) failed: This is normal without mmap\n", LARGE_OBJ_SIZE); diff --git a/tests/test_stack.c b/tests/test_stack.c index 31f7748..27d375b 100644 --- a/tests/test_stack.c +++ b/tests/test_stack.c @@ -98,15 +98,24 @@ void check_list(int n) { i = p -> data; if (i > n || i <= 0) - fprintf(stderr, "Found erroneous list element %d\n", i); + { + fprintf(stderr, "Found erroneous list element %d\n", i); + abort(); + } if (marks[i] != 0) - fprintf(stderr, "Found duplicate list element %d\n", i); + { + fprintf(stderr, "Found duplicate list element %d\n", i); + abort(); + } marks[i] = 1; } for (i = 1; i <= n; ++i) if (marks[i] != 1) - fprintf(stderr, "Missing list element %d\n", i); + { + fprintf(stderr, "Missing list element %d\n", i); + abort(); + } } volatile AO_t ops_performed = 0; @@ -220,6 +229,7 @@ int main(int argc, char **argv) int code; if ((code = pthread_join(thread[i], 0)) != 0) { fprintf(stderr, "Thread join failed %u\n", code); + abort(); } } times[nthreads][exper_n] = (unsigned long)(get_msecs() - start_time); -- 2.7.4