Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: third_party/libxml/src/runtest.c

Issue 1193533007: Upgrade to libxml 2.9.2 and libxslt 1.1.28 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no iconv Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/libxml/src/runsuite.c ('k') | third_party/libxml/src/runxmlconf.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libxml/src/runtest.c
diff --git a/third_party/libxml/src/runtest.c b/third_party/libxml/src/runtest.c
index bc28795f6411445bfd8dc2045dc6b1cbe47b11e8..02fe09a680924ff2802d4d2de938bd81dc4ce367 100644
--- a/third_party/libxml/src/runtest.c
+++ b/third_party/libxml/src/runtest.c
@@ -11,11 +11,8 @@
* daniel@veillard.com
*/
-#ifdef HAVE_CONFIG_H
#include "libxml.h"
-#else
#include <stdio.h>
-#endif
#if !defined(_WIN32) || defined(__CYGWIN__)
#include <unistd.h>
@@ -194,8 +191,7 @@ static void globfree(glob_t *pglob) {
free(pglob->gl_pathv[i]);
}
}
-#define vsnprintf _vsnprintf
-#define snprintf _snprintf
+
#else
#include <glob.h>
#endif
@@ -1683,7 +1679,8 @@ saxParseTest(const char *filename, const char *result,
}
if (ret != 0) {
fprintf(stderr, "Failed to parse %s\n", filename);
- return(1);
+ ret = 1;
+ goto done;
}
#ifdef LIBXML_HTML_ENABLED
if (options & XML_PARSE_HTML) {
@@ -1705,6 +1702,8 @@ saxParseTest(const char *filename, const char *result,
fprintf(stderr, "Got a difference for %s\n", filename);
ret = 1;
}
+
+done:
if (temp != NULL) {
unlink(temp);
free(temp);
@@ -2097,7 +2096,7 @@ static void processNode(FILE *out, xmlTextReaderPtr reader) {
}
static int
streamProcessTest(const char *filename, const char *result, const char *err,
- xmlTextReaderPtr reader, const char *rng) {
+ xmlTextReaderPtr reader, const char *rng, int options) {
int ret;
char *temp = NULL;
FILE *t = NULL;
@@ -2193,7 +2192,7 @@ streamParseTest(const char *filename, const char *result, const char *err,
int ret;
reader = xmlReaderForFile(filename, NULL, options);
- ret = streamProcessTest(filename, result, err, reader, NULL);
+ ret = streamProcessTest(filename, result, err, reader, NULL, options);
xmlFreeTextReader(reader);
return(ret);
}
@@ -2221,7 +2220,7 @@ walkerParseTest(const char *filename, const char *result, const char *err,
return(-1);
}
reader = xmlReaderWalker(doc);
- ret = streamProcessTest(filename, result, err, reader, NULL);
+ ret = streamProcessTest(filename, result, err, reader, NULL, options);
xmlFreeTextReader(reader);
xmlFreeDoc(doc);
return(ret);
@@ -2253,7 +2252,7 @@ streamMemParseTest(const char *filename, const char *result, const char *err,
return(-1);
}
reader = xmlReaderForMemory(base, size, filename, NULL, options);
- ret = streamProcessTest(filename, result, err, reader, NULL);
+ ret = streamProcessTest(filename, result, err, reader, NULL, options);
free((char *)base);
xmlFreeTextReader(reader);
return(ret);
@@ -2728,7 +2727,7 @@ static const char *urip_testURLs[] = {
"file:///path/to/a%20b.html",
"/path/to/a b.html",
"/path/to/a%20b.html",
- "urip://example.com/résumé.html",
+ "urip://example.com/r" "\xe9" "sum" "\xe9" ".html",
"urip://example.com/test?a=1&b=2%263&c=4#foo",
NULL
};
@@ -3312,9 +3311,11 @@ rngStreamTest(const char *filename,
fprintf(stderr, "Failed to build reder for %s\n", instance);
}
if (disable_err == 1)
- ret = streamProcessTest(instance, result, NULL, reader, filename);
+ ret = streamProcessTest(instance, result, NULL, reader, filename,
+ options);
else
- ret = streamProcessTest(instance, result, err, reader, filename);
+ ret = streamProcessTest(instance, result, err, reader, filename,
+ options);
xmlFreeTextReader(reader);
if (ret != 0) {
fprintf(stderr, "instance %s failed\n", instance);
@@ -3936,60 +3937,7 @@ thread_specific_data(void *private_data)
return ((void *) Okay);
}
-#if defined(linux) || defined(__sun) || defined(__APPLE_CC__)
-
-#include <pthread.h>
-
-static pthread_t tid[MAX_ARGC];
-
-static int
-testThread(void)
-{
- unsigned int i, repeat;
- unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
- void *results[MAX_ARGC];
- int ret;
- int res = 0;
-
- xmlInitParser();
-
- for (repeat = 0; repeat < 500; repeat++) {
- xmlLoadCatalog(catalog);
- nb_tests++;
-
- for (i = 0; i < num_threads; i++) {
- results[i] = NULL;
- tid[i] = (pthread_t) - 1;
- }
-
- for (i = 0; i < num_threads; i++) {
- ret = pthread_create(&tid[i], 0, thread_specific_data,
- (void *) testfiles[i]);
- if (ret != 0) {
- fprintf(stderr, "pthread_create failed\n");
- return (1);
- }
- }
- for (i = 0; i < num_threads; i++) {
- ret = pthread_join(tid[i], &results[i]);
- if (ret != 0) {
- fprintf(stderr, "pthread_join failed\n");
- return (1);
- }
- }
-
- xmlCatalogCleanup();
- for (i = 0; i < num_threads; i++)
- if (results[i] != (void *) Okay) {
- fprintf(stderr, "Thread %d handling %s failed\n",
- i, testfiles[i]);
- res = 1;
- }
- }
- return (res);
-}
-
-#elif defined WIN32
+#if defined WIN32
#include <windows.h>
#include <string.h>
@@ -4115,6 +4063,59 @@ testThread(void)
return(1);
return (0);
}
+
+#elif defined HAVE_PTHREAD_H
+#include <pthread.h>
+
+static pthread_t tid[MAX_ARGC];
+
+static int
+testThread(void)
+{
+ unsigned int i, repeat;
+ unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
+ void *results[MAX_ARGC];
+ int ret;
+ int res = 0;
+
+ xmlInitParser();
+
+ for (repeat = 0; repeat < 500; repeat++) {
+ xmlLoadCatalog(catalog);
+ nb_tests++;
+
+ for (i = 0; i < num_threads; i++) {
+ results[i] = NULL;
+ tid[i] = (pthread_t) - 1;
+ }
+
+ for (i = 0; i < num_threads; i++) {
+ ret = pthread_create(&tid[i], 0, thread_specific_data,
+ (void *) testfiles[i]);
+ if (ret != 0) {
+ fprintf(stderr, "pthread_create failed\n");
+ return (1);
+ }
+ }
+ for (i = 0; i < num_threads; i++) {
+ ret = pthread_join(tid[i], &results[i]);
+ if (ret != 0) {
+ fprintf(stderr, "pthread_join failed\n");
+ return (1);
+ }
+ }
+
+ xmlCatalogCleanup();
+ for (i = 0; i < num_threads; i++)
+ if (results[i] != (void *) Okay) {
+ fprintf(stderr, "Thread %d handling %s failed\n",
+ i, testfiles[i]);
+ res = 1;
+ }
+ }
+ return (res);
+}
+
#else
static int
testThread(void)
@@ -4207,6 +4208,14 @@ testDesc testDescriptions[] = {
{ "Validity checking regression tests" ,
errParseTest, "./test/VC/*", "result/VC/", NULL, "",
XML_PARSE_DTDVALID },
+#ifdef LIBXML_READER_ENABLED
+ { "Streaming validity checking regression tests" ,
+ streamParseTest, "./test/valid/*.xml", "result/valid/", NULL, ".err.rdr",
+ XML_PARSE_DTDVALID },
+ { "Streaming validity error checking regression tests" ,
+ streamParseTest, "./test/VC/*", "result/VC/", NULL, ".rdr",
+ XML_PARSE_DTDVALID },
+#endif
{ "General documents valid regression tests" ,
errParseTest, "./test/valid/*", "result/valid/", "", ".err",
XML_PARSE_DTDVALID },
« no previous file with comments | « third_party/libxml/src/runsuite.c ('k') | third_party/libxml/src/runxmlconf.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698