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/05/03 17:07:08 UTC

cvs commit: xml-xalan/c/Tests/Performance perf.cpp

pauldick    01/05/03 08:07:07

  Modified:    c/Tests/Performance perf.cpp
  Log:
  Updating command line arguments routine.
  
  Revision  Changes    Path
  1.18      +117 -13   xml-xalan/c/Tests/Performance/perf.cpp
  
  Index: perf.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/Tests/Performance/perf.cpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- perf.cpp	2001/04/03 22:25:24	1.17
  +++ perf.cpp	2001/05/03 15:07:03	1.18
  @@ -123,6 +123,7 @@
   {
   	//"basic-all_well.xsl",
   	"large-evans_large.xsl",
  +	"thruput-flat.xsl",
   	//"sort-cem-big.xsl",
   	//"large-cem10k.xsl",
   	0
  @@ -264,6 +265,25 @@
   	return;
   }
   
  +void
  +printArgOptions()
  +{
  +	cerr << endl
  +		 << "Perf options (options are not case-sensitive)"
  +		 << endl
  +		 << endl
  +		 << "-base dirname      (base directory for testcases)"
  +		 << endl
  +		 << endl
  +		 << "[-out dirname      (base directory for output) ]"
  +		 << endl
  +		 << "[-category dirname (run files only from a specific directory) ]"
  +		 << endl
  +		 << "[-i                (include all testcases) ]"
  +		 << endl
  +		 << "[-iter n           (specifies number of iterations; must be > 0)  ]"
  +		 << endl;
  +}
   
   bool
   getParams(int argc, 
  @@ -271,11 +291,12 @@
   		  long& iterCount, 
   		  bool& skip,
   		  bool& cat,
  -		  XalanDOMString& category)
  +		  XalanDOMString& category,
  +		  XalanDOMString& basedir)
   {
  -	if (argc >= 6 )
  +	if (argc = 1 )
   	{
  -		cout << "Usage perf {count, -s(kip) -category 'dirname'} " << endl;
  +		printArgOptions(); 
   		return false;
   	}
   
  @@ -284,12 +305,12 @@
   		iterCount = atol(argv[1]);
   		if (iterCount <= 0)
   		{
  -			cerr << "Usage: perf <count, -s(kip)>" << endl  << endl;
  +			cerr << "Usage: perf <count, -i(nclude)>" << endl  << endl;
   			return false;
   		}
  -		else if (argc >= 3 && !stricmp(argv[2], "-s"))
  +		else if (argc >= 3 && !stricmp(argv[2], "-i"))
   		{
  -			skip = true;
  +			skip = false;
   		}
   	}
   
  @@ -300,12 +321,94 @@
   			assign(category, XalanDOMString(argv[4]));
   		}
   
  +	if (argc >= 5 && !stricmp(argv[5], "-basedir"))
  +		{
  +			cout << argv[6] << endl;
  +			assign(basedir, XalanDOMString(argv[6]));
  +		}
  +
   	return true;
   }
   
  +bool
  +getParamsNEW(int argc, 
  +		  const char*	argv[], 
  +		  long& iterCount, 
  +		  bool& skip,
  +		  XalanDOMString& category,
  +		  XalanDOMString& basedir,
  +		  XalanDOMString& outdir)
  +{
  +	bool fSuccess = true;
  +
  +	if (argc == 1 )
  +	{
  +		printArgOptions(); 
  +		return false;
  +	}
  +	for (int i = 1; i < argc && fSuccess == true; ++i)
  +	{
  +
  +	if(!stricmp("-base", argv[i]))
  +	{
  +		++i;
  +		if(i < argc && argv[i][0] != '-')
  +		{
  +			assign(basedir, XalanDOMString(argv[i]));
  +		}
  +		else
  +		{
  +			fSuccess = false;
  +		}
  +	}
  +	else if(!stricmp("-out", argv[i]))
  +	{
  +		++i;
  +		if(i < argc && argv[i][0] != '-')
  +		{
  +			assign(outdir, XalanDOMString(argv[i]));
  +		}
  +		else
  +		{
  +			fSuccess = false;
  +		}
  +	}
  +	else if(!stricmp("-category", argv[i]))
  +	{
  +		++i;
  +		if(i < argc && argv[i][0] != '-')
  +		{
  +			assign(category, XalanDOMString(argv[i]));
  +		}
  +		else
  +		{
  +			fSuccess = false;
  +		}
  +	}
  +	else if(!stricmp("-i", argv[i]))
  +	{
  +		skip = false;
  +	}
  +	else if(!stricmp("-iter", argv[i]))
  +	{
  +		++i;
  +		iterCount = atol(argv[i]);
  +		if (iterCount <= 0)
  +		{
  +			printArgOptions();
  +			fSuccess = false;
  +		}
  +	}
  +
  +	} // End of for-loop
  +	return fSuccess;
  +}
  +
   
   
   
  +
  +
   int
   main(
   	 int			argc,
  @@ -320,12 +423,16 @@
   
   	Hashtable runAttrs;
   	long iterCount = 5;	// Default number of iterations
  -	bool skip = false;	// Default will not skip long tests
  +	bool skip = true;	// Default will skip long tests
   	bool cat = false;   // run tests from single directory
  -	XalanDOMString category(XalanDOMString("NA")); // Default perf/dir to test
  +
  +	XalanDOMString  category(XalanDOMString("")); // Default perf/dir to test
  +	XalanDOMString  baseDir(XALAN_STATIC_UCODE_STRING("d:\\xslt\\xsl-test\\perf\\"));
  +	XalanDOMString  outputRoot(XALAN_STATIC_UCODE_STRING("d:\\xslt\\cperf-results\\"));
  +	XalanDOMString  resultsRoot(XALAN_STATIC_UCODE_STRING("d:\\xslt\\xsl-test\\perf-dataxml\\"));
   
   
  -	if (getParams(argc, argv, iterCount, skip, cat, category) == true)
  +	if (getParamsNEW(argc, argv, iterCount, skip, category, baseDir, outputRoot) == true)
   	{
   
   		FileUtility f;
  @@ -336,9 +443,6 @@
   		const XalanDOMString processorType(XALAN_STATIC_UCODE_STRING("XalanC"));
   
   		// Defined basic constants for file manipulation 
  -		const XalanDOMString  baseDir(XALAN_STATIC_UCODE_STRING("d:\\xslt\\xsl-test\\perf\\"));
  -		const XalanDOMString  outputRoot(XALAN_STATIC_UCODE_STRING("d:\\xslt\\cperf-results\\"));
  -		const XalanDOMString  resultsRoot(XALAN_STATIC_UCODE_STRING("d:\\xslt\\xsl-test\\perf-dataxml\\"));
   
   		const XalanDOMString  XSLSuffix(XALAN_STATIC_UCODE_STRING(".xsl"));
   		const XalanDOMString  XMLSuffix(XALAN_STATIC_UCODE_STRING(".xml"));
  @@ -368,7 +472,7 @@
   
   				for(FileNameVectorType::size_type	j = 0; j < dirs.size(); j++)
   				{
  -					if (cat && !equals(dirs[j], category))
  +					if (length(category) > 0 && !equals(dirs[j], category))
   					{
   						continue;
   					}
  
  
  

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