You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2005/04/22 03:31:51 UTC

cvs commit: xml-xalan/c/src/xalanc/Harness XalanFileUtility.cpp XalanFileUtility.hpp

dbertoni    2005/04/21 18:31:51

  Modified:    c/src/xalanc/Harness XalanFileUtility.cpp
                        XalanFileUtility.hpp
  Log:
  Patch for Jira issue XALANC-490.
  
  Revision  Changes    Path
  1.6       +306 -237  xml-xalan/c/src/xalanc/Harness/XalanFileUtility.cpp
  
  Index: XalanFileUtility.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/Harness/XalanFileUtility.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanFileUtility.cpp	25 Nov 2004 20:45:53 -0000	1.5
  +++ XalanFileUtility.cpp	22 Apr 2005 01:31:50 -0000	1.6
  @@ -125,7 +125,7 @@
   
   
   
  -XalanFileUtility::reportStruct::reportStruct(MemoryManagerType& theManager) :
  +XalanFileUtility::reportStruct::reportStruct(MemoryManagerType&     theManager) :
       theDrive(theManager),
       testOrFile(theManager),
       xmlFileURL(theManager),
  @@ -187,9 +187,10 @@
   
   
   
  -XalanFileUtility::XalanFileUtility(MemoryManagerType& theManager) :
  +XalanFileUtility::XalanFileUtility(MemoryManagerType&   theManager) :
       data(theManager),
  -    args(theManager)
  +    args(theManager),
  +    m_memoryManager(theManager)
   {
       cout << endl
            << "Using Xalan version "
  @@ -211,7 +212,7 @@
   
   #if !defined(WIN32)
   XalanDOMString&
  -XalanFileUtility::getDrive(XalanDOMString& theResult)
  +XalanFileUtility::getDrive(XalanDOMString&  theResult)
   {
       theResult.erase();
   
  @@ -219,7 +220,7 @@
   }
   #else
   XalanDOMString&
  -XalanFileUtility::getDrive(XalanDOMString& theResult)
  +XalanFileUtility::getDrive(XalanDOMString&  theResult)
   {
       const char temp[] =
       {
  @@ -256,9 +257,9 @@
       }
       else
       {
  -        if (checkDir(XalanDOMString(argv[1],XalanMemMgrs::getDefaultXercesMemMgr())))
  +        if (checkDir(XalanDOMString(argv[1], m_memoryManager)))
           {
  -            assign(args.base, XalanDOMString(argv[1],XalanMemMgrs::getDefaultXercesMemMgr()));
  +            assign(args.base, XalanDOMString(argv[1], m_memoryManager));
           }
           else
           {
  @@ -277,7 +278,7 @@
               ++i;
               if(i < argc && argv[i][0] != '-')
               {
  -                assign(args.output, XalanDOMString(argv[i],XalanMemMgrs::getDefaultXercesMemMgr()));
  +                assign(args.output, XalanDOMString(argv[i], m_memoryManager));
                   append(args.output, s_pathSep);
                   checkAndCreateDir(args.output);
                   fsetOut = false;
  @@ -293,11 +294,11 @@
               ++i;
               if(i < argc && argv[i][0] != '-')
               {
  -                assign(args.gold, XalanDOMString(argv[i],XalanMemMgrs::getDefaultXercesMemMgr()));
  +                assign(args.gold, XalanDOMString(argv[i], m_memoryManager));
   
                   if ( !checkDir(args.gold) )
                   {   
  -                    CharVectorType     theResult(XalanMemMgrs::getDefaultXercesMemMgr());
  +                    CharVectorType     theResult(m_memoryManager);
                       TranscodeToLocalCodePage(args.gold, theResult, true);
   
                       cout << "Given Gold dir - " << c_str(theResult) << " - does not exist" << endl;
  @@ -345,7 +346,7 @@
               ++i;
               if(i < argc && argv[i][0] != '-')
               {
  -                assign(args.sub, XalanDOMString(argv[i],XalanMemMgrs::getDefaultXercesMemMgr()));
  +                assign(args.sub, XalanDOMString(argv[i], m_memoryManager));
               }
               else
               {
  @@ -391,7 +392,7 @@
               args.output.assign(args.base, 0, ii + 1);
           }
   
  -        append(args.output,XalanDOMString(outDir,XalanMemMgrs::getDefaultXercesMemMgr()));
  +        append(args.output,XalanDOMString(outDir, m_memoryManager));
           checkAndCreateDir(args.output);
           append(args.output,s_pathSep); 
   
  @@ -401,10 +402,10 @@
       if (fsetGold)
       {
           args.gold = args.base;
  -        append(args.gold,XalanDOMString("-gold",XalanMemMgrs::getDefaultXercesMemMgr()));
  +        append(args.gold,XalanDOMString("-gold", m_memoryManager));
           if ( !checkDir(args.gold) )
           {   
  -            CharVectorType     theResult(XalanMemMgrs::getDefaultXercesMemMgr());
  +            CharVectorType     theResult(m_memoryManager);
               TranscodeToLocalCodePage(args.gold, theResult, true);
               cout << "Assumed Gold dir - " << c_str(theResult) << " - does not exist" << endl;
               fSuccess = false;
  @@ -439,8 +440,8 @@
       char buffer3[PATH_MAX];
       getcwd(buffer3, PATH_MAX);
   
  -    const XalanDOMString    searchSuffix(XALAN_STATIC_UCODE_STRING("*.xsl"),XalanMemMgrs::getDefaultXercesMemMgr());
  -    XalanDOMString  searchSpecification(XalanMemMgrs::getDefaultXercesMemMgr());
  +    const XalanDOMString    searchSuffix(XALAN_STATIC_UCODE_STRING("*.xsl"), m_memoryManager);
  +    XalanDOMString  searchSpecification(m_memoryManager);
   
       // Allow directory search w/o mandating files start with directory name. Required for files
       // garnered from XSLTMARK performance directory exm.
  @@ -476,19 +477,25 @@
   //  Notes:  The searchSpecification in this case is just "*". 
   //                                                                          */  
   XalanFileUtility::FileNameVectorType&
  -XalanFileUtility::getDirectoryNames(const XalanDOMString&        rootDirectory,
  -                      XalanFileUtility::FileNameVectorType&      theFiles)
  +XalanFileUtility::getDirectoryNames(
  +            const XalanDOMString&                   rootDirectory,
  +            XalanFileUtility::FileNameVectorType&   theFiles)
   {
       char buffer2[PATH_MAX];
       getcwd(buffer2, PATH_MAX);
   
  -    const XalanDOMString    dirSpec(XALAN_STATIC_UCODE_STRING("*"),XalanMemMgrs::getDefaultXercesMemMgr());
  +    const XalanDOMString    dirSpec(XALAN_STATIC_UCODE_STRING("*"), m_memoryManager);
   
       DirectoryEnumeratorFunctor<FileNameVectorType, XalanDOMString, DirectoryFilterPredicate> theEnumerator;
   
  -    theEnumerator(XalanDOMString(rootDirectory, XalanMemMgrs::getDefaultXercesMemMgr()), 
  -                                    XalanDOMString(dirSpec, XalanMemMgrs::getDefaultXercesMemMgr()), 
  -                                    theFiles);
  +    theEnumerator(
  +        XalanDOMString(
  +            rootDirectory,
  +            m_memoryManager),
  +        XalanDOMString(
  +            dirSpec,
  +            m_memoryManager), 
  +        theFiles);
       
       chdir(buffer2);
   
  @@ -504,7 +511,8 @@
   
       bool    fResult = false;
   
  -    CharVectorType     theResult(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     theResult(m_memoryManager);
  +
       TranscodeToLocalCodePage(directory, theResult, true);
   
       if ( !chdir(c_str(theResult)) )
  @@ -524,13 +532,14 @@
   
       getcwd(buffer, PATH_MAX);
   
  -    CharVectorType     theResult(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     theResult(m_memoryManager);
  +
       TranscodeToLocalCodePage(directory, theResult, true);
   
       if ( (chdir(c_str(theResult))))
       {
           //cout << "Couldn't change to " << directory << ", will create it." << endl;
  -            CharVectorType     theResult1(XalanMemMgrs::getDefaultXercesMemMgr());
  +            CharVectorType     theResult1(m_memoryManager);
               TranscodeToLocalCodePage(directory, theResult1, true);
   #if defined(WIN32)
           if ( !mkdir(c_str(theResult)))
  @@ -579,13 +588,13 @@
       {
           targetFile.assign(theXMLFileName, 0, thePeriodIndex + 1);
   
  -        targetFile += XalanDOMString(suffix, XalanMemMgrs::getDefaultXercesMemMgr());
  +        targetFile += XalanDOMString(suffix, m_memoryManager);
       }
   
       // Check the .xml file exists.
       if (!strcmp(suffix,"xml"))
       {
  -        CharVectorType     theResult(XalanMemMgrs::getDefaultXercesMemMgr());
  +        CharVectorType     theResult(m_memoryManager);
           TranscodeToLocalCodePage(targetFile, theResult, true);
   
           FILE* fileHandle = fopen(c_str(theResult), "r");
  @@ -667,16 +676,16 @@
               const XalanDOMString&   mimeEncoding,
               const StylesheetRoot*   stylesheet)
   {
  -    XalanDOMString  version(resultWriter.getMemoryManager());
  +    XalanDOMString  version(m_memoryManager);
       bool            outputIndent= 0;
  -    XalanDOMString  mediatype(resultWriter.getMemoryManager());
  -    XalanDOMString  doctypeSystem(resultWriter.getMemoryManager());
  -    XalanDOMString  doctypePublic(resultWriter.getMemoryManager());
  -    XalanDOMString  standalone(resultWriter.getMemoryManager());
  +    XalanDOMString  mediatype(m_memoryManager);
  +    XalanDOMString  doctypeSystem(m_memoryManager);
  +    XalanDOMString  doctypePublic(m_memoryManager);
  +    XalanDOMString  standalone(m_memoryManager);
   
       if (stylesheet != 0)
       {
  -        XalanDOMString theBuffer(resultWriter.getMemoryManager());
  +        XalanDOMString  theBuffer(m_memoryManager);
   
           version = stylesheet->getOutputVersion(theBuffer);
   
  @@ -734,20 +743,20 @@
   
           // if the compairson fails gather up the failure data and determine if it failed 
           // due to bad output or missing Gold file. Lastly, log the failure.
  -        Hashtable   attrs(logfile.getMemoryManager());
  -        Hashtable   actexp(logfile.getMemoryManager());
  +        Hashtable   attrs(m_memoryManager);
  +        Hashtable   actexp(m_memoryManager);
   
           reportError();
   
  -        attrs.insert(XalanDOMString("reason", logfile.getMemoryManager()), XalanDOMString(data.msg, logfile.getMemoryManager()));
  -        attrs.insert(XalanDOMString("atNode", logfile.getMemoryManager()), data.currentNode);
  -        actexp.insert(XalanDOMString("exp", logfile.getMemoryManager()),data.expected);
  -        actexp.insert(XalanDOMString("act", logfile.getMemoryManager()), data.actual);
  -
  -        actexp.insert(XalanDOMString("xsl", logfile.getMemoryManager()), data.xslFileURL);
  -        actexp.insert( XalanDOMString("xml", logfile.getMemoryManager()),  data.xmlFileURL);
  -        actexp.insert( XalanDOMString("result", logfile.getMemoryManager()),  outputFile );
  -        actexp.insert( XalanDOMString("gold", logfile.getMemoryManager()),  goldFile);
  +        attrs.insert(XalanDOMString("reason", m_memoryManager), XalanDOMString(data.msg, m_memoryManager));
  +        attrs.insert(XalanDOMString("atNode", m_memoryManager), data.currentNode);
  +        actexp.insert(XalanDOMString("exp", m_memoryManager),data.expected);
  +        actexp.insert(XalanDOMString("act", m_memoryManager), data.actual);
  +
  +        actexp.insert(XalanDOMString("xsl", m_memoryManager), data.xslFileURL);
  +        actexp.insert( XalanDOMString("xml", m_memoryManager),  data.xmlFileURL);
  +        actexp.insert( XalanDOMString("result", m_memoryManager),  outputFile );
  +        actexp.insert( XalanDOMString("gold", m_memoryManager),  goldFile);
   
           if (ambgFlag < data.nogold)
           {
  @@ -771,8 +780,6 @@
               const XalanDOMString&   goldFile,
               bool                    containsOnly)
   {
  -    MemoryManagerType& mgr = logfile.getMemoryManager();
  -
       if(actual == expected ||
          (containsOnly == true && indexOf(actual, expected) != XalanDOMString::npos))
       {
  @@ -791,14 +798,14 @@
   
           typedef XalanXMLFileReporter::Hashtable  Hashtable;
   
  -        Hashtable   actexp(mgr);
  +        Hashtable   actexp(m_memoryManager);
   
  -        actexp.insert( XalanDOMString("exp", mgr), expected);
  -        actexp.insert( XalanDOMString("act", mgr), actual);
  -        actexp.insert( XalanDOMString("xsl", mgr), data.xslFileURL);
  -        actexp.insert( XalanDOMString("xml", mgr), data.xmlFileURL);
  -        actexp.insert( XalanDOMString("result", mgr), outputFile);
  -        actexp.insert( XalanDOMString("gold", mgr), goldFile);
  +        actexp.insert( XalanDOMString("exp", m_memoryManager), expected);
  +        actexp.insert( XalanDOMString("act", m_memoryManager), actual);
  +        actexp.insert( XalanDOMString("xsl", m_memoryManager), data.xslFileURL);
  +        actexp.insert( XalanDOMString("xml", m_memoryManager), data.xmlFileURL);
  +        actexp.insert( XalanDOMString("result", m_memoryManager), outputFile);
  +        actexp.insert( XalanDOMString("gold", m_memoryManager), goldFile);
   
           // Todo: Need to determine if I should check for missing gold in these cases.
           logfile.logCheckFail(data.testOrFile, actexp);
  @@ -827,13 +834,11 @@
               const XSLTInputSource&          goldInputSource,
               XalanXMLFileReporter&                logfile)
   {
  -    MemoryManagerType& theManager = logfile.getMemoryManager();
  -
       const int   ambgFlag = data.nogold;
   
  -    const XalanDOMString    mimeEncoding("", theManager);
  +    const XalanDOMString    mimeEncoding("", m_memoryManager);
   
  -    XalanFileOutputStream           myOutput(theOutputFile, theManager);
  +    XalanFileOutputStream           myOutput(theOutputFile, m_memoryManager);
       XalanOutputStreamPrintWriter    myResultWriter(myOutput);
   
       FormatterListener* const    theFormatter =
  @@ -843,14 +848,14 @@
               mimeEncoding,
               compiledSS->getStylesheetRoot());
   
  -    FormatterTreeWalker     theTreeWalker(*theFormatter, theManager);
  +    FormatterTreeWalker     theTreeWalker(*theFormatter, m_memoryManager);
   
       theTreeWalker.traverse(dom);
   
  -    destroyObjWithMemMgr( theFormatter, theManager);
  +    destroyObjWithMemMgr(theFormatter, m_memoryManager);
   
       XalanSourceTreeDOMSupport       domSupport;
  -    XalanSourceTreeParserLiaison    parserLiaison(domSupport, theManager);
  +    XalanSourceTreeParserLiaison    parserLiaison(domSupport, m_memoryManager);
       
       domSupport.setParserLiaison(&parserLiaison);
   
  @@ -869,15 +874,26 @@
   
           // if the compairson fails gather up the failure data and determine if it failed 
           // due to bad output or missing Gold file. Lastly, log the failure.
  -        Hashtable attrs(theManager);
  -        Hashtable actexp(theManager);
  +        Hashtable attrs(m_memoryManager);
  +        Hashtable actexp(m_memoryManager);
   
           reportError();
   
  -        attrs.insert( XalanDOMString("reason", theManager),  XalanDOMString(data.msg, theManager));
  -        attrs.insert( XalanDOMString("atNode", theManager), data.currentNode );
  -        actexp.insert( XalanDOMString("exp", theManager), data.expected);
  -        actexp.insert( XalanDOMString("act", theManager), data.actual);
  +        attrs.insert(
  +            XalanDOMString("reason", m_memoryManager), 
  +            XalanDOMString(data.msg, m_memoryManager));
  +
  +        attrs.insert(
  +            XalanDOMString("atNode", m_memoryManager),
  +            data.currentNode);
  +
  +        actexp.insert(
  +            XalanDOMString("exp", m_memoryManager),
  +            data.expected);
  +
  +        actexp.insert(
  +            XalanDOMString("act", m_memoryManager),
  +            data.actual);
   
           if (ambgFlag < data.nogold)
           {
  @@ -909,13 +925,11 @@
               const XalanDOMString&   goldFile)
   {
   
  -    const XSLTInputSource resultInputSource(outputFile);
  -    const XSLTInputSource goldInputSource(goldFile);
  -
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  +    const XSLTInputSource   resultInputSource(outputFile, m_memoryManager);
  +    const XSLTInputSource   goldInputSource(goldFile, m_memoryManager);
   
       XalanSourceTreeDOMSupport       domSupport;
  -    XalanSourceTreeParserLiaison    parserLiaison(domSupport, theManager );
  +    XalanSourceTreeParserLiaison    parserLiaison(domSupport, m_memoryManager);
   
       domSupport.setParserLiaison(&parserLiaison);
   
  @@ -938,10 +952,10 @@
       {
           cout << "SAXException: Using fileCompare to check output.\n";
   
  -        CharVectorType     goldFileVec(XalanMemMgrs::getDefaultXercesMemMgr());
  +        CharVectorType     goldFileVec(m_memoryManager);
           TranscodeToLocalCodePage(goldFile, goldFileVec, true);
   
  -        CharVectorType     outputFileVec(XalanMemMgrs::getDefaultXercesMemMgr());
  +        CharVectorType     outputFileVec(m_memoryManager);
           TranscodeToLocalCodePage(outputFile, outputFileVec, true);
           return fileCompare(c_str(goldFileVec), c_str(outputFileVec));
       }
  @@ -988,15 +1002,13 @@
   
       char rline[maxBuffer] = {'0'};  // declare buffers to hold single line from file
       char gline[maxBuffer] = {'0'};  
  -    char temp[10];              // buffer to hold line number
  +    char temp[20];              // buffer to hold line number
       char lineNum = 1;
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
       // Set fail data incase there are i/o problems with the files to compare.
  -    data.expected = XalanDOMString(" ", theManager);
  -    data.actual = XalanDOMString(" ", theManager);
  -    data.currentNode = XalanDOMString("Line: 0", theManager);
  +    data.expected = XalanDOMString(" ", m_memoryManager);
  +    data.actual = XalanDOMString(" ", m_memoryManager);
  +    data.currentNode = XalanDOMString("Line: 0", m_memoryManager);
   
       // Attempt to open the files. 
       FILE* const     result = fopen(outputFile, "r");
  @@ -1028,8 +1040,8 @@
           if (ferror(gold) || ferror(result))
           {
               data.msg = "Read Error - Gold/Result file";
  -            data.currentNode = XalanDOMString("Line: ", theManager);
  -            data.currentNode += XalanDOMString(temp, theManager);
  +            data.currentNode = XalanDOMString("Line: ", m_memoryManager);
  +            data.currentNode += XalanDOMString(temp, m_memoryManager);
               return false;
           }
   
  @@ -1051,25 +1063,29 @@
                   replaceNonAsciiCharacters(rline, '?');
   
                   data.msg = "Text based comparison failure";
  -                data.expected = XalanDOMString("<![CDATA[", theManager);
  -                data.expected += XalanDOMString(gline, theManager);
  -                data.expected += XalanDOMString("]]>", theManager);
  -
  -                data.actual = XalanDOMString("<![CDATA[", theManager);
  -                data.actual += XalanDOMString(rline, theManager);
  -                data.actual += XalanDOMString("]]>", theManager);
  +                data.expected = XalanDOMString("<![CDATA[", m_memoryManager);
  +                data.expected += XalanDOMString(gline, m_memoryManager);
  +                data.expected += XalanDOMString("]]>", m_memoryManager);
  +
  +                data.actual = XalanDOMString("<![CDATA[", m_memoryManager);
  +                data.actual += XalanDOMString(rline, m_memoryManager);
  +                data.actual += XalanDOMString("]]>", m_memoryManager);
   
  -                data.currentNode = XalanDOMString("Line: ", theManager);
  -                data.currentNode += XalanDOMString(temp, theManager);
  +                data.currentNode = XalanDOMString("Line: ", m_memoryManager);
  +                data.currentNode += XalanDOMString(temp, m_memoryManager);
                   data.fail += 1;
  -            fclose(result);     fclose(gold);
  +                fclose(result);
  +                fclose(gold);
                   return false;
               }
           }
   
           lineNum += 1;
       }
  -            fclose(result);     fclose(gold);
  +
  +    fclose(result);
  +    fclose(gold);
  +
       return true;
   }
   
  @@ -1095,14 +1111,13 @@
   
       const XalanDOMString&  docNodeName  = doc.getNodeName();    
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
       if (goldNodeType != docNodeType)
       {
  -        collectData("NodeType mismatch.",
  -                    docNodeName,
  -                    XalanDOMString(xalanNodeTypes[docNodeType], theManager),
  -                    XalanDOMString(xalanNodeTypes[goldNodeType], theManager));
  +        collectData(
  +            "NodeType mismatch.",
  +            docNodeName,
  +            XalanDOMString(xalanNodeTypes[docNodeType], m_memoryManager),
  +            XalanDOMString(xalanNodeTypes[goldNodeType], m_memoryManager));
   
           return false;
       }
  @@ -1128,10 +1143,12 @@
               
               if(goldNodeValue != docNodeValue)
               {
  -                collectData("Text node mismatch. ", 
  -                             docNodeName,
  -                             goldNodeValue,
  -                             docNodeValue);
  +                collectData(
  +                    "Text node mismatch. ", 
  +                    docNodeName,
  +                    goldNodeValue,
  +                    docNodeValue);
  +
                   return false;
               }
           }
  @@ -1139,28 +1156,30 @@
   
       case XalanNode::PROCESSING_INSTRUCTION_NODE:
           {
  -            const XalanDOMString&  goldNodeName  = gold.getNodeName();
  +            const XalanDOMString&  goldNodeName = gold.getNodeName();
   
               if (goldNodeName != docNodeName)
               {
  -                collectData("processing-instruction target mismatch. ", 
  -                             docNodeName,
  -                             goldNodeName,
  -                             docNodeName);
  +                collectData(
  +                    "processing-instruction target mismatch. ", 
  +                    docNodeName,
  +                    goldNodeName,
  +                    docNodeName);
   
                   return false;
               }
               else
               {
  -                const XalanDOMString&   docNodeValue  = doc.getNodeValue();
  +                const XalanDOMString&   docNodeValue = doc.getNodeValue();
                   const XalanDOMString&   goldNodeValue = gold.getNodeValue();
   
                   if (goldNodeValue != docNodeValue)
                   {
  -                    collectData("processing-instruction data mismatch. ", 
  -                                 docNodeName,
  -                                 goldNodeValue,
  -                                 docNodeValue);
  +                    collectData(
  +                        "processing-instruction data mismatch. ", 
  +                        docNodeName,
  +                        goldNodeValue,
  +                        docNodeValue);
   
                       return false;
                   }
  @@ -1170,15 +1189,16 @@
   
       case XalanNode::COMMENT_NODE:
           {
  -            const XalanDOMString&   docNodeValue  = doc.getNodeValue();
  +            const XalanDOMString&   docNodeValue = doc.getNodeValue();
               const XalanDOMString&   goldNodeValue = gold.getNodeValue();
   
               if (goldNodeValue != docNodeValue)
               {
  -                collectData("comment data mismatch. ", 
  -                             docNodeName,
  -                             goldNodeValue,
  -                             docNodeValue);
  +                collectData(
  +                    "comment data mismatch. ", 
  +                    docNodeName,
  +                    goldNodeValue,
  +                    docNodeValue);
   
                   return false;
               }
  @@ -1232,17 +1252,19 @@
           }
           else
           {
  -            collectData("Missing sibling node. ", 
  -                     docNodeName,
  -                     goldNextNode->getNodeName(),
  -                     goldNextNode->getNodeName());
  +            collectData(
  +                "Missing sibling node. ", 
  +                docNodeName,
  +                goldNextNode->getNodeName(),
  +                goldNextNode->getNodeName());
   
               return false;
           }
       }
       else if (0 != domNextNode)
       {
  -        collectData("Extra sibling node. ", 
  +        collectData(
  +            "Extra sibling node. ", 
               docNodeName,
               domNextNode->getNodeName(),
               domNextNode->getNodeName());
  @@ -1342,14 +1364,13 @@
   
       const XalanDOMString&  docNodeName  = doc.getNodeName();    
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
       if (goldNodeType != docNodeType)
       {
  -        collectData("NodeType mismatch.",
  -                    docNodeName,
  -                    XalanDOMString(xalanNodeTypes[docNodeType], theManager),
  -                    XalanDOMString(xalanNodeTypes[goldNodeType], theManager));
  +        collectData(
  +            "NodeType mismatch.",
  +            docNodeName,
  +            XalanDOMString(xalanNodeTypes[docNodeType], m_memoryManager),
  +            XalanDOMString(xalanNodeTypes[goldNodeType], m_memoryManager));
   
           return false;
       }
  @@ -1370,10 +1391,12 @@
               
               if(goldNodeValue != docNodeValue)
               {
  -                collectData("Text node mismatch. ", 
  -                             docNodeName,
  -                             goldNodeValue,
  -                             docNodeValue);
  +                collectData(
  +                    "Text node mismatch. ",
  +                    docNodeName,
  +                    goldNodeValue,
  +                    docNodeValue);
  +
                   return false;
               }
           }
  @@ -1385,10 +1408,11 @@
   
               if (goldNodeName != docNodeName)
               {
  -                collectData("processing-instruction target mismatch. ", 
  -                             docNodeName,
  -                             goldNodeName,
  -                             docNodeName);
  +                collectData(
  +                    "processing-instruction target mismatch. ", 
  +                    docNodeName,
  +                    goldNodeName,
  +                    docNodeName);
   
                   return false;
               }
  @@ -1399,10 +1423,11 @@
   
                   if (goldNodeValue != docNodeValue)
                   {
  -                    collectData("processing-instruction data mismatch. ", 
  -                                 docNodeName,
  -                                 goldNodeValue,
  -                                 docNodeValue);
  +                    collectData(
  +                        "processing-instruction data mismatch. ", 
  +                        docNodeName,
  +                        goldNodeValue,
  +                        docNodeValue);
   
                       return false;
                   }
  @@ -1417,10 +1442,11 @@
   
               if (goldNodeValue != docNodeValue)
               {
  -                collectData("comment data mismatch. ", 
  -                             docNodeName,
  -                             goldNodeValue,
  -                             docNodeValue);
  +                collectData(
  +                    "comment data mismatch. ", 
  +                    docNodeName,
  +                    goldNodeValue,
  +                    docNodeValue);
   
                   return false;
               }
  @@ -1518,19 +1544,23 @@
       // same.  So specific checks of these items are not necessary.
       if (goldNodeName != docNodeName)
       {
  -        collectData("Element mismatch. ", 
  -                         docNodeName,
  -                         goldNodeName,
  -                         docNodeName);
  +        collectData(
  +            "Element mismatch. ", 
  +            docNodeName,
  +            goldNodeName,
  +            docNodeName);
  +
           return false;
       }
   
       if ( goldNsUri != docNsUri)
       {
  -        collectData("Element NamespaceURI mismatch. ",
  -                         docNodeName,
  -                         goldNsUri,
  -                         docNsUri);
  +        collectData(
  +            "Element NamespaceURI mismatch. ",
  +            docNodeName,
  +            goldNsUri,
  +            docNsUri);
  +
           return false;
       }
   
  @@ -1542,8 +1572,6 @@
       const unsigned int  numGoldAttr = goldAttrs->getLength();
       const unsigned int  numDomAttr  = docAttrs ->getLength();
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
       /*
       // This needs to be uncommented if 'compare.exe' is to work. 
       // If this is the 'root' element strip off the xmlns:xml namespace attribute,
  @@ -1575,10 +1603,11 @@
               }
               else
               {
  -                collectData("Element missing named Attribute. ",
  -                         docNodeName,
  -                         goldAttrName,
  -                         XalanDOMString("NOTHING", theManager));
  +                collectData(
  +                    "Element missing named Attribute. ",
  +                    docNodeName,
  +                    goldAttrName,
  +                    XalanDOMString("NOTHING", m_memoryManager));
   
                   return false;
               }
  @@ -1586,13 +1615,15 @@
       }
       else
       {
  -        char  buf1[2], buf2[2];
  -        sprintf(buf1, "%u", numGoldAttr);
  -        sprintf(buf2, "%u", numDomAttr);
  -        collectData("Wrong number of attributes. ",
  -                         docNodeName,
  -                         XalanDOMString(buf1, theManager),
  -                         XalanDOMString(buf2, theManager));
  +        XalanDOMString  numGoldStr(m_memoryManager);
  +        XalanDOMString  numDOMStr(m_memoryManager);
  +
  +        collectData(
  +            "Wrong number of attributes. ",
  +            docNodeName,
  +            UnsignedLongToDOMString(numGoldAttr, numGoldStr),
  +            UnsignedLongToDOMString(numDomAttr, numDOMStr));
  +
           return false;
       }
   
  @@ -1608,10 +1639,12 @@
           }
           else
           {
  -            collectData("Element missing ChildNode. ", 
  -                         docNodeName,
  -                         XalanDOMString(goldNextNode->getNodeName(), theManager),
  -                         XalanDOMString("NOTHING", theManager));
  +            collectData(
  +                "Element missing ChildNode. ", 
  +                docNodeName,
  +                XalanDOMString(goldNextNode->getNodeName(), m_memoryManager),
  +                XalanDOMString("NOTHING", m_memoryManager));
  +
               return false;
           }
       }
  @@ -1621,23 +1654,25 @@
           // then gather up the text and print it out.
           if ( domNextNode->getNodeType() == XalanNode::TEXT_NODE)
           {
  -            collectData("Result has additional Child node: ", 
  -                    docNodeName,
  -                    XalanDOMString("NOTHING", theManager),       
  -                    XalanDOMString(domNextNode->getNodeName(), theManager).append(XalanDOMString("  \"", theManager).append(
  -                    XalanDOMString(domNextNode->getNodeValue(), theManager).append(XalanDOMString("\"", theManager)))));
  +            collectData(
  +                "Result has additional Child node: ", 
  +                docNodeName,
  +                XalanDOMString("NOTHING", m_memoryManager),       
  +                XalanDOMString(domNextNode->getNodeName(), m_memoryManager).append(XalanDOMString("  \"", m_memoryManager).append(
  +                XalanDOMString(domNextNode->getNodeValue(), m_memoryManager).append(XalanDOMString("\"", m_memoryManager)))));
           }
           // Additional node is NOT text, so just print it's Name.
           else
           {
  -            collectData("Result has additional Child node: ", 
  -                        docNodeName,
  -                        XalanDOMString("NOTHING", theManager),       
  -                        XalanDOMString(domNextNode->getNodeName(), theManager));
  +            collectData(
  +                "Result has additional Child node: ",
  +                docNodeName,
  +                XalanDOMString("NOTHING", m_memoryManager),
  +                XalanDOMString(domNextNode->getNodeName(), m_memoryManager));
   
           }
  -        return false;
   
  +        return false;
       }
   
       return true;
  @@ -1658,27 +1693,29 @@
       const XalanDOMString&  docNsUri  = doc.getNamespaceURI();
       const XalanDOMString&  goldNsUri = gold.getNamespaceURI();
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
       //debugNodeData(docNodeName);
   
       // This essentially checks 2 things, that the prefix and localname are the
       // same.  So specific checks of these items are not necessary.
       if (goldNodeName != docNodeName)
       {
  -        collectData("Element mismatch. ", 
  -                         docNodeName,
  -                         goldNodeName,
  -                         docNodeName);
  +        collectData(
  +            "Element mismatch. ", 
  +            docNodeName,
  +            goldNodeName,
  +            docNodeName);
  +
           return false;
       }
   
       if ( goldNsUri != docNsUri)
       {
  -        collectData("Element NamespaceURI mismatch. ",
  -                         docNodeName,
  -                         goldNsUri,
  -                         docNsUri);
  +        collectData(
  +            "Element NamespaceURI mismatch. ",
  +            docNodeName,
  +            goldNsUri,
  +            docNsUri);
  +
           return false;
       }
   
  @@ -1713,10 +1750,11 @@
               }
               else
               {
  -                collectData("Element missing named Attribute. ",
  -                         docNodeName,
  -                         goldAttrName,
  -                         XalanDOMString("NOTHING", theManager));
  +                collectData(
  +                    "Element missing named Attribute. ",
  +                    docNodeName,
  +                    goldAttrName,
  +                    XalanDOMString("NOTHING", m_memoryManager));
   
                   return false;
               }
  @@ -1724,13 +1762,15 @@
       }
       else
       {
  -        char  buf1[2], buf2[2];
  -        sprintf(buf1, "%u", numGoldAttr);
  -        sprintf(buf2, "%u", numDomAttr);
  -        collectData("Wrong number of attributes. ",
  -                         docNodeName,
  -                         XalanDOMString(buf1, theManager),
  -                         XalanDOMString(buf2, theManager));
  +        XalanDOMString  numGoldStr(m_memoryManager);
  +        XalanDOMString  numDOMStr(m_memoryManager);
  +
  +        collectData(
  +            "Wrong number of attributes. ",
  +            docNodeName,
  +            UnsignedLongToDOMString(numGoldAttr, numGoldStr),
  +            UnsignedLongToDOMString(numDomAttr, numDOMStr));
  +
           return false;
       }
   
  @@ -1823,7 +1863,8 @@
   XalanFileUtility::debugNodeData(const XalanDOMString&    value) const
   {
   
  -    CharVectorType     valueVec(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     valueVec(m_memoryManager);
  +
       TranscodeToLocalCodePage(value, valueVec, true);
   
       cout << "Node is: " << c_str(valueVec) << endl;
  @@ -1837,10 +1878,10 @@
               const XalanDOMString&   value) const
   {
   
  -    CharVectorType     valueVec(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     valueVec(m_memoryManager);
       TranscodeToLocalCodePage(value, valueVec, true);
   
  -    CharVectorType     nodeVec(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     nodeVec(m_memoryManager);
       TranscodeToLocalCodePage(node, nodeVec, true);
   
       cout << "Node is: " << c_str(nodeVec) << "   "
  @@ -1852,7 +1893,7 @@
   void
   XalanFileUtility::debugAttributeData(const XalanDOMString&   value) const
   {
  -    CharVectorType		theTargetVector(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType		theTargetVector(m_memoryManager);
   
       TranscodeToLocalCodePage(value, theTargetVector, true);
   
  @@ -1894,37 +1935,62 @@
   */
   void
   XalanFileUtility::reportPassFail(
  -            XalanXMLFileReporter&        logfile,
  +            XalanXMLFileReporter&   logfile,
               const XalanDOMString&   runid)
   {
       typedef XalanXMLFileReporter::Hashtable  Hashtable;
   
  -    MemoryManagerType& theManager = XalanMemMgrs::getDefaultXercesMemMgr();
  -
  -    Hashtable   runResults(theManager);
  +    Hashtable   runResults(m_memoryManager);
   
  -    char temp[5];
  +    char temp[10];
   
       // Create entrys that contain runid, xerces version, and numbers for Pass, Fail and No Gold.
   
  -    XalanDOMString theBuffer( theManager);
  +    XalanDOMString theBuffer(m_memoryManager);
  +
  +    runResults.insert(
  +        XalanDOMString("UniqRunid", m_memoryManager),
  +        runid);
  +
  +    runResults.insert(
  +        XalanDOMString("Xerces-Version ", m_memoryManager),
  +        getXercesVersion(theBuffer));
  +
  +    runResults.insert(
  +        XalanDOMString("BaseDrive ", m_memoryManager), 
  +        XalanDOMString(getDrive(theBuffer), m_memoryManager));
  +
  +    runResults.insert(
  +        XalanDOMString("TestBase ", m_memoryManager),
  +        XalanDOMString(args.base, m_memoryManager));
  +
  +    runResults.insert(
  +        XalanDOMString("xmlFormat ", m_memoryManager),
  +        data.xmlFormat);
   
  -    runResults.insert( XalanDOMString("UniqRunid",theManager), runid );
  -    runResults.insert( XalanDOMString("Xerces-Version ",theManager), getXercesVersion(theBuffer));
  -    runResults.insert( XalanDOMString("BaseDrive ",theManager),  XalanDOMString(getDrive(theBuffer), theManager));
  -    runResults.insert( XalanDOMString("TestBase ",theManager), XalanDOMString(args.base,theManager));
  -    runResults.insert( XalanDOMString("xmlFormat ",theManager), data.xmlFormat);
       sprintf(temp, "%ld", args.iters);
  -    runResults.insert( XalanDOMString("Iters ",theManager), XalanDOMString(temp,theManager));
  +
  +    runResults.insert(
  +        XalanDOMString("Iters ", m_memoryManager),
  +        XalanDOMString(temp, m_memoryManager));
   
       sprintf(temp, "%d", data.pass);
  -    runResults.insert( XalanDOMString("Passed",theManager), XalanDOMString(temp,theManager));
  +
  +    runResults.insert(
  +        XalanDOMString("Passed", m_memoryManager),
  +        XalanDOMString(temp, m_memoryManager));
       
       sprintf(temp, "%d", data.fail);
  -    runResults.insert( XalanDOMString("Failed",theManager), XalanDOMString(temp,theManager));
  +
  +    runResults.insert(
  +        XalanDOMString("Failed", m_memoryManager),
  +        XalanDOMString(temp, m_memoryManager));
   
       sprintf(temp, "%d", data.nogold);
  -    runResults.insert( XalanDOMString("No_Gold_Files",theManager), XalanDOMString(temp,theManager));
  +
  +    runResults.insert(
  +        XalanDOMString("No_Gold_Files", m_memoryManager),
  +        XalanDOMString(temp, m_memoryManager));
   
       logfile.logElementWAttrs(10, "RunResults", runResults, "xxx");  
   
  @@ -1943,13 +2009,14 @@
   void
   XalanFileUtility::analyzeResults(XalanTransformer& xalan, const XalanDOMString& resultsFile)
   {
  -    XalanDOMString paramValue(XalanMemMgrs::getDefaultXercesMemMgr());
  +    XalanDOMString paramValue(m_memoryManager);
  +
       bool    fileStatus;
   
   #if defined(AIX) || defined(SOLARIS) || defined(LINUX) || defined(HPUX)
   
       bool    pathStatus;
  -    CharVectorType     withPath(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType     withPath(m_memoryManager);
       TranscodeToLocalCodePage(resultsFile, withPath, false);
       if (withPath[0] == '/')
           pathStatus=true;
  @@ -1957,7 +2024,7 @@
           pathStatus=false;
       
       char buffer5[PATH_MAX];
  -    XalanDOMString resultPath(getcwd(buffer5, PATH_MAX), XalanMemMgrs::getDefaultXercesMemMgr());
  +    XalanDOMString resultPath(getcwd(buffer5, PATH_MAX), m_memoryManager);
       append(resultPath, s_pathSep);
   #endif
       
  @@ -1966,37 +2033,39 @@
       // quotes so that it is not considered an expression.
       //
     #if defined (AIX) || defined(SOLARIS) || defined(LINUX) || defined(HPUX)
  -    assign(paramValue, XalanDOMString("\'", XalanMemMgrs::getDefaultXercesMemMgr()));
  +    assign(paramValue, XalanDOMString("\'", m_memoryManager));
       if ( !pathStatus )
           append(paramValue, resultPath);
       append(paramValue, resultsFile);
  -    append(paramValue, XalanDOMString("\'", XalanMemMgrs::getDefaultXercesMemMgr()));
  +    append(paramValue, XalanDOMString("\'", m_memoryManager));
     #else 
  -    assign(paramValue, XalanDOMString("'", XalanMemMgrs::getDefaultXercesMemMgr()));
  +    assign(paramValue, XalanDOMString("'", m_memoryManager));
           append(paramValue, resultsFile);
  -        append(paramValue, XalanDOMString("'", XalanMemMgrs::getDefaultXercesMemMgr()));
  +        append(paramValue, XalanDOMString("'", m_memoryManager));
     #endif
   
       // Set the parameter
       //
  -    xalan.setStylesheetParam(XalanDOMString("testfile", XalanMemMgrs::getDefaultXercesMemMgr()), paramValue);
  +    xalan.setStylesheetParam(
  +        XalanDOMString("testfile", m_memoryManager),
  +        paramValue);
   
       // Generate the input and output file names.
       //
  -    XalanDOMString  theHTMLFile(XalanMemMgrs::getDefaultXercesMemMgr());
  +    XalanDOMString  theHTMLFile(m_memoryManager);
       generateFileName(resultsFile,"html", theHTMLFile, &fileStatus);
       
  -    XalanDOMString  theStylesheet(XalanMemMgrs::getDefaultXercesMemMgr());
  +    XalanDOMString  theStylesheet(m_memoryManager);
       theStylesheet += args.base;
  -    theStylesheet += XalanDOMString("cconf.xsl", XalanMemMgrs::getDefaultXercesMemMgr());
  +    theStylesheet += XalanDOMString("cconf.xsl", m_memoryManager);
   
  -    XalanDOMString  theXMLSource(XalanMemMgrs::getDefaultXercesMemMgr());
  +    XalanDOMString  theXMLSource(m_memoryManager);
       theXMLSource += args.base;
  -    theXMLSource += XalanDOMString("cconf.xml", XalanMemMgrs::getDefaultXercesMemMgr());
  +    theXMLSource += XalanDOMString("cconf.xml", m_memoryManager);
   
       // Check that we can find the stylesheet to analyze the results.
       //
  -    CharVectorType theBuffer(XalanMemMgrs::getDefaultXercesMemMgr());
  +    CharVectorType theBuffer(m_memoryManager);
       TranscodeToLocalCodePage(theStylesheet, theBuffer, true);
       FILE* fileHandle = fopen(c_str(theBuffer), "r");
       if (fileHandle == 0)
  @@ -2010,9 +2079,9 @@
       }
   
       // Create the InputSources and ResultTarget.
  -    const XSLTInputSource   xslInputSource(theStylesheet);
  -    const XSLTInputSource   xmlInputSource(theXMLSource);
  -    const XSLTResultTarget  resultFile(theHTMLFile, XalanMemMgrs::getDefaultXercesMemMgr());
  +    const XSLTInputSource   xslInputSource(theStylesheet, m_memoryManager);
  +    const XSLTInputSource   xmlInputSource(theXMLSource, m_memoryManager);
  +    const XSLTResultTarget  resultFile(theHTMLFile, m_memoryManager);
   
       // Do the transform, display the output HTML, or report any failure.
       const int   result = xalan.transform(xmlInputSource, xslInputSource, resultFile);
  @@ -2020,7 +2089,7 @@
       if (result == 0)
       {
   #if defined(_MSC_VER)
  -        CharVectorType theBuffer(XalanMemMgrs::getDefaultXercesMemMgr());
  +        CharVectorType theBuffer(m_memoryManager);
           TranscodeToLocalCodePage(theHTMLFile, theBuffer, true);
   
           // system(c_str(theBuffer));
  
  
  
  1.4       +35 -8     xml-xalan/c/src/xalanc/Harness/XalanFileUtility.hpp
  
  Index: XalanFileUtility.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/xalanc/Harness/XalanFileUtility.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanFileUtility.hpp	11 Nov 2004 03:27:20 -0000	1.3
  +++ XalanFileUtility.hpp	22 Apr 2005 01:31:50 -0000	1.4
  @@ -52,6 +52,9 @@
   class XSLTInputSource;
   
   
  +XALAN_USING_XERCES(MemoryManager)
  +
  +
   
   // This class is exported from the Harness.dll
   class XALAN_HARNESS_EXPORT XalanFileUtility 
  @@ -78,7 +81,7 @@
           int             fail;
           int             nogold;
   
  -        reportStruct(MemoryManagerType& theManager);
  +        reportStruct(MemoryManager& theManager);
   
           void
           reset();
  @@ -112,7 +115,7 @@
           long            iters;
   
   
  -        cmdParams(MemoryManagerType& theManager);
  +        cmdParams(MemoryManager& theManager);
   
           ~cmdParams()
           {
  @@ -134,7 +137,7 @@
       } args;
   
       /** Simple constructor, does not perform initialization.  */
  -    XalanFileUtility(MemoryManagerType& theManager);
  +    XalanFileUtility(MemoryManager& theManager);
   
       ~XalanFileUtility();
   
  @@ -231,6 +234,8 @@
               const XalanDOMString&   goldFile,
               bool                    containsOnly = false);
   
  +    // This API is deprecated.  Please use the following
  +    // one.
       void
       checkAPIResults(
               const char*             actual,
  @@ -239,12 +244,32 @@
               XalanXMLFileReporter&        logfile,
               const XalanDOMString&   outputFile,
               const XalanDOMString&   goldFile,
  -            MemoryManagerType&      theManager,
  +            MemoryManager&          /* theManager */,
               bool                    containsOnly = false)
       {
           checkAPIResults(
  -            XalanDOMString(actual, theManager), 
  -            XalanDOMString(expected, theManager),
  +            actual,
  +            expected,
  +            msg,
  +            logfile,
  +            outputFile,
  +            goldFile,
  +            containsOnly);
  +    }
  +
  +    void
  +    checkAPIResults(
  +            const char*             actual,
  +            const char*             expected,
  +            const char*             msg,
  +            XalanXMLFileReporter&   logfile,
  +            const XalanDOMString&   outputFile,
  +            const XalanDOMString&   goldFile,
  +            bool                    containsOnly = false)
  +    {
  +        checkAPIResults(
  +            XalanDOMString(actual, m_memoryManager), 
  +            XalanDOMString(expected, m_memoryManager),
               msg,
               logfile,
               outputFile,
  @@ -419,11 +444,13 @@
   
   #endif
   private:
  +
  +    MemoryManager&  m_memoryManager;
  +
       //Not implemented
       XalanFileUtility();
       XalanFileUtility(const XalanFileUtility&);
  -
  -};        // end of class FileUtility
  +};
   
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org