summaryrefslogtreecommitdiff
path: root/test/unit/ApplicationRunner.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/ApplicationRunner.h')
-rw-r--r--test/unit/ApplicationRunner.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/unit/ApplicationRunner.h b/test/unit/ApplicationRunner.h
new file mode 100644
index 0000000..7682f01
--- /dev/null
+++ b/test/unit/ApplicationRunner.h
@@ -0,0 +1,39 @@
+#ifndef MrsWatson_ApplicationRunner_h
+#define MrsWatson_ApplicationRunner_h
+
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include "unit/TestRunner.h"
+#include "base/LinkedList.h"
+#include "logging/EventLogger.h"
+#include "base/CharString.h"
+#include "MrsWatson.h"
+
+extern const char *kDefaultTestOutputFileType;
+
+typedef struct {
+ int currentIndex;
+ char **outArray;
+} ArgumentsCopyData;
+
+typedef struct {
+ char *applicationPath;
+ char *resourcesPath;
+ TestSuite results;
+} TestEnvironmentMembers;
+typedef TestEnvironmentMembers *TestEnvironment;
+TestEnvironment newTestEnvironment(char *applicationPath, char *resourcesPath);
+
+void runIntegrationTest(const TestEnvironment testEnvironment,
+ const char *testName, CharString testArguments,
+ ReturnCodes expectedResultCode, const char *outputFileType);
+
+CharString buildTestArgumentString(const char *arguments, ...);
+CharString getTestResourceFilename(const char *resourcesPath, const char *resourceType, const char *resourceName);
+CharString getTestOutputFilename(const char *testName, const char *fileExtension);
+
+void freeTestEnvironment(TestEnvironment testEnvironment);
+
+#endif