]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Fixed test 1309 to pass the torture test
authorDan Fandrich <dan@coneharvesters.com>
Sat, 11 Jun 2011 07:10:09 +0000 (00:10 -0700)
committerDan Fandrich <dan@coneharvesters.com>
Sat, 11 Jun 2011 07:10:09 +0000 (00:10 -0700)
Removing dynamic allocations also simplifies the test.

tests/unit/unit1309.c

index 6581642e812235b5259c8c4d5396998b6953a58f..1304ba18e9413e0b1eff90f800fac07ec11366f8 100644 (file)
@@ -70,25 +70,20 @@ UNITTEST_START
 /* number of nodes to add to the splay tree */
 #define NUM_NODES 50
 
-  struct Curl_tree *root, *t;
-  void *ptrs[NUM_NODES];
+  struct Curl_tree *root;
+  struct Curl_tree nodes[NUM_NODES];
   int rc;
   int i;
   root = NULL;              /* the empty tree */
 
   for(i = 0; i < NUM_NODES; i++) {
     struct timeval key;
-    ptrs[i] = t = malloc(sizeof(struct Curl_tree));
-    if(!t) {
-      puts("out of memory!");
-      return 0;
-    }
 
     key.tv_sec = 0;
     key.tv_usec = (541*i)%1023;
 
-    t->payload = (void *)key.tv_usec; /* for simplicity */
-    root = Curl_splayinsert(key, root, t);
+    nodes[i].payload = (void *)key.tv_usec; /* for simplicity */
+    root = Curl_splayinsert(key, root, &nodes[i]);
   }
 
   puts("Result:");
@@ -99,11 +94,13 @@ UNITTEST_START
     printf("Tree look:\n");
     splayprint(root, 0, 1);
     printf("remove pointer %d, payload %ld\n", rem,
-           (long)((struct Curl_tree *)ptrs[rem])->payload);
-    rc = Curl_splayremovebyaddr(root, (struct Curl_tree *)ptrs[rem], &root);
-    if(rc)
+           (long)(nodes[rem].payload));
+    rc = Curl_splayremovebyaddr(root, &nodes[rem], &root);
+    if(rc) {
       /* failed! */
       printf("remove %d failed!\n", rem);
+      fail("remove");
+    }
   }
 
 UNITTEST_STOP