You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by pa...@apache.org on 2001/12/07 21:19:22 UTC

cvs commit: xml-xalan/c/Tests/Memory Stressmem.cpp

pauldick    01/12/07 12:19:22

  Modified:    c/Tests/Memory Stressmem.cpp
  Log:
  Moved getParams into harness,  and other updates and cleanup
  
  Revision  Changes    Path
  1.16      +24 -118   xml-xalan/c/Tests/Memory/Stressmem.cpp
  
  Index: Stressmem.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/Tests/Memory/Stressmem.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Stressmem.cpp	2001/10/18 18:43:17	1.15
  +++ Stressmem.cpp	2001/12/07 20:19:22	1.16
  @@ -2,7 +2,7 @@
    * The Apache Software License, Version 1.1
    *
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights 
  + * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights 
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -85,6 +85,7 @@
   	using std::endl;
   #endif
   
  +FileUtility			h;
   	
   static const char* const	excludeStylesheets[] =
   {
  @@ -108,140 +109,45 @@
   }
   
   void
  -printArgOptions()
  +setHelp()
   {
  -	cerr << endl
  -		 << "stressmem dirname [-out -category]"
  +	h.args.help << endl
  +		 << "stressmem dirname [-out -sub]"
   		 << endl
   		 << endl
   		 << "dirname		(base directory for testcases)"
   		 << endl
   		 << "-out dirname	(base directory for output)"
   		 << endl
  -		 << "-category dirname (run files only from a specific directory)"
  +		 << "-sub dirname (run files only from a specific directory)"
   		 << endl;
   }
   
  -bool
  -getParams(int argc, 
  -		  const char*	argv[],
  -		  FileUtility& f,
  -		  XalanDOMString& basedir,
  -		  XalanDOMString& outdir,
  -		  XalanDOMString& category)
  -{
  -bool fSuccess = true;	// Used to continue argument loop
  -bool fSetOut = true;	// Set default output directory
  -
  -	// 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("-category", argv[i]))
  -		{
  -			++i;
  -			if(i < argc && argv[i][0] != '-')
  -			{
  -				assign(category, XalanDOMString(argv[i]));
  -			}
  -			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("MEM-RESULTS\\"));
  -		f.checkAndCreateDir(outdir);
  -	}
  -	
  -	// Add the path seperator to the end of the base directory
  -	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
  -
  -	FileUtility			f;
   
  -	XalanDOMString  category;	// Test all of base dir by default
  -	XalanDOMString  baseDir;	
  -	XalanDOMString  outputRoot;	
  -
  -
  -	if (getParams(argc, argv, f, baseDir, outputRoot, category) == true)
  +	// Set the program help string,  then get the command line parameters.
  +	//
  +	setHelp();
  +	if (h.getParams(argc, argv) == true)
   	{
  -
   		// Get the list of Directories that are below perf
  -		const FileNameVectorType	dirs = f.getDirectoryNames(baseDir);
  +		const FileNameVectorType	dirs = h.getDirectoryNames(h.args.base);
   
   		// Generate Unique Run id. (Only used to name the result logfile.)
  -		const XalanDOMString UniqRunid = f.generateUniqRunid();
  +		const XalanDOMString UniqRunid = h.generateUniqRunid();
   
   		// Defined basic constants for file manipulation 
   
   		const XalanDOMString  resultFilePrefix(XalanDOMString("cpp-mem"));
  -		const XalanDOMString  resultsFile(outputRoot + resultFilePrefix + UniqRunid + XMLSuffix);
  +		const XalanDOMString  resultsFile(h.args.output + resultFilePrefix + UniqRunid + XMLSuffix);
   		
   		XMLFileReporter	logFile(resultsFile);
   		logFile.logTestFileInit("Memory Testing - Memory leaks detected during ConformanceTests. ");
  @@ -251,23 +157,23 @@
   			// Call the static initializers...
   			HarnessInit xmlPlatformUtils;
   			XalanTransformer::initialize();
  -
   			{
   				XalanTransformer		transformEngine;
   
   				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); ++j)
   				{
  -					// Run specific category of files from given directory
  -					if (length(category) > 0 && !equals(dirs[j], category))
  +					// Skip all but the specified directory if the -sub cmd-line option was used.
  +					//
  +					if (length(h.args.sub) > 0 && !equals(dirs[j], h.args.sub))
   					{
   						continue;
   					}					
   					
   					// Check that output directory is there.
  -					const XalanDOMString  theOutputDir = outputRoot + dirs[j];
  -					f.checkAndCreateDir(theOutputDir);
  +					const XalanDOMString  theOutputDir = h.args.output + dirs[j];
  +					h.checkAndCreateDir(theOutputDir);
   
  -					const FileNameVectorType	files = f.getTestFileNames(baseDir, dirs[j],true);
  +					const FileNameVectorType	files = h.getTestFileNames(h.args.base, dirs[j],true);
   
   					for(FileNameVectorType::size_type i = 0; i < files.size(); ++i)
   					{
  @@ -278,10 +184,10 @@
   							cout << files[i] << endl;
   
   
  -							const XalanDOMString  theXSLFile= baseDir + dirs[j] + pathSep + files[i];
  -							const XalanDOMString  theXMLFile = f.generateFileName(theXSLFile,"xml");
  -							const XalanDOMString  theOutput =  outputRoot + dirs[j] + pathSep + files[i]; 
  -							const XalanDOMString  theOutputFile = f.generateFileName(theOutput, "out");
  +							const XalanDOMString  theXSLFile= h.args.base + dirs[j] + pathSep + files[i];
  +							const XalanDOMString  theXMLFile = h.generateFileName(theXSLFile,"xml");
  +							const XalanDOMString  theOutput =  h.args.output + dirs[j] + pathSep + files[i]; 
  +							const XalanDOMString  theOutputFile = h.generateFileName(theOutput, "out");
   
   							// Do a total end to end transform with no pre parsing of either xsl or xml files.
   							XSLTResultTarget		theResultTarget(theOutputFile);
  
  
  

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