]> granicus.if.org Git - libatomic_ops/commitdiff
Terminate tests with abort after error reported
authorIvan Maidanski <ivmai@mail.ru>
Tue, 18 Sep 2012 10:54:48 +0000 (14:54 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 18 Sep 2012 12:24:53 +0000 (14:24 +0200)
(Apply commit ebaf32f from 'master' branch)

* 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.

Conflicts:

    tests/test_atomic.c
    tests/test_stack.c

tests/test_atomic.c
tests/test_malloc.c
tests/test_stack.c

index e35402470e7b3cbcd2a6f578c1af732753393335..0be0d4b7ed84352256eb461a2f40262d945ab701 100644 (file)
@@ -76,8 +76,11 @@ void * acqrel_thr(void *id)
     if (me & 1)
       {
         AO_t my_counter1;
-    if (me != 1)
-      fprintf(stderr, "acqrel test: too many threads\n");
+        if (me != 1)
+          {
+            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);
index a1f41792fbd655478f2f46255ff62f09e7cd6386..a19ffd5fb724a2acbbafd525018b46aba53676f7 100644 (file)
@@ -151,6 +151,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);
index bf3180d7f893c65ad1a2da046243cec4865e4389..b5141dad81ef9f7fbe6f4f3381807c0fa812a3ae 100644 (file)
@@ -97,14 +97,23 @@ void check_list(int n)
        p = (list_element *)AO_REAL_NEXT_PTR(p -> next))
     {
       if (p -> data > n || p -> data <= 0)
-        fprintf(stderr, "Found erroneous list element %d\n", p -> data);
+        {
+          fprintf(stderr, "Found erroneous list element %d\n", p -> data);
+          abort();
+        }
       if (marks[p -> data] != 0)
-        fprintf(stderr, "Found duplicate list element %d\n", p -> data);
+        {
+          fprintf(stderr, "Found duplicate list element %d\n", p -> data);
+          abort();
+        }
       marks[p -> data] = 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;
@@ -218,6 +227,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);