diff --git a/tests/src/XSTSHarness/XMLHarnessHandlers.cpp b/tests/src/XSTSHarness/XMLHarnessHandlers.cpp index 4686194b2efc60062147a3ae5bf9135f2ba1ffb8..1f75452e7963e15e9be62179b896fba4767eef4f 100644 --- a/tests/src/XSTSHarness/XMLHarnessHandlers.cpp +++ b/tests/src/XSTSHarness/XMLHarnessHandlers.cpp @@ -33,10 +33,11 @@ // --------------------------------------------------------------------------- // XMLHarnessHandlers: Constructors and Destructor // --------------------------------------------------------------------------- -XMLHarnessHandlers::XMLHarnessHandlers(const XMLCh* baseURL) : BaseHarnessHandlers(baseURL) +XMLHarnessHandlers::XMLHarnessHandlers(const XMLCh* baseURL, const XMLCh* scanner) : BaseHarnessHandlers(baseURL) , fTestBaseURL(5) { fParser = XMLReaderFactory::createXMLReader(); + fParser->setProperty(XMLUni::fgXercesScannerName, (void*)scanner); fParser->setFeature(XMLUni::fgSAX2CoreValidation, true); fParser->setFeature(XMLUni::fgXercesDynamic, false); fParser->setErrorHandler(&fErrorHandler); diff --git a/tests/src/XSTSHarness/XMLHarnessHandlers.hpp b/tests/src/XSTSHarness/XMLHarnessHandlers.hpp index c12c1c3daebd2d5c0960b7d2f6fc425720dec95e..7a43d45fec94ed0c8647e9369ee1b4439cdccb0e 100644 --- a/tests/src/XSTSHarness/XMLHarnessHandlers.hpp +++ b/tests/src/XSTSHarness/XMLHarnessHandlers.hpp @@ -37,7 +37,7 @@ public: // ----------------------------------------------------------------------- // Constructors and Destructor // ----------------------------------------------------------------------- - XMLHarnessHandlers(const XMLCh* baseURL); + XMLHarnessHandlers(const XMLCh* baseURL, const XMLCh* scanner); ~XMLHarnessHandlers(); // ----------------------------------------------------------------------- diff --git a/tests/src/XSTSHarness/XSTSHarness.cpp b/tests/src/XSTSHarness/XSTSHarness.cpp index a0c86e206ee3603906f682ead3910cfdd911de63..e62814bab3ba7bacebdbe7d50472e34742cb7022 100644 --- a/tests/src/XSTSHarness/XSTSHarness.cpp +++ b/tests/src/XSTSHarness/XSTSHarness.cpp @@ -42,7 +42,7 @@ static XMLCh sz_XMLTestSuiteRoot[]={ chLatin_T, chLatin_E, chLatin_S, chLatin_T, chLatin_S, chLatin_U, chLatin_I, chLatin_T, chLatin_E, chNull }; const XMLCh dummy[]={ chLatin_f, chLatin_i, chLatin_l, chLatin_e, chColon, chForwardSlash, chForwardSlash, chLatin_d, chLatin_u, chLatin_m, chLatin_m, chLatin_y, chForwardSlash, chNull }; - +const XMLCh* g_scanner = XMLUni::fgIGXMLScanner; // --------------------------------------------------------------------------- // Local helper methods @@ -247,6 +247,18 @@ int main(int argC, char* argV[]) return 1; } + try + { + XMLPlatformUtils::Initialize(); + } + + catch (const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cout << "Error during initialization! Message:\n" + << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; + return 1; + } + int argInd; for (argInd = 1; argInd < argC; argInd++) { @@ -261,9 +273,9 @@ int main(int argC, char* argV[]) return 2; } // TODO: add option to generate the XML summarizing the result - else if (!strncmp(argV[argInd], "-v=", 3) - || !strncmp(argV[argInd], "-V=", 3)) + else if (!strncmp(argV[argInd], "-scanner=", 9)) { + g_scanner = XMLString::transcode(argV[argInd]+9); } else { @@ -282,18 +294,6 @@ int main(int argC, char* argV[]) return 1; } - try - { - XMLPlatformUtils::Initialize(); - } - - catch (const XMLException& toCatch) - { - XERCES_STD_QUALIFIER cout << "Error during initialization! Message:\n" - << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; - return 1; - } - // // Create a SAX parser object. // @@ -321,24 +321,24 @@ int main(int argC, char* argV[]) if(rootExtractor.isXMLSuite()) { // XML Test Suite - handler=new XMLHarnessHandlers(uri); + handler=new XMLHarnessHandlers(uri, g_scanner); } else { // XMLSchema Test Suite - handler=new XSTSHarnessHandlers(uri); + handler=new XSTSHarnessHandlers(uri, g_scanner); } XMLString::release(&uniFile); delete [] uri; parser->setContentHandler(handler); parser->setErrorHandler(handler); + bool errorOccurred=false; + const unsigned long startMillis = XMLPlatformUtils::getCurrentMillis(); // // Get the starting time and kick off the parse of the indicated - // file. Catch any exceptions that might propogate out of it. + // file. Catch any exceptions that might propagate out of it. // - bool errorOccurred=false; - const unsigned long startMillis = XMLPlatformUtils::getCurrentMillis(); try { parser->parse(xmlFile); @@ -360,16 +360,18 @@ int main(int argC, char* argV[]) XERCES_STD_QUALIFIER cout << "\nUnexpected exception during parsing: '" << xmlFile << "'\n"; errorOccurred = true; } + const unsigned long endMillis = XMLPlatformUtils::getCurrentMillis(); unsigned long duration = endMillis - startMillis; if (handler->getSawErrors()) errorOccurred = true; - XERCES_STD_QUALIFIER cout << "Total tests: " << handler->getTotalTests() << XERCES_STD_QUALIFIER endl; - XERCES_STD_QUALIFIER cout << "Failed tests: " << handler->getFailedTests() << XERCES_STD_QUALIFIER endl; - XERCES_STD_QUALIFIER cout << "Success rate: " << ((double)(handler->getTotalTests()-handler->getFailedTests()))/(double)handler->getTotalTests()*100 << "%" << XERCES_STD_QUALIFIER endl; - XERCES_STD_QUALIFIER cout << "Duration: "; + XERCES_STD_QUALIFIER cout << "Scanner: " << StrX(g_scanner) << XERCES_STD_QUALIFIER endl; + XERCES_STD_QUALIFIER cout << " Total tests: " << handler->getTotalTests() << XERCES_STD_QUALIFIER endl; + XERCES_STD_QUALIFIER cout << " Failed tests: " << handler->getFailedTests() << XERCES_STD_QUALIFIER endl; + XERCES_STD_QUALIFIER cout << " Success rate: " << ((double)(handler->getTotalTests()-handler->getFailedTests()))/(double)handler->getTotalTests()*100 << "%" << XERCES_STD_QUALIFIER endl; + XERCES_STD_QUALIFIER cout << " Duration: "; if(duration > 60000) { XERCES_STD_QUALIFIER cout << duration/60000 << ":"; diff --git a/tests/src/XSTSHarness/XSTSHarnessHandlers.cpp b/tests/src/XSTSHarness/XSTSHarnessHandlers.cpp index bffb5f0691a1921f4f4c4cd6a633fb8acfb732fe..200499d3f37c1431d67ddc7c94579034c504a934 100644 --- a/tests/src/XSTSHarness/XSTSHarnessHandlers.cpp +++ b/tests/src/XSTSHarness/XSTSHarnessHandlers.cpp @@ -33,9 +33,10 @@ // --------------------------------------------------------------------------- // XSTSHarnessHandlers: Constructors and Destructor // --------------------------------------------------------------------------- -XSTSHarnessHandlers::XSTSHarnessHandlers(const XMLCh* baseURL) : BaseHarnessHandlers(baseURL) +XSTSHarnessHandlers::XSTSHarnessHandlers(const XMLCh* baseURL, const XMLCh* scanner) : BaseHarnessHandlers(baseURL) { fParser = XMLReaderFactory::createXMLReader(); + fParser->setProperty(XMLUni::fgXercesScannerName, (void*)scanner); fParser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true); fParser->setFeature(XMLUni::fgSAX2CoreNameSpacePrefixes, true); fParser->setFeature(XMLUni::fgSAX2CoreValidation, true); diff --git a/tests/src/XSTSHarness/XSTSHarnessHandlers.hpp b/tests/src/XSTSHarness/XSTSHarnessHandlers.hpp index 25fdf7838e260124e7a49d238d9e4d8fa8d8e678..957581c330e554144bf6aa12038ea8d991e18750 100644 --- a/tests/src/XSTSHarness/XSTSHarnessHandlers.hpp +++ b/tests/src/XSTSHarness/XSTSHarnessHandlers.hpp @@ -56,7 +56,7 @@ public: // ----------------------------------------------------------------------- // Constructors and Destructor // ----------------------------------------------------------------------- - XSTSHarnessHandlers(const XMLCh* baseURL); + XSTSHarnessHandlers(const XMLCh* baseURL, const XMLCh* scanner); ~XSTSHarnessHandlers(); // -----------------------------------------------------------------------