summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2011-09-21 12:46:39 +0400
committerIvan Maidanski <ivmai@mail.ru>2011-09-21 13:43:45 +0400
commit7296c4f7fa93b73777ed8d1d3d9f486353a2ba3a (patch)
tree4e42a253230afae0c86a26422f881cfe9ae212f6
parent30ab2d5d6e3cb323410a5f1782cc80ef68bd400f (diff)
downloadlibatomic_ops-7296c4f7fa93b73777ed8d1d3d9f486353a2ba3a.tar.gz
tests: Invoke exit() instead of abort() in case of out of memory
* tests/test_malloc.c (cons, run_one_test): Call exit with a non-zero code (instead of abort) if out of memory. * tests/test_stack.c (add_elements): Likewise. * tests/test_stack.c (main): Use a distinct exit code if a thread creation failed.
-rw-r--r--tests/test_malloc.c4
-rw-r--r--tests/test_stack.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/tests/test_malloc.c b/tests/test_malloc.c
index 4bf6e6c..b1f6eb2 100644
--- a/tests/test_malloc.c
+++ b/tests/test_malloc.c
@@ -74,7 +74,7 @@ ln *cons(int d, ln *tail)
{
fprintf(stderr, "Out of memory\n");
/* Normal for more than about 10 threads without mmap? */
- abort();
+ exit(2);
}
result -> data = d;
@@ -154,7 +154,7 @@ void * run_one_test(void * arg) {
{
fprintf(stderr, "Out of memory\n");
/* Normal for more than about 10 threads without mmap? */
- abort();
+ exit(2);
}
q[0] = q[LARGE_OBJ_SIZE/2] = q[LARGE_OBJ_SIZE-1] = 'b';
if (p[0] != 'a' || p[LARGE_OBJ_SIZE/2] != 'a'
diff --git a/tests/test_stack.c b/tests/test_stack.c
index 9b2e7b2..3a92d12 100644
--- a/tests/test_stack.c
+++ b/tests/test_stack.c
@@ -68,7 +68,7 @@ void add_elements(int n)
if (le == 0)
{
fprintf(stderr, "Out of memory\n");
- abort();
+ exit(2);
}
le -> data = n;
AO_stack_push(&the_list, (AO_t *)le);
@@ -203,12 +203,12 @@ int main(int argc, char **argv)
ops_performed = 0;
start_time = get_msecs();
for (i = 1; i < nthreads; ++i) {
- int code;
+ int code;
if ((code = pthread_create(thread+i, 0, run_one_test,
(void *)(long)i)) != 0) {
fprintf(stderr, "Thread creation failed %u\n", code);
- exit(1);
+ exit(3);
}
}
/* We use the main thread to run one test. This allows gprof */