示例#1
0
	///Create a test harness that runs tests matching the substrings
	///passed on the command line. argc and argv are interpreted as if
	///they were the arguments to main.  If no substrings are given
	///(that is, no arguments are passed), all tests are run, as if one
	///argument of an empty string had been given.
	GTestHarness(int argc, char**argv)
	{
		//Make list of test names to match
 		if(argc < 2){
			m_testNameSubstr.push_back("");
		}else{
			for(int i = 1; i < argc; ++i){
				m_testNameSubstr.push_back(argv[i]);
			}
		}

		//Ready performance stats
		char buf[256];
		if(GApp::appPath(buf, 256, true) == -1)
			throw Ex("Failed to retrieve app path");
		if(chdir(buf) != 0)
			throw Ex("Failed to change the dir to the app folder");

		m_testTimes.flags(std::ios::showpoint | std::ios::skipws | std::ios::dec | std::ios::fixed | std::ios::left);
		m_testTimes.width(PERF_FILE_CHARS);
		m_testTimes.precision(PERF_FILE_CHARS - 3);
		string s;
		GTime::appendTimeStampValue(&s, "-", " ", ":", false);
		m_testTimes << s;
	}
示例#2
0
void
toHex(const uint8_t* array, size_t arrayLength, std::ostringstream& result)
{
  if (arrayLength == 0)
    return;

  result.flags(ios::hex);
  for (size_t i = 0; i < arrayLength; ++i) {
    uint8_t x = array[i];
    if (x < 16)
      result << '0';
    result << (unsigned int)x;
  }
}