Changed SetUpLogger based on CR.
This commit is contained in:
parent
77405acdd9
commit
55a247608b
5 changed files with 41 additions and 24 deletions
|
@ -21,6 +21,6 @@ do
|
||||||
cp -f "$suite/.libs/lib$suite.$EXT" $DIRECTORY
|
cp -f "$suite/.libs/lib$suite.$EXT" $DIRECTORY
|
||||||
done
|
done
|
||||||
|
|
||||||
sudo cp .libs/libtest.0.dylib /usr/local/lib/libtest.0.dylib
|
#sudo cp .libs/libtest.0.dylib /usr/local/lib/libtest.0.dylib
|
||||||
|
|
||||||
echo "Test suites installed."
|
echo "Test suites installed."
|
||||||
|
|
|
@ -24,11 +24,12 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
/* Logging levels */
|
/* Logging levels */
|
||||||
typedef enum Level {
|
typedef enum LogLevel {
|
||||||
STANDARD = 1,
|
LOGGER_TERSE = 1,
|
||||||
VERBOSE
|
LOGGER_VERBOSE
|
||||||
} Level;
|
} Level;
|
||||||
|
|
||||||
|
#define LOGGER_DEFAULT_LEVEL LOGGER_TERSE
|
||||||
|
|
||||||
typedef struct LoggerData {
|
typedef struct LoggerData {
|
||||||
//! If enabled logger will write to stdout instead of file
|
//! If enabled logger will write to stdout instead of file
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
static int indentLevel;
|
static int indentLevel;
|
||||||
|
|
||||||
/*! Logging level of the logger */
|
/*! Logging level of the logger */
|
||||||
static Level level = STANDARD;
|
static Level level = LOGGER_TERSE;
|
||||||
|
|
||||||
//! Handle to log file
|
//! Handle to log file
|
||||||
static FILE *logFile;
|
static FILE *logFile;
|
||||||
|
@ -155,7 +155,7 @@ PlainAssert(const char *assertName, int assertResult, const char *assertMessage,
|
||||||
time_t eventTime)
|
time_t eventTime)
|
||||||
{
|
{
|
||||||
// Log passed asserts only on VERBOSE level
|
// Log passed asserts only on VERBOSE level
|
||||||
if(level <= STANDARD && assertResult == ASSERT_PASS) {
|
if(level <= LOGGER_TERSE && assertResult == ASSERT_PASS) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ PlainAssertWithValues(const char *assertName, int assertResult, const char *asse
|
||||||
int actualValue, int expectedValue, time_t eventTime)
|
int actualValue, int expectedValue, time_t eventTime)
|
||||||
{
|
{
|
||||||
// Log passed asserts only on VERBOSE level
|
// Log passed asserts only on VERBOSE level
|
||||||
if(level <= STANDARD && assertResult == ASSERT_PASS) {
|
if(level <= LOGGER_TERSE && assertResult == ASSERT_PASS) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,12 @@ int universal_timeout = -1;
|
||||||
//! Default directory of the test suites
|
//! Default directory of the test suites
|
||||||
#define DEFAULT_LOG_FILENAME "runner"
|
#define DEFAULT_LOG_FILENAME "runner"
|
||||||
|
|
||||||
|
//! Defines directory separator
|
||||||
|
#define DIRECTORY_SEPARATOR '/'
|
||||||
|
|
||||||
|
//! Name of the default stylesheet
|
||||||
|
const char *defaultXSLStylesheet = "style.xsl";
|
||||||
|
|
||||||
//! Fuzzer seed for the harness
|
//! Fuzzer seed for the harness
|
||||||
char *runSeed = NULL;
|
char *runSeed = NULL;
|
||||||
|
|
||||||
|
@ -256,7 +262,7 @@ ScanForTestSuites(char *directoryName, char *extension)
|
||||||
SDL_snprintf(reference->name, nameSize, "%s", name);
|
SDL_snprintf(reference->name, nameSize, "%s", name);
|
||||||
|
|
||||||
// copy the directory path
|
// copy the directory path
|
||||||
const int dpSize = dirSize + nameSize + 1 + extSize + 1;
|
const Uint32 dpSize = dirSize + nameSize + 1 + extSize + 1;
|
||||||
reference->directoryPath = SDL_malloc(dpSize * sizeof(char));
|
reference->directoryPath = SDL_malloc(dpSize * sizeof(char));
|
||||||
if(reference->directoryPath == NULL) {
|
if(reference->directoryPath == NULL) {
|
||||||
SDL_free(reference->name);
|
SDL_free(reference->name);
|
||||||
|
@ -891,7 +897,8 @@ GenerateRunSeed(const int length)
|
||||||
* \return Logger data structure (that needs be deallocated)
|
* \return Logger data structure (that needs be deallocated)
|
||||||
*/
|
*/
|
||||||
LoggerData *
|
LoggerData *
|
||||||
SetUpLogger()
|
SetUpLogger(const int log_stdout_enabled, const int xml_enabled, const int xsl_enabled,
|
||||||
|
const int custom_xsl_enabled, const char *defaultXslSheet)
|
||||||
{
|
{
|
||||||
LoggerData *loggerData = SDL_malloc(sizeof(LoggerData));
|
LoggerData *loggerData = SDL_malloc(sizeof(LoggerData));
|
||||||
if(loggerData == NULL) {
|
if(loggerData == NULL) {
|
||||||
|
@ -900,7 +907,7 @@ SetUpLogger()
|
||||||
}
|
}
|
||||||
memset(loggerData, 0, sizeof(LoggerData));
|
memset(loggerData, 0, sizeof(LoggerData));
|
||||||
|
|
||||||
loggerData->level = (enable_verbose_logger ? VERBOSE : STANDARD);
|
loggerData->level = (enable_verbose_logger ? LOGGER_VERBOSE : LOGGER_TERSE);
|
||||||
|
|
||||||
if(log_stdout_enabled == 1) {
|
if(log_stdout_enabled == 1) {
|
||||||
loggerData->stdoutEnabled = 1;
|
loggerData->stdoutEnabled = 1;
|
||||||
|
@ -910,20 +917,24 @@ SetUpLogger()
|
||||||
|
|
||||||
const char *extension = (xml_enabled ? "xml" : "log");
|
const char *extension = (xml_enabled ? "xml" : "log");
|
||||||
|
|
||||||
/* Combine and create directory for log file */
|
|
||||||
// log_directory + log_basename + seed + . + type
|
|
||||||
const int directoryLength = SDL_strlen(log_directory);
|
|
||||||
const int basenameLength = SDL_strlen(log_basename);
|
|
||||||
const int seedLength = SDL_strlen(runSeed);
|
|
||||||
const int extensionLength = SDL_strlen(extension);
|
|
||||||
|
|
||||||
// create directory (if it doesn't exist yet)
|
// create directory (if it doesn't exist yet)
|
||||||
unsigned int mode = S_IRWXU | S_IRGRP | S_ISUID;
|
unsigned int mode = S_IRWXU | S_IRGRP | S_ISUID;
|
||||||
mkdir(log_directory, mode);
|
mkdir(log_directory, mode);
|
||||||
|
|
||||||
|
/* Combine and create directory for log file */
|
||||||
|
const Uint32 directoryLength = SDL_strlen(log_directory);
|
||||||
|
const Uint32 basenameLength = SDL_strlen(log_basename);
|
||||||
|
const Uint32 seedLength = SDL_strlen(runSeed);
|
||||||
|
const Uint32 extensionLength = SDL_strlen(extension);
|
||||||
|
|
||||||
// couple of extras bytes for '/', '-', '.' and '\0' at the end
|
// couple of extras bytes for '/', '-', '.' and '\0' at the end
|
||||||
const int length = directoryLength + basenameLength + seedLength
|
const Uint32 length = directoryLength + basenameLength + seedLength
|
||||||
+ extensionLength + 4;
|
+ extensionLength + 4;
|
||||||
|
|
||||||
|
if(length <= 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
char *filename = SDL_malloc(length);
|
char *filename = SDL_malloc(length);
|
||||||
if(filename == NULL) {
|
if(filename == NULL) {
|
||||||
SDL_free(loggerData);
|
SDL_free(loggerData);
|
||||||
|
@ -933,8 +944,8 @@ SetUpLogger()
|
||||||
}
|
}
|
||||||
memset(filename, 0, length);
|
memset(filename, 0, length);
|
||||||
|
|
||||||
SDL_snprintf(filename, length, "%s/%s-%s.%s", log_directory, log_basename,
|
SDL_snprintf(filename, length, "%s%c%s-%s.%s", log_directory,
|
||||||
runSeed, extension);
|
DIRECTORY_SEPARATOR, log_basename, runSeed, extension);
|
||||||
|
|
||||||
loggerData->filename = filename;
|
loggerData->filename = filename;
|
||||||
}
|
}
|
||||||
|
@ -1285,7 +1296,12 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoggerData *loggerData = SetUpLogger();
|
LoggerData *loggerData = SetUpLogger(log_stdout_enabled, xml_enabled,
|
||||||
|
xsl_enabled, custom_xsl_enabled, defaultXSLStylesheet);
|
||||||
|
if(loggerData == NULL) {
|
||||||
|
printf("Failed to create a logger.\n");
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
if(log_stdout_enabled == 0) {
|
if(log_stdout_enabled == 0) {
|
||||||
printf("Runner is executing the tests.\n");
|
printf("Runner is executing the tests.\n");
|
||||||
|
|
|
@ -68,7 +68,7 @@ const char *logElementName = "log";
|
||||||
static int indentLevel;
|
static int indentLevel;
|
||||||
|
|
||||||
/*! Logging level of the logger */
|
/*! Logging level of the logger */
|
||||||
static Level level = STANDARD;
|
static Level level = LOGGER_TERSE;
|
||||||
|
|
||||||
//! Constants for XMLOuputters EOL parameter
|
//! Constants for XMLOuputters EOL parameter
|
||||||
#define YES 1
|
#define YES 1
|
||||||
|
@ -485,7 +485,7 @@ XMLAssert(const char *assertName, int assertResult, const char *assertMessage,
|
||||||
time_t eventTime)
|
time_t eventTime)
|
||||||
{
|
{
|
||||||
// Log passed asserts only on VERBOSE level
|
// Log passed asserts only on VERBOSE level
|
||||||
if(level <= STANDARD && assertResult == ASSERT_PASS) {
|
if(level <= LOGGER_TERSE && assertResult == ASSERT_PASS) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -542,7 +542,7 @@ XMLAssertWithValues(const char *assertName, int assertResult, const char *assert
|
||||||
int actualValue, int excpected, time_t eventTime)
|
int actualValue, int excpected, time_t eventTime)
|
||||||
{
|
{
|
||||||
// Log passed asserts only on VERBOSE level
|
// Log passed asserts only on VERBOSE level
|
||||||
if(level <= STANDARD && assertResult == ASSERT_PASS) {
|
if(level <= LOGGER_TERSE && assertResult == ASSERT_PASS) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue