116 lines
2.7 KiB
C++
116 lines
2.7 KiB
C++
/*++
|
|
|
|
Copyright (c) 2000-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Log.h
|
|
|
|
Abstract:
|
|
|
|
This DLL handles the logging for the SMVTest.
|
|
|
|
Author:
|
|
|
|
Diaa Fathalla (DiaaF) 27-Nov-2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
// The following ifdef block is the standard way of creating macros which make exporting
|
|
// from a DLL simpler. All files within this DLL are compiled with the LOG_EXPORTS
|
|
// symbol defined on the command line. this symbol should not be defined on any project
|
|
// that uses this DLL. This way any other project whose source files include this file see
|
|
// LOG_API functions as being imported from a DLL, wheras this DLL sees symbols
|
|
// defined with this macro as being exported.
|
|
|
|
#ifndef _LOG_H_
|
|
#define _LOG_H_
|
|
|
|
#ifdef LOG_EXPORTS
|
|
#define LOG_API __declspec(dllexport)
|
|
#else
|
|
#define LOG_API __declspec(dllimport)
|
|
#endif
|
|
|
|
#define SUCCESS 0
|
|
#define FAILURE 1
|
|
#define NORMAL_SIZE 128*sizeof(TCHAR)
|
|
|
|
// This class is exported from the Log.dll
|
|
class LOG_API CLog {
|
|
private:
|
|
void SetLogfile(LPCTSTR szLogfile);
|
|
void SetLogfileFolder(LPCTSTR szLogfileFolder);
|
|
|
|
static LPTSTR m_sLogfile;
|
|
static LPTSTR m_sLogfileFolder;
|
|
|
|
static int s_NumberOfTests;
|
|
static int s_NumberOfFailures;
|
|
|
|
static BOOL s_bFirstTime;
|
|
|
|
void IncNumberOfTests();
|
|
void IncNumberOfFailures();
|
|
int NumberOfTests();
|
|
int NumberOfFailures();
|
|
|
|
protected:
|
|
LPTSTR m_sMachineName;
|
|
LPTSTR m_sCSDVersion;
|
|
LPTSTR m_sBuildNumber;
|
|
LPTSTR m_sProcessor;
|
|
int m_iProcessor;
|
|
int m_iOperatingSys;
|
|
int m_iNTProductType;
|
|
BOOL m_bLogFile;
|
|
|
|
protected:
|
|
void DeleteAllLogFiles();
|
|
|
|
|
|
public:
|
|
//Logging file routines
|
|
//--------------------------------------
|
|
CLog(void);
|
|
~CLog();
|
|
BOOL InitLogfile(LPCTSTR szLogfile = TEXT("ShimTest.Log"),
|
|
LPCTSTR szLogfileFolder = TEXT("TestLogs"));
|
|
BOOL InitLogfileInfo(LPCTSTR szLogfile = TEXT("ShimTest.Log"),
|
|
LPCTSTR szLogfileFolder = TEXT("TestLogs"));
|
|
BOOL EndLogfile();
|
|
BOOL LogResults(BOOL bPassed, LPCTSTR szText);
|
|
BOOL DoesLogfileExist();
|
|
BOOL VerifyFileExists(LPTSTR sPath);
|
|
LPTSTR LogInitHeader();
|
|
LPTSTR LogCompTail();
|
|
void GetLocalComputerInfo();
|
|
//--------------------------------------
|
|
|
|
};
|
|
|
|
//Using my own new and delete operators because of the MSVCRT dependency
|
|
void * __cdecl operator new(size_t size)
|
|
{
|
|
return HeapAlloc(GetProcessHeap(), 0, size);
|
|
}
|
|
|
|
void __cdecl operator delete(void* memory)
|
|
{
|
|
if (memory != NULL) {
|
|
HeapFree(GetProcessHeap(), 0, memory);
|
|
}
|
|
}
|
|
|
|
//explicitly exporting static members because they implicitly linked.
|
|
#ifdef LOG_EXPORTS
|
|
LOG_API int CLog::s_NumberOfTests;
|
|
LOG_API int CLog::s_NumberOfFailures;
|
|
LOG_API LPTSTR CLog::m_sLogfile;
|
|
LOG_API LPTSTR CLog::m_sLogfileFolder;
|
|
LOG_API BOOL CLog::s_bFirstTime;
|
|
#endif
|
|
|
|
#endif |