windows-nt/Source/XPSP1/NT/com/oleutest/perform/common/bmlog.cxx
2020-09-26 16:20:57 +08:00

106 lines
2.3 KiB
C++

//+------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1993.
//
// File: bmlog.cxx
//
// Contents: Benchmark test error logging
//
// Classes:
//
// Functions:
//
// History: 29-July-93 t-martig Created
//
//--------------------------------------------------------------------------
#include <benchmrk.hxx>
#include <bmoutput.hxx>
#include <bmlog.hxx>
CTestOutput *logOutput;
//+------------------------------------------------------------------------
//
// funtion: LogTo
//
// purpose: writes the benchmark header to the logfile
//
//+------------------------------------------------------------------------
void LogTo (CTestOutput *_logOutput)
{
logOutput = _logOutput;
_SYSTEMTIME stTimeDate;
logOutput->WriteString (TEXT("CairOLE Benchmark Log File\t"));
GetLocalTime (&stTimeDate);
logOutput->WriteDate (&stTimeDate);
logOutput->WriteString (TEXT("\t"));
logOutput->WriteTime (&stTimeDate);
logOutput->WriteString (TEXT("\n\n"));
}
//+------------------------------------------------------------------------
//
// funtion: LogSection
//
// purpose: writes the section header to the logfile
//
//+------------------------------------------------------------------------
void LogSection (LPTSTR lpszName)
{
if (!logOutput)
return;
logOutput->WriteString (lpszName);
logOutput->WriteString (TEXT("\n"));
}
//+------------------------------------------------------------------------
//
// funtion: Log
//
// purpose: records the result of one action taken by the benchmark test
//
//+------------------------------------------------------------------------
int Log (LPTSTR lpszActionName, SCODE hr)
{
if (!logOutput)
return !SUCCEEDED(hr);
logOutput->WriteString (TEXT(" "));
logOutput->WriteString (lpszActionName);
if (SUCCEEDED(hr))
{
logOutput->WriteString (TEXT("\tOK\n"));
return FALSE;
}
else
{
logOutput->WriteString (TEXT("\tERROR: "));
logOutput->WriteSCODE (hr);
logOutput->WriteString (TEXT("\n"));
return TRUE;
}
}
int Log (LPTSTR lpszActionName, ULONG ulCode)
{
if (!logOutput)
return FALSE;
logOutput->WriteString (TEXT(" "));
logOutput->WriteString (lpszActionName);
logOutput->WriteLong(ulCode);
return TRUE;
}