]> granicus.if.org Git - libexpat/commitdiff
Make test_nsalloc_long_uri() robust vs allocation pattern changes
authorRhodri James <rhodri@kynesim.co.uk>
Wed, 26 Jul 2017 16:45:50 +0000 (17:45 +0100)
committerRhodri James <rhodri@kynesim.co.uk>
Wed, 26 Jul 2017 16:45:50 +0000 (17:45 +0100)
expat/tests/runtests.c

index ea760cf9ef33578a3cf11ed1008717861cbd7421..44a65be12e35d1b993fcfec4be68fdd8612fb248 100644 (file)
@@ -10637,29 +10637,16 @@ START_TEST(test_nsalloc_long_uri)
         "'>"
         "</foo:e>";
     int i;
-#define MAX_ALLOC_COUNT 15
-    int repeated = 0;
+#define MAX_ALLOC_COUNT 40
 
     for (i = 0; i < MAX_ALLOC_COUNT; i++) {
-        /* Repeat some tests with the same allocation count to
-         * catch cached allocations not freed by XML_ParserReset()
-         */
-        if ((i == 3 && repeated == 1) ||
-            (i == 6 && repeated == 4)) {
-            i -= 2;
-            repeated++;
-        }
-        else if ((i == 2 && (repeated == 0 || repeated == 2)) ||
-                 (i == 4 && repeated == 3) ||
-                 (i == 8 && repeated == 5)) {
-            i--;
-            repeated++;
-        }
         allocation_count = i;
         if (_XML_Parse_SINGLE_BYTES(parser, text, strlen(text),
                                     XML_TRUE) != XML_STATUS_ERROR)
             break;
-        XML_ParserReset(parser, NULL);
+        /* See comment in test_nsalloc_xmlns() */
+        nsalloc_teardown();
+        nsalloc_setup();
     }
     if (i == 0)
         fail("Parsing worked despite failing allocations");