(AutomatedTests) Ensure local headers are included before installed
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / tct-dali-toolkit-internal-core.cpp
index 2bbd960..0a37d05 100644 (file)
@@ -1,31 +1,40 @@
-#include <stdio.h>
 #include <string.h>
+#include <getopt.h>
+#include <stdlib.h>
+#include <test-harness.h>
 #include "tct-dali-toolkit-internal-core.h"
 
-int main(int argc, const char *argv[])
+int main(int argc, char * const argv[])
 {
-    int result = -1;
-    int i;
+  int result = TestHarness::EXIT_STATUS_BAD_ARGUMENT;
 
-    if (argc != 2) {
-        printf("Usage: %s <testcase name>\n", argv[0]);
-        return 2;
-    }
-
-    for (i = 0; tc_array[i].name; i++) {
-        if (!strcmp(argv[1], tc_array[i].name)) {
-            if (tc_array[i].startup)
-                tc_array[i].startup();
-
-            result = tc_array[i].function();
-
-            if (tc_array[i].cleanup)
-                tc_array[i].cleanup();
+  const char* optString = "r";
+  bool optRerunFailed(false);
 
-            return result;
-        }
+  int nextOpt = 0;
+  do
+  {
+    nextOpt = getopt( argc, argv, optString );
+    switch(nextOpt)
+    {
+      case 'r':
+        optRerunFailed = true;
+        break;
+      case '?':
+        TestHarness::Usage(argv[0]);
+        exit(TestHarness::EXIT_STATUS_BAD_ARGUMENT);
+        break;
     }
+  } while( nextOpt != -1 );
 
-    printf("Unknown testcase name: \"%s\"\n", argv[1]);
-    return 2;
+  if( optind == argc ) // no testcase name in argument list
+  {
+    result = TestHarness::RunAllInParallel(argv[0], tc_array, optRerunFailed);
+  }
+  else
+  {
+    // optind is index of next argument - interpret as testcase name
+    result = TestHarness::FindAndRunTestCase(tc_array, argv[optind]);
+  }
+  return result;
 }