xalan-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pauld...@apache.org
Subject cvs commit: xml-xalan/c/Tests/Compare compare.cpp
Date Mon, 17 Dec 2001 14:44:14 GMT
pauldick    01/12/17 06:44:14

  Modified:    c/Tests/Compare compare.cpp
  Log:
  Clean up to run with harness
  
  Revision  Changes    Path
  1.12      +76 -190   xml-xalan/c/Tests/Compare/compare.cpp
  
  Index: compare.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/Tests/Compare/compare.cpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- compare.cpp	2001/12/12 21:43:32	1.11
  +++ compare.cpp	2001/12/17 14:44:14	1.12
  @@ -93,12 +93,12 @@
   #include <crtdbg.h>
   #endif
   
  -FileUtility		futil;
  +FileUtility		h;
   
   void
  -printArgOptions()
  +setHelp()
   {
  -	cerr << endl
  +	h.args.help << endl
   		 << "compare dirname [-out -gold]"
   		 << endl
   		 << endl
  @@ -110,116 +110,12 @@
   		 << endl;
   }
   
  -bool
  -getParams(int argc, 
  -		  const char*	argv[],
  -		  FileUtility& f,
  -		  XalanDOMString& baseDir,
  -		  XalanDOMString& outDir,
  -		  XalanDOMString& goldRoot)
  -{
  -	bool fSuccess = true;	// Used to continue argument loop
  -	bool fsetOut = true;	// Set default output directory, set to false if data is provided
  -	bool fsetGold = true;	// Set default gold directory, set to false if data is provided
  -
  -
  -	// Insure that required "-base" argument is there.
  -	if (argc == 1 || argv[1][0] == '-')
  -	{
  -		printArgOptions(); 
  -		return false;
  -	}
  -	else
  -	{
  -		if (f.checkDir(pathSep + XalanDOMString(argv[1])))
  -		{
  -			assign(baseDir, XalanDOMString(argv[1]));
  -			insert(baseDir, 0, pathSep);
  -		}
  -		else
  -		{
  -			cout << endl << "Given base directory \"" << argv[1] << "\"
does not exist" << endl;
  -			printArgOptions();
  -			return false;
  -		}
  -	}
  -
  -	// Get the rest of the arguments in any order.
  -	for (int i = 2; i < argc && fSuccess == true; ++i)
  -	{
  -		if(!stricmp("-out", argv[i]))
  -		{
  -			++i;
  -			if(i < argc && argv[i][0] != '-')
  -			{
  -				assign(outDir, XalanDOMString(argv[i]));
  -				insert(outDir, 0, XalanDOMString("\\"));
  -				append(outDir, XalanDOMString("\\"));
  -				f.checkAndCreateDir(outDir);
  -				fsetOut = false;
  -			}
  -			else
  -			{
  -				printArgOptions();
  -				fSuccess = false;
  -			}
  -		}
  -		else if(!stricmp("-gold", argv[i]))
  -		{
  -			++i;
  -			if(i < argc && argv[i][0] != '-')
  -			{
  -				assign(goldRoot, XalanDOMString(argv[i]));
  -				fsetGold = false;
  -			}
  -			else
  -			{
  -				printArgOptions();
  -				fSuccess = false;
  -			}
  -		}
  -
  -		else
  -		{
  -			printArgOptions();
  -			fSuccess = false;
  -		}
  -
  -	} // End of for-loop
  -
  -	// Do we need to set the default output directory??
  -	if (fsetOut)
  -	{
  -		unsigned int ii = lastIndexOf(baseDir,charAt(pathSep,0));
  -		outDir = substring(baseDir, 0, ii+1);
  -		append(outDir,XalanDOMString("DOMCOM-results"));
  -		f.checkAndCreateDir(outDir);
  -		append(outDir,pathSep);
  -	}
  -	if (fsetGold)
  -	{
  -		goldRoot = baseDir;
  -		append(goldRoot,XalanDOMString("-gold"));
  -		f.checkAndCreateDir(goldRoot);
  -		append(goldRoot,pathSep);
  -	}
  -	
  -	// Add the path seperator to the end of the base directory 
  -	// here after we've finished using it for all directory creation.
  -
  -	append(baseDir,pathSep);
  -	return fSuccess;
  -}
  -
  -
   int
  -main(
  -	 int			argc,
  +main(int			argc,
   	 const char*	argv[])
   {
   #if !defined(NDEBUG) && defined(_MSC_VER)
   	_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
  -
   	_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
   	_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
   #endif
  @@ -228,16 +124,15 @@
   	XalanTransformer::initialize();
   
   	{
  -		Hashtable runAttrs;		// Attribute list for perfdata element
   		int transResult = 0;
  -
  -		XalanDOMString  category;	// Test all of base dir by default
  -		XalanDOMString  baseDir, outputRoot, goldRoot, fileName;	
  +		bool setGold = true;
  +		XalanDOMString fileName;
   
  +		// Set the program help string,  then get the command line parameters.
  +		//
  +		setHelp();
   
  -		//FileUtility futil;
  -
  -		if (getParams(argc, argv, futil, baseDir, outputRoot, goldRoot) == true)
  +		if (h.getParams(argc, argv, "DOMCOM-RESULTS", setGold) == true)
   		{
   			//
   			// Call the static initializers for xerces and xalan, and create a transformer
  @@ -250,94 +145,85 @@
   
   
   			// Generate Unique Run id and processor info
  -			const XalanDOMString UniqRunid = futil.generateUniqRunid();
  -
  -
  -			// Defined basic constants for file manipulation and open results file
  +			const XalanDOMString UniqRunid = h.generateUniqRunid();
   			const XalanDOMString  resultFilePrefix("cpp");
  -			const XalanDOMString  resultsFile(outputRoot + resultFilePrefix + UniqRunid + XMLSuffix);
  +			const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + XMLSuffix);
   
   
   			XMLFileReporter	logFile(resultsFile);
   			logFile.logTestFileInit("Comparison Testing:");
  -
  -
  -			// Create run entry that contains runid and number of iterations used for averages.
  -			runAttrs.insert(Hashtable::value_type(XalanDOMString("UniqRunid"), UniqRunid));
  -			runAttrs.insert(Hashtable::value_type(XalanDOMString("Xerces-Version "), futil.getXercesVersion()));
  -			logFile.logElementWAttrs(10, "perfdata", runAttrs, "xxx");
   				
   			// Specify the "test" directory for both input and output.
  -			const XalanDOMString  xDir("domcomtests");
  -			const XalanDOMString  theOutputDir = outputRoot + xDir;
  -			futil.checkAndCreateDir(theOutputDir);
  +			//
  +			const XalanDOMString  currentDir("domcomtests");
  +			const XalanDOMString  theOutputDir = h.args.output + currentDir;
  +			h.checkAndCreateDir(theOutputDir);
   
   			// Get the files found in the test directory
  -			const FileNameVectorType files = futil.getTestFileNames(baseDir, xDir, true);
  +			//
  +			logFile.logTestCaseInit(currentDir);
  +			const FileNameVectorType files = h.getTestFileNames(h.args.base, currentDir, true);
   
  -				for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
  +			for(FileNameVectorType::size_type i = 0; i < files.size(); i++)
  +			{
  +				fileName = files[i];
  +				h.data.reset();
  +				h.data.testOrFile = fileName;
  +
  +				const XalanDOMString  theXSLFile= h.args.base + currentDir + pathSep + fileName;
  +				const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
  +				XalanDOMString  theGoldFile = h.args.gold + currentDir + pathSep + fileName;
  +				theGoldFile = h.generateFileName(theGoldFile, "out");
  +
  +				const XalanDOMString  outbase =  h.args.output + currentDir + pathSep + fileName; 
  +				const XalanDOMString  theOutputFile = h.generateFileName(outbase, "out");
  +
  +				const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
  +				const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
  +				const XSLTInputSource	goldInputSource(c_wstr(theGoldFile));
  +
  +				// Use a XalanSourceTreeDocument to create the XSLTResultTarget. 
  +				//
  +				XalanSourceTreeDocument* dom = parserLiaison.createXalanSourceTreeDocument();
  +				FormatterToSourceTree domOut(dom); 
  +				XSLTResultTarget domResultTarget;
  +				domResultTarget.setDocumentHandler(&domOut);
  +
  +				// Parsing(compile) the XSL stylesheet and report the results..
  +				//
  +				const XalanCompiledStylesheet*	compiledSS = 0;
  +				xalan.compileStylesheet(xslInputSource, compiledSS);
  +				if (compiledSS == 0 )
  +				{  
  +					continue;
  +				}
  +
  +				// Parsing the input XML and report the results..
  +				//
  +				const XalanParsedSource*  parsedSource = 0;
  +				xalan.parseSource(xmlInputSource, parsedSource);
  +				if (parsedSource == 0)
   				{
  -					fileName = files[i];
  -					futil.data.reset();
  -					futil.data.testOrFile = fileName;
  -
  -					const XalanDOMString  theXSLFile= baseDir + xDir + pathSep + fileName;
  -					const XalanDOMString  theXMLFile = futil.generateFileName(theXSLFile,"xml");
  -					XalanDOMString  theGoldFile = goldRoot +xDir + pathSep + fileName;
  -					theGoldFile = futil.generateFileName(theGoldFile, "out");
  -
  -					const XalanDOMString  outbase =  outputRoot + xDir + pathSep + fileName; 
  -					const XalanDOMString  theOutputFile = futil.generateFileName(outbase, "out");
  -					//cout << endl << endl << "Processing: " << fileName <<
endl;
  -
  -					const XSLTInputSource	xslInputSource(c_wstr(theXSLFile));
  -					const XSLTInputSource	xmlInputSource(c_wstr(theXMLFile));
  -					const XSLTInputSource	goldInputSource(c_wstr(theGoldFile));
  -
  -					// Use a XalanSourceTreeDocument to create the XSLTResultTarget. 
  -					XalanSourceTreeDocument* dom = parserLiaison.createXalanSourceTreeDocument();
  -					FormatterToSourceTree domOut(dom); 
  -					XSLTResultTarget domResultTarget;
  -					domResultTarget.setDocumentHandler(&domOut);
  -
  -					//
  -					// Parsing(compile) the XSL stylesheet and report the results..
  -					//
  -					const XalanCompiledStylesheet*	compiledSS = 0;
  -					xalan.compileStylesheet(xslInputSource, compiledSS);
  -					if (compiledSS == 0 )
  -					{
  -						continue;
  -					}
  -
  -					//
  -					// Parsing the input XML and report the results..
  -					//
  -					const XalanParsedSource*	parsedSource = 0;
  -					xalan.parseSource(xmlInputSource, parsedSource);
  -					if (parsedSource == 0)
  -					{
  -						continue;
  -					}
  -
  -					//
  -					// Perform One transform using parsed stylesheet and unparsed xml source, report results...
  -					// 
  -					xalan.transform(*parsedSource, compiledSS, domResultTarget);
  -					futil.checkDOMResults(theOutputFile, compiledSS, dom, goldInputSource, logFile);
  -
  -					parserLiaison.reset();
  -					xalan.destroyParsedSource(parsedSource);
  -					xalan.destroyStylesheet(compiledSS);
  -
  -				}//for files
  -
  -			futil.reportPassFail(logFile, UniqRunid);
  -			logFile.logTestFileClose("DomCom ", "Done");
  -			logFile.close();
  +					continue;
  +				}
   
  +				// Perform One transform using parsed stylesheet and unparsed xml source, report results...
  +				// 
  +				xalan.transform(*parsedSource, compiledSS, domResultTarget);
  +				h.checkDOMResults(theOutputFile, compiledSS, dom, goldInputSource, logFile);
  +
  +				parserLiaison.reset();
  +				xalan.destroyParsedSource(parsedSource);
  +				xalan.destroyStylesheet(compiledSS);
  +			}
   
  -		} //if getParams
  +		logFile.logTestCaseClose("Done", "Pass");
  +		h.reportPassFail(logFile, UniqRunid);
  +		logFile.logTestFileClose("DomCom ", "Done");
  +		logFile.close();
  +
  +		h.analyzeResults(xalan, resultsFile);
  +		}
   	}
   
   	XalanTransformer::terminate();
  
  
  

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


Mime
View raw message