]> granicus.if.org Git - curl/commitdiff
unit1603: Demote hash mismatch failure to a warning
authordfandrich <dan@coneharvesters.com>
Thu, 12 Nov 2015 22:45:56 +0000 (23:45 +0100)
committerDan Fandrich <dan@coneharvesters.com>
Thu, 12 Nov 2015 22:50:18 +0000 (23:50 +0100)
The hashes can vary between architectures (e.g. Sparc differs from x86_64).
This is not a fatal problem but just reduces the coverage of these white-box
tests, as the assumptions about into which hash bucket each key falls are no
longer valid.

tests/unit/unit1603.c

index 27a08a73faf415cbf41c20794261f65400f8d9f3..7d4a7105cf6512aed83d3f1a1de1c733589c8277 100644 (file)
@@ -57,16 +57,15 @@ UNITTEST_START
   char *nodep;
   int rc;
 
-  /* Ensure the key1 hashes are as expected in order to test both hash
-     collisions and a full table */
-  fail_unless(Curl_hash_str(key1, strlen(key1), slots) == 1,
-              "hashes are not computed as expected");
-  fail_unless(Curl_hash_str(key2, strlen(key2), slots) == 0,
-              "hashes are not computed as expected");
-  fail_unless(Curl_hash_str(key3, strlen(key3), slots) == 2,
-              "hashes are not computed as expected");
-  fail_unless(Curl_hash_str(key4, strlen(key4), slots) == 1,
-              "hashes are not computed as expected");
+  /* Ensure the key hashes are as expected in order to test both hash
+     collisions and a full table. Unfortunately, the hashes can vary
+     between architectures. */
+  if(Curl_hash_str(key1, strlen(key1), slots) != 1 ||
+     Curl_hash_str(key2, strlen(key2), slots) != 0 ||
+     Curl_hash_str(key3, strlen(key3), slots) != 2 ||
+     Curl_hash_str(key4, strlen(key4), slots) != 1)
+    fprintf(stderr, "Warning: hashes are not computed as expected on this "
+            "architecture; test coverage will be less comprehensive\n");
 
   nodep = Curl_hash_add(&hash_static, &key1, strlen(key1), &key1);
   fail_unless(nodep, "insertion into hash failed");