Plain logger logs the used command line options.
9 #include "logger_helpers.h"
10 #include "plain_logger.h"
12 static int indentLevel;
15 * Prints out the output of the logger
17 * \param currentIdentLevel The currently used indentation level
18 * \param message The message to be printed out
21 Output(const int currentIdentLevel, const char *message, ...)
24 va_start(list, message);
27 for( ; ident < currentIdentLevel; ++ident) {
28 fprintf(stdout, " "); // \todo make configurable?
32 SDL_vsnprintf(buffer, sizeof(buffer), message, list);
34 fprintf(stdout, "%s\n", buffer);
39 PlainRunStarted(int parameterCount, char *runnerParameters[], time_t eventTime,
42 Output(indentLevel, "Test run started at %s", TimestampToString(eventTime));
43 Output(indentLevel, "Runner parameters: ");
46 for(counter = 0; counter < parameterCount; counter++) {
47 char *parameter = runnerParameters[counter];
48 Output(indentLevel, "\t%s", parameter);
51 Output(indentLevel, "");
55 PlainRunEnded(int testCount, int suiteCount, int testPassCount, int testFailCount,
56 int testSkippedCount, time_t endTime, double totalRuntime)
58 Output(indentLevel, "Ran %d tests in %0.5f seconds from %d suites.",
59 testCount, totalRuntime, suiteCount);
61 Output(indentLevel, "%d tests passed", testPassCount);
62 Output(indentLevel, "%d tests failed", testFailCount);
63 Output(indentLevel, "%d tests skipped", testSkippedCount);
67 PlainSuiteStarted(const char *suiteName, time_t eventTime)
69 Output(indentLevel++, "Executing tests from %s", suiteName);
73 PlainSuiteEnded(int testsPassed, int testsFailed, int testsSkipped,
74 time_t endTime, double totalRuntime)
76 Output(--indentLevel, "Suite executed. %d passed, %d failed and %d skipped. Total runtime %0.5f seconds",
77 testsPassed, testsFailed, testsSkipped, totalRuntime);
78 Output(indentLevel, "");
82 PlainTestStarted(const char *testName, const char *suiteName, const char *testDescription, time_t startTime)
84 Output(indentLevel++, "Executing test: %s (in %s)", testName, suiteName);
88 PlainTestEnded(const char *testName, const char *suiteName,
89 int testResult, time_t endTime, double totalRuntime)
93 Output(--indentLevel, "%s: failed -> no assert", testName);
95 else if(testResult == 3) {
96 Output(--indentLevel, "%s: skipped", testName);
98 Output(--indentLevel, "%s: failed", testName);
101 Output(--indentLevel, "%s: ok", testName);
106 PlainAssert(const char *assertName, int assertResult, const char *assertMessage,
109 const char *result = (assertResult) ? "passed" : "failed";
110 Output(indentLevel, "%s: %s - %s", assertName, result, assertMessage);
114 PlainAssertWithValues(const char *assertName, int assertResult, const char *assertMessage,
115 int actualValue, int expected, time_t eventTime)
117 const char *result = (assertResult) ? "passed" : "failed";
118 Output(indentLevel, "%s: %s (expected %d, actualValue &d) - %s",
119 assertName, result, expected, actualValue, assertMessage);
123 PlainAssertSummary(int numAsserts, int numAssertsFailed, int numAssertsPass, time_t eventTime)
125 Output(indentLevel, "Assert summary: %d failed, %d passed (total: %d)",
126 numAssertsFailed, numAssertsPass, numAsserts);
130 PlainLog(const char *logMessage, time_t eventTime)
132 Output(indentLevel, "%s %d", logMessage, TimestampToString(eventTime));