app/test: fix hash multiwriter sequence
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Oct 2016 22:34:50 +0000 (23:34 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 13 Oct 2016 13:40:39 +0000 (15:40 +0200)
Hash multiwriter test consists of two subtests.
If the any of the subtests fails, the overall test should fail,
but the overall test only passed if the second subtest passed,
because the return of the first subtest was being overwritten.

Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test/test_hash_multiwriter.c

index 40af95d..4dcbd9d 100644 (file)
@@ -247,8 +247,6 @@ err1:
 static int
 test_hash_multiwriter_main(void)
 {
-       int r = -1;
-
        if (rte_lcore_count() == 1) {
                printf("More than one lcore is required to do multiwriter test\n");
                return 0;
@@ -268,14 +266,16 @@ test_hash_multiwriter_main(void)
                printf("Test multi-writer with Hardware transactional memory\n");
 
                use_htm = 1;
-               r = test_hash_multiwriter();
+               if (test_hash_multiwriter() < 0)
+                       return -1;
        }
 
        printf("Test multi-writer without Hardware transactional memory\n");
        use_htm = 0;
-       r = test_hash_multiwriter();
+       if (test_hash_multiwriter() < 0)
+               return -1;
 
-       return r;
+       return 0;
 }
 
 REGISTER_TEST_COMMAND(hash_multiwriter_autotest, test_hash_multiwriter_main);