Commit c003533b authored by Markus Kauppila's avatar Markus Kauppila

Fixed the interface between tests suites and logger.

Note: breaks the linux build.
parent f51d1376
......@@ -39,16 +39,8 @@ int _testAssertsFailed;
int _testAssertsPassed;
void
_TestCaseInit(const int enableXMLLogging)
_TestCaseInit()
{
// setup logging functions
// rather afwul way to do it, but function pointers didn't work
if(enableXMLLogging) {
SetupXMLLogger();
} else {
SetupPlainLogger();
}
_testReturnValue = 0;
_testAssertsFailed = 0;
_testAssertsPassed = 0;
......@@ -122,7 +114,6 @@ AssertPass(char *message, ...)
SDL_vsnprintf( buf, sizeof(buf), message, args );
va_end( args );
//printf("AssertPass: %s\n", buf);
Assert("AssertPass", 1, buf, time(0));
_testAssertsPassed++;
......@@ -138,7 +129,6 @@ AssertFail(char *message, ...)
SDL_vsnprintf( buf, sizeof(buf), message, args );
va_end( args );
//printf("AssertFail: %s\n", buf);
Assert("AssertFail", 0, buf, time(0));
_testAssertsFailed++;
......
......@@ -29,6 +29,8 @@ extern int _testReturnValue;
extern int _testAssertsFailed;
extern int _testAssertsPassed;
extern AssertFp testAssert;
// \todo Should these be consts?
#define TEST_ENABLED 1
#define TEST_DISABLED 0
......@@ -56,7 +58,7 @@ typedef struct TestCaseReference {
*
* \param enableXMLLogging Whether or not enable xml logging
*/
void _TestCaseInit(const int enableXMLLogging);
void _TestCaseInit();
/*!
* Deinitializes and exits the test case
......
......@@ -10,58 +10,4 @@
#include "xml_logger.h"
#include "plain_logger.h"
//! Pointers to selected logger implementation
RunStartedFp RunStarted = 0;
RunEndedFp RunEnded = 0;
SuiteStartedFp SuiteStarted = 0;
SuiteEndedFp SuiteEnded = 0;
TestStartedFp TestStarted = 0;
TestEndedFp TestEnded = 0;
AssertFp Assert = 0;
AssertWithValuesFp AssertWithValues = 0;
AssertSummaryFp AssertSummary = 0;
LogFp Log = 0;
/*!
* Sets up the XML logger
*/
int
SetupXMLLogger()
{
RunStarted = XMLRunStarted;
RunEnded = XMLRunEnded;
SuiteStarted = XMLSuiteStarted;
SuiteEnded = XMLSuiteEnded;
TestStarted = XMLTestStarted;
TestEnded = XMLTestEnded;
Assert = XMLAssert;
AssertWithValues = XMLAssertWithValues;
AssertSummary = XMLAssertSummary;
Log = XMLLog;
}
/*!
* Sets up the plain logger
*/
int
SetupPlainLogger()
{
RunStarted = PlainRunStarted;
RunEnded = PlainRunEnded;
SuiteStarted = PlainSuiteStarted;
SuiteEnded = PlainSuiteEnded;
TestStarted = PlainTestStarted;
TestEnded = PlainTestEnded;
Assert = PlainAssert;
AssertWithValues = PlainAssertWithValues;
AssertSummary = PlainAssertSummary;
Log = PlainLog;
}
......@@ -55,6 +55,7 @@ typedef void (*LogFp)(const char *logMessage, time_t eventTime);
/*! Function pointers to actual logging function implementations */
extern RunStartedFp RunStarted;
extern RunEndedFp RunEnded;
extern SuiteStartedFp SuiteStarted;
......
......@@ -9,8 +9,6 @@
#include "logger_helpers.h"
#include "plain_logger.h"
static int indentLevel;
/*!
......
......@@ -31,12 +31,15 @@
#include "config.h"
#include "SDL_test.h"
#include "plain_logger.h"
#include "xml_logger.h"
#include "logger.h"
//!< Function pointer to a test case function
typedef void (*TestCaseFp)(void *arg);
//!< Function pointer to a test case init function
typedef void (*TestCaseInitFp)(const int);
typedef void (*TestCaseInitFp)(void);
//!< Function pointer to a test case quit function
typedef int (*TestCaseQuitFp)(void);
......@@ -117,6 +120,18 @@ TestCaseInitFp LoadTestCaseInitFunction(void *suite);
TestCaseQuitFp LoadTestCaseQuitFunction(void *suite);
TestCaseReference **QueryTestCaseReferences(void *library);
/*! Pointers to selected logger implementation */
RunStartedFp RunStarted = NULL;
RunEndedFp RunEnded = NULL;
SuiteStartedFp SuiteStarted = NULL;
SuiteEndedFp SuiteEnded = NULL;
TestStartedFp TestStarted = NULL;
TestEndedFp TestEnded = NULL;
AssertFp Assert = NULL;
AssertWithValuesFp AssertWithValues = NULL;
AssertSummaryFp AssertSummary = NULL;
LogFp Log = NULL;
/*!
* Goes through the previously loaded test suites and
......@@ -501,7 +516,8 @@ HandleChildProcessReturnValue(int stat_lock)
returnValue = WEXITSTATUS(stat_lock);
} else if(WIFSIGNALED(stat_lock)) {
int signal = WTERMSIG(stat_lock);
fprintf(stderr, "FAILURE: test was aborted due to signal no %d\n", signal);
// \todo add this to logger
//fprintf(stderr, "FAILURE: test was aborted due to signal no %d\n", signal);
returnValue = 1;
}
......@@ -520,7 +536,7 @@ int
ExecuteTest(TestCase *testItem) {
int retVal = 1;
if(execute_inproc) {
testItem->testCaseInit(xml_enabled);
testItem->testCaseInit();
testItem->testCase(0x0);
......@@ -528,7 +544,7 @@ ExecuteTest(TestCase *testItem) {
} else {
int childpid = fork();
if(childpid == 0) {
testItem->testCaseInit(xml_enabled);
testItem->testCaseInit();
testItem->testCase(0x0);
......@@ -692,7 +708,20 @@ main(int argc, char *argv[])
void *loggerData = NULL;
if(xml_enabled) {
SetupXMLLogger();
RunStarted = XMLRunStarted;
RunEnded = XMLRunEnded;
SuiteStarted = XMLSuiteStarted;
SuiteEnded = XMLSuiteEnded;
TestStarted = XMLTestStarted;
TestEnded = XMLTestEnded;
Assert = XMLAssert;
AssertWithValues = XMLAssertWithValues;
AssertSummary = XMLAssertSummary;
Log = XMLLog;
char *sheet = NULL;
if(xsl_enabled) {
......@@ -705,7 +734,20 @@ main(int argc, char *argv[])
loggerData = sheet;
} else {
SetupPlainLogger();
RunStarted = PlainRunStarted;
RunEnded = PlainRunEnded;
SuiteStarted = PlainSuiteStarted;
SuiteEnded = PlainSuiteEnded;
TestStarted = PlainTestStarted;
TestEnded = PlainTestEnded;
Assert = PlainAssert;
AssertWithValues = PlainAssertWithValues;
AssertSummary = PlainAssertSummary;
Log = PlainLog;
}
const Uint32 startTicks = SDL_GetTicks();
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment