Commit a3b21d2e authored by Markus Kauppila's avatar Markus Kauppila

XML elements now support single attribute. Fixes here and there.

parent 94c6ae4e
...@@ -27,13 +27,6 @@ LogFp Log = 0; ...@@ -27,13 +27,6 @@ LogFp Log = 0;
int int
LogGenericOutput(const char *message) LogGenericOutput(const char *message)
{ {
/*
int depth = indentDepth;
while(depth--) {
fprintf(stderr, " ");
}
*/
fprintf(stderr, "%s\n", message); fprintf(stderr, "%s\n", message);
fflush(stderr); fflush(stderr);
} }
...@@ -73,17 +66,17 @@ main(int argc, char *argv[]) ...@@ -73,17 +66,17 @@ main(int argc, char *argv[])
Log = PlainLog; Log = PlainLog;
} }
RunStarted(LogGenericOutput, "All the data from harness", 0); RunStarted(LogGenericOutput, "some_data_here", 0);
SuiteStarted("Suite data here", 0); SuiteStarted("Suite data here", 0);
TestStarted("test1", "desc", 0); TestStarted("test1", "suite", "desc", 0);
TestEnded("test1", "desc", 0, 0, 0, 0); TestEnded("test1", "suite", 0, 0, 0, 0);
//XMLTestStarted("test2", "desc", 0); //XMLTestStarted("test2", "desc", 0);
//XMLTestEnded("test2", "desc", 0, 0, 0, 0); //XMLTestEnded("test2", "desc", 0, 0, 0, 0);
SuiteEnded(0, 0, 0, 0.0f, 0); SuiteEnded(0, 0, 0, 0.0f, 0);
RunEnded(0, 0); RunEnded(0, 0, 0, 0, 0, 0);
return 0; return 0;
} }
...@@ -32,14 +32,16 @@ typedef int (*LogOutputFp)(const char *); ...@@ -32,14 +32,16 @@ typedef int (*LogOutputFp)(const char *);
* *
*/ */
typedef void (*RunStartedFp)(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime); typedef void (*RunStartedFp)(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime);
typedef void (*RunEndedFp)(time_t endTime, time_t totalRuntime); typedef void (*RunEndedFp)(int testCount, int suiteCount, int testPassCount, int testFailCount,
time_t endTime, time_t totalRuntime);
typedef void (*SuiteStartedFp)(const char *suiteName, time_t eventTime); typedef void (*SuiteStartedFp)(const char *suiteName, time_t eventTime);
typedef void (*SuiteEndedFp)(int testsPassed, int testsFailed, int testsSkipped, typedef void (*SuiteEndedFp)(int testsPassed, int testsFailed, int testsSkipped,
double endTime, time_t totalRuntime); double endTime, time_t totalRuntime);
typedef void (*TestStartedFp)(const char *testName, const char *testDescription, time_t startTime); typedef void (*TestStartedFp)(const char *testName, const char *suiteName,
typedef void (*TestEndedFp)(const char *testName, const char *testDescription, int testResult, const char *testDescription, time_t startTime);
typedef void (*TestEndedFp)(const char *testName, const char *suiteName, int testResult,
int numAsserts, time_t endTime, time_t totalRuntime); int numAsserts, time_t endTime, time_t totalRuntime);
typedef void (*AssertFp)(const char *assertName, int assertResult, const char *assertMessage, typedef void (*AssertFp)(const char *assertName, int assertResult, const char *assertMessage,
......
...@@ -16,7 +16,8 @@ PlainRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t event ...@@ -16,7 +16,8 @@ PlainRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t event
} }
void void
PlainRunEnded(time_t endTime, time_t totalRuntime) PlainRunEnded(int testCount, int suiteCount, int testPassCount, int testFailCount,
time_t endTime, time_t totalRuntime)
{ {
// \todo add total number of tests, suites, pass/failure test count // \todo add total number of tests, suites, pass/failure test count
} }
...@@ -35,12 +36,12 @@ PlainSuiteEnded(int testsPassed, int testsFailed, int testsSkipped, ...@@ -35,12 +36,12 @@ PlainSuiteEnded(int testsPassed, int testsFailed, int testsSkipped,
} }
void void
PlainTestStarted(const char *testName, const char *testDescription, time_t startTime) PlainTestStarted(const char *testName, const char *suiteName, const char *testDescription, time_t startTime)
{ {
} }
void void
PlainTestEnded(const char *testName, const char *testDescription, PlainTestEnded(const char *testName, const char *suiteName,
int testResult, int numAsserts, time_t endTime, time_t totalRuntime) int testResult, int numAsserts, time_t endTime, time_t totalRuntime)
{ {
printf("Asserts:%d\n", numAsserts); printf("Asserts:%d\n", numAsserts);
......
...@@ -5,16 +5,18 @@ ...@@ -5,16 +5,18 @@
void PlainRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime); void PlainRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime);
void PlainRunEnded(time_t endTime, time_t totalRuntime); void PlainRunEnded(int testCount, int suiteCount, int testPassCount, int testFailCount,
time_t endTime, time_t totalRuntime);
void PlainSuiteStarted(const char *suiteName, time_t eventTime); void PlainSuiteStarted(const char *suiteName, time_t eventTime);
void PlainSuiteEnded(int testsPassed, int testsFailed, int testsSkipped, void PlainSuiteEnded(int testsPassed, int testsFailed, int testsSkipped,
double endTime, time_t totalRuntime); double endTime, time_t totalRuntime);
void PlainTestStarted(const char *testName, const char *testDescription, time_t startTime); void PlainTestStarted(const char *testName, const char *suiteName,
const char *testDescription, time_t startTime);
void PlainTestEnded(const char *testName, const char *testDescription, void PlainTestEnded(const char *testName, const char *suiteName,
int testResult, int numAsserts, time_t endTime, time_t totalRuntime); int testResult, int numAsserts, time_t endTime, time_t totalRuntime);
void PlainAssert(const char *assertName, int assertResult, const char *assertMessage, void PlainAssert(const char *assertName, int assertResult, const char *assertMessage,
......
...@@ -18,10 +18,6 @@ ...@@ -18,10 +18,6 @@
3. This notice may not be removed or altered from any source distribution. 3. This notice may not be removed or altered from any source distribution.
*/ */
#ifndef _XML_C
#define _XML_C
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
...@@ -111,7 +107,7 @@ PrintOpenTags() ...@@ -111,7 +107,7 @@ PrintOpenTags()
/* /*
=================== ===================
Functions to handle XML creation Functions to handle creation of XML elements
=================== ===================
*/ */
...@@ -128,7 +124,7 @@ XMLOpenDocument(const char *rootTag, LogOutputFp log) ...@@ -128,7 +124,7 @@ XMLOpenDocument(const char *rootTag, LogOutputFp log)
size_t size = SDL_strlen(rootTag) + 3 + 1; /* one extra for '\0', '<' and '>' */ size_t size = SDL_strlen(rootTag) + 3 + 1; /* one extra for '\0', '<' and '>' */
char *buffer = SDL_malloc(size); char *buffer = SDL_malloc(size);
snprintf(buffer, size, "%s%s%s", "<", rootTag, ">"); snprintf(buffer, size, "<%s>", rootTag);
logger(buffer); logger(buffer);
SDL_free(buffer); SDL_free(buffer);
...@@ -148,7 +144,7 @@ XMLOpenElement(const char *tag) ...@@ -148,7 +144,7 @@ XMLOpenElement(const char *tag)
{ {
size_t size = SDL_strlen(tag) + 2 + 1; /* one extra for '\0', '<' */ size_t size = SDL_strlen(tag) + 2 + 1; /* one extra for '\0', '<' */
char *buffer = SDL_malloc(size); char *buffer = SDL_malloc(size);
snprintf(buffer, size, "%s%s%s", "<", tag, ">"); snprintf(buffer, size, "<%s>", tag);
logger(buffer); logger(buffer);
SDL_free(buffer); SDL_free(buffer);
...@@ -157,32 +153,20 @@ XMLOpenElement(const char *tag) ...@@ -157,32 +153,20 @@ XMLOpenElement(const char *tag)
void void
XMLOpenElementWithAttribute(const char *tag, Attribute attribute) XMLOpenElementWithAttribute(const char *tag, Attribute *attribute)
{ {
size_t size = SDL_strlen(tag) + 2 + 1; /* one extra for '\0', '<' */ const int bufferSize = 1024;
char *buffer = SDL_malloc(size); char buffer[bufferSize];
memset(buffer, 0, bufferSize);
snprintf(buffer, bufferSize, "<%s %s='%s'>", tag,
attribute->attribute, attribute->value);
snprintf(buffer, size, "%s%s", "<", tag);
logger(buffer); logger(buffer);
SDL_free(buffer);
AddOpenTag(tag); AddOpenTag(tag);
} }
//! \todo make this static and remove from interface?
void
XMLAddAttribute(const char *attribute, const char *value)
{
size_t attributeSize = SDL_strlen(attribute);
size_t valueSize = SDL_strlen(value);
size_t size = 1 + attributeSize + 3 + valueSize + 1;
char *buffer = SDL_malloc(size); // 1 for '='
snprintf(buffer, size, " %s%s\"%s\"", attribute, "=", value);
logger(buffer);
SDL_free(buffer);
}
void void
XMLAddContent(const char *content) XMLAddContent(const char *content)
{ {
...@@ -203,7 +187,7 @@ XMLCloseElement(const char *tag) ...@@ -203,7 +187,7 @@ XMLCloseElement(const char *tag)
size_t size = SDL_strlen(openTag->tag) + 4 + 1; /* one extra for '\0', '<', '/' and '>' */ size_t size = SDL_strlen(openTag->tag) + 4 + 1; /* one extra for '\0', '<', '/' and '>' */
char *buffer = SDL_malloc(size); char *buffer = SDL_malloc(size);
snprintf(buffer, size, "%s%s%s", "</", openTag->tag, ">"); snprintf(buffer, size, "<%s>", openTag->tag);
logger(buffer); logger(buffer);
SDL_free(buffer); SDL_free(buffer);
...@@ -226,5 +210,3 @@ XMLCloseElement(const char *tag) ...@@ -226,5 +210,3 @@ XMLCloseElement(const char *tag)
} }
} }
#endif
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "logger.h" #include "logger.h"
/*! Defines attribute for XML elements */
typedef struct Attribute { typedef struct Attribute {
const char *attribute; const char *attribute;
const char *value; const char *value;
...@@ -52,12 +53,9 @@ void XMLCloseDocument(); ...@@ -52,12 +53,9 @@ void XMLCloseDocument();
void XMLOpenElement(const char *tag); void XMLOpenElement(const char *tag);
/*! /*!
* Add attribute to currently open element. * Opens XML-element with given attributes
*
* \param attribute Name of the attribute
* \param value Value of the given attribute
*/ */
void XMLAddAttribute(const char *attribute, const char *value); void XMLOpenElementWithAttribute(const char *tag, Attribute *attribute);
/*! /*!
* Add content to currently open element. * Add content to currently open element.
......
...@@ -18,9 +18,6 @@ ...@@ -18,9 +18,6 @@
3. This notice may not be removed or altered from any source distribution. 3. This notice may not be removed or altered from any source distribution.
*/ */
#ifndef _XML_LOGGER_C
#define _XML_LOGGER_C
#include "xml.h" #include "xml.h"
#include "logger.h" #include "logger.h"
...@@ -37,7 +34,8 @@ XMLRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTi ...@@ -37,7 +34,8 @@ XMLRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTi
} }
void void
XMLRunEnded(time_t endTime, time_t totalRuntime) XMLRunEnded(int testCount, int suiteCount, int testPassCount, int testFailCount,
time_t endTime, time_t totalRuntime)
{ {
XMLCloseDocument("testlog"); XMLCloseDocument("testlog");
} }
...@@ -60,11 +58,13 @@ XMLSuiteEnded(int testsPassed, int testsFailed, int testsSkipped, ...@@ -60,11 +58,13 @@ XMLSuiteEnded(int testsPassed, int testsFailed, int testsSkipped,
} }
void void
XMLTestStarted(const char *testName, const char *testDescription, time_t startTime) XMLTestStarted(const char *testName, const char *suiteName, const char *testDescription, time_t startTime)
{ {
XMLOpenElement("test"); XMLOpenElement("test");
XMLOpenElement("name"); Attribute attribute = {"test", "value"};
XMLOpenElementWithAttribute("name", &attribute);
XMLAddContent(testName); XMLAddContent(testName);
XMLCloseElement("name"); XMLCloseElement("name");
...@@ -78,7 +78,7 @@ XMLTestStarted(const char *testName, const char *testDescription, time_t startTi ...@@ -78,7 +78,7 @@ XMLTestStarted(const char *testName, const char *testDescription, time_t startTi
} }
void void
XMLTestEnded(const char *testName, const char *testDescription, XMLTestEnded(const char *testName, const char *suiteName,
int testResult, int numAsserts, time_t endTime, time_t totalRuntime) int testResult, int numAsserts, time_t endTime, time_t totalRuntime)
{ {
XMLCloseElement("test"); XMLCloseElement("test");
...@@ -108,4 +108,3 @@ XMLLog(const char *logMessage, time_t eventTime) ...@@ -108,4 +108,3 @@ XMLLog(const char *logMessage, time_t eventTime)
XMLCloseElement("log"); XMLCloseElement("log");
} }
#endif
...@@ -5,16 +5,17 @@ ...@@ -5,16 +5,17 @@
void XMLRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime); void XMLRunStarted(LogOutputFp outputFn, const char *runnerParameters, time_t eventTime);
void XMLRunEnded(time_t endTime, time_t totalRuntime); void XMLRunEnded(int testCount, int suiteCount, int testPassCount, int testFailCount,
time_t endTime, time_t totalRuntime);
void XMLSuiteStarted(const char *suiteName, time_t eventTime); void XMLSuiteStarted(const char *suiteName, time_t eventTime);
void XMLSuiteEnded(int testsPassed, int testsFailed, int testsSkipped, void XMLSuiteEnded(int testsPassed, int testsFailed, int testsSkipped,
double endTime, time_t totalRuntime); double endTime, time_t totalRuntime);
void XMLTestStarted(const char *testName, const char *testDescription, time_t startTime); void XMLTestStarted(const char *testName, const char *suiteName, const char *testDescription, time_t startTime);
void XMLTestEnded(const char *testName, const char *testDescription, void XMLTestEnded(const char *testName, const char *suiteName,
int testResult, int numAsserts, time_t endTime, time_t totalRuntime); int testResult, int numAsserts, time_t endTime, time_t totalRuntime);
void XMLAssert(const char *assertName, int assertResult, const char *assertMessage, void XMLAssert(const char *assertName, int assertResult, const char *assertMessage,
......
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