Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Fixes based on CR.
Browse files Browse the repository at this point in the history
  • Loading branch information
mkauppila committed Jun 28, 2011
1 parent f02a382 commit dfd6a83
Show file tree
Hide file tree
Showing 8 changed files with 317 additions and 330 deletions.
2 changes: 1 addition & 1 deletion test/test-automation/Makefile.am
Expand Up @@ -3,7 +3,7 @@ ACLOCAL_AMFLAGS = -I acinclude -I build-scripts
SUBDIRS = testdummy testrect testplatform

bin_PROGRAMS = runner
runner_SOURCES = runner.c SDL_test.c logger.c xml_logger.c plain_logger.c xml.c
runner_SOURCES = runner.c SDL_test.c logger.c xml_logger.c plain_logger.c xml.c logger_helpers.c
runner_CLAGS = -W -Wall -Wextra -g `sdl-config --cflags` -DSDL_NO_COMPAT
runner_LDFLAGS = `sdl-config --libs`

Expand Down
69 changes: 7 additions & 62 deletions test/test-automation/logger.c
Expand Up @@ -10,7 +10,7 @@
#include "xml_logger.h"
#include "plain_logger.h"

// Pointers to selected logger implementation
//! Pointers to selected logger implementation
RunStartedFp RunStarted = 0;
RunEndedFp RunEnded = 0;
SuiteStartedFp SuiteStarted = 0;
Expand All @@ -22,6 +22,9 @@ AssertWithValuesFp AssertWithValues = 0;
AssertSummaryFp AssertSummary = 0;
LogFp Log = 0;

/*!
* Sets up the XML logger
*/
int
SetupXMLLogger()
{
Expand All @@ -41,6 +44,9 @@ SetupXMLLogger()
Log = XMLLog;
}

/*!
* Sets up the plain logger
*/
int
SetupPlainLogger()
{
Expand All @@ -59,64 +65,3 @@ SetupPlainLogger()

Log = PlainLog;
}


char *IntToString(const int integer) {
static char buffer[sizeof(int) * 8 + 1]; // malloc might work better
memset(buffer, 0, sizeof(buffer));

SDL_snprintf(buffer, sizeof(buffer), "%d", integer);

return buffer;
}


char *DoubleToString(const double decimal) {
static char buffer[sizeof(double) * 8 + 1]; // malloc might work better
memset(buffer, 0, sizeof(buffer));

SDL_snprintf(buffer, sizeof(buffer), "%.5f", decimal);

return buffer;
}

char *TimestampToString(const time_t timestamp) {
static char buffer[1024];
//char *buffer = SDL_malloc(1024);
memset(buffer, 0, 1024);

time_t copy = timestamp;

struct tm *local = localtime(&copy);
strftime(buffer, 1024, "%a %Y-%m-%d %H:%M:%S %Z", local);

return buffer;
}

#if 0
/*!
* Test app for logging functionality
*/
int
main(int argc, char *argv[])
{
int xml_enabled = 1;

if(xml_enabled) {
SetupXMLLogger();
} else {
SetupPlainLogger();
}

RunStarted(Output, "some_<data_>here&here", 0);
SuiteStarted("Suite data here", 0);

TestStarted("test1", "suite", "desc", 0);
TestEnded("test1", "suite", 0, 0, 0, 0);

SuiteEnded(0, 0, 0, 0.0f, 0);
RunEnded(0, 0, 0, 0, 0, 0);

return 0;
}
#endif
26 changes: 0 additions & 26 deletions test/test-automation/logger.h
Expand Up @@ -65,30 +65,4 @@ extern AssertWithValuesFp AssertWithValues;
extern AssertSummaryFp AssertSummary;
extern LogFp Log;

/*!
* Helper functions. Turns the given integer in to a string
*
* \param integer The converted integer
* \returns Given integer as string
*/
char *IntToString(const int integer);

/*!
* Helper functions. Turns the given double value in to a string
*
* \param decimal The converted double value
* \returns Given double value as string
*/
char *DoubleToString(const double decimal);


/*!
* Converts unix timestamp to it's ascii presentation
*
* \param timestamp Timestamp
* \return Ascii presentation
*/
char *TimestampToString(const time_t timestamp);


#endif
119 changes: 119 additions & 0 deletions test/test-automation/logger_helpers.c
@@ -0,0 +1,119 @@

#include <SDL/SDL.h>

#include "logger_helpers.h"

/*!
* Helper functions. Turns the given integer in to a string
*
* Note: uses static buffer internally, so the return value
* isn't valid after the next call of this function. If you
* want to retain the return value, make a copy of it
*
* \param integer The converted integer
* \returns Given integer as string
*/
char *IntToString(const int integer) {
static char buffer[256]; // malloc might work better
memset(buffer, 0, sizeof(buffer));

SDL_snprintf(buffer, sizeof(buffer), "%d", integer);

return buffer;
}

/*!
* Helper functions. Turns the given double value in to a string
*
* Note: uses static buffer internally, so the return value
* isn't valid after the next call of this function. If you
* want to retain the return value, make a copy of it
*
* \param decimal The converted double value
* \returns Given double value as string
*/
char *DoubleToString(const double decimal) {
static char buffer[256]; // malloc might work better
memset(buffer, 0, sizeof(buffer));

SDL_snprintf(buffer, sizeof(buffer), "%.5f", decimal);

return buffer;
}

/*!
* Converts unix timestamp to its ascii presentation
*
* Note: uses static buffer internally, so the return value
* isn't valid after the next call of this function. If you
* want to retain the return value, make a copy of it
*
* \param timestamp Timestamp
* \return Ascii presentation
*/
char *TimestampToString(const time_t timestamp) {
static char buffer[256];
memset(buffer, 0, sizeof(buffer));

time_t copy = timestamp;

struct tm *local = localtime(&copy);
strftime(buffer, sizeof(buffer), "%a %Y-%m-%d %H:%M:%S %Z", local);

return buffer;
}

/*! Turns all the characters of the given
* string to lowercase and returns the resulting string.
*
* \param string String to be converted
* \return Newly allocated lower-case version of the given string
*/
char *
ToLowerCase(const char *string)
{
if(ValidateString(string) == 0) {
return NULL;
}

const int size = SDL_strlen(string);
char *ret = SDL_malloc(size + 1);
strncpy(ret, string, size);
ret[size] = '\0';

int counter = 0;
for(; counter < size; ++counter) {
ret[counter] = tolower(ret[counter]);
}

// printf("Debug: %s == %s\n", string, ret);

return ret;
}

/*!
* Validates string by checking that given string is not
* NULL, its length is non-zero etc.
*
* \param string Validated string
* \returns 1 if string is valid, otherwise 0
*/
int
ValidateString(const char *string)
{
int retVal = 1;

if(string != NULL) {
if(SDL_strlen(string) > 0) {
retVal = 1;
}

retVal = 1;
} else {
retVal = 0;
}

return retVal;
}


16 changes: 16 additions & 0 deletions test/test-automation/logger_helpers.h
@@ -0,0 +1,16 @@
#ifndef _LOGGER_HELPERS_G
#define _LOGGER_HELPERS_G

#include <time.h>

char *IntToString(const int integer);

char *DoubleToString(const double decimal);

char *TimestampToString(const time_t timestamp);

char *ToLowerCase(const char *string);

int ValidateString(const char *string);

#endif

0 comments on commit dfd6a83

Please sign in to comment.