[UTC][tts][Non-ACR][Fix tct core code]
authorsooyeon.kim <sooyeon.kim@samsung.com>
Wed, 28 Sep 2016 11:41:57 +0000 (20:41 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Wed, 28 Sep 2016 11:42:37 +0000 (20:42 +0900)
Change-Id: I9a4c8312b64b377bdeb8e2fc721f17febebaa557
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
src/utc/tts/tct-tts-core.c

index 2e38bde..ab27e3d 100755 (executable)
@@ -55,7 +55,7 @@ void transfer_arg(int * argc, char ** argv[])
        *argv = g_argv;
        dlog_print(DLOG_INFO, "NativeTCT", "[transfer_arg called] argc = %d, argv[0] = %s", *argc, (NULL == *argv) ? "NULL" : *argv[0]);
 }
-
+/*
 int run_testcases()
 {
     int result = -1;
@@ -98,11 +98,19 @@ int run_testcases()
             result = tc_array[i].function();
 
             if (tc_array[i].cleanup){
-               dlog_print(DLOG_INFO, "NativeTCT", "%s : Clean up", func_name);
+                               dlog_print(DLOG_INFO, "NativeTCT", "%s : Clean up", func_name);
                 tc_array[i].cleanup();
             }
-           CLOSE_UTC_ERRLOG();
-            FILE *fres = fopen("/tmp/tcresult","w"); fprintf(fres, "%d", result); fclose(fres); return result;
+                       CLOSE_UTC_ERRLOG();
+            FILE *fres = fopen("/tmp/tcresult","w"); fprintf(fres, "%d", result); fclose(fres);
+
+
+                       if (0 == strncmp(func_name, "utc_tts_unset_engine_changed_cb_n1", strlen(func_name)) || 0 == strncmp("utc_ttse_", func_name, strlen("utc_ttse_"))) {
+                               dlog_print(DLOG_INFO, "NativeTCT", "%s must be exited", func_name);
+                               ui_app_exit();
+                       }
+
+                       return result;
         }
     }
 
@@ -111,12 +119,80 @@ int run_testcases()
     printf("Unknown testcase name: \"%s\"\n", func_name);
     return 2;
 }
-
+*/
 
 static bool app_create(void *data)
 {
-       run_testcases();
-       return false; // quit app
+       return true; // quit app
+}
+
+static void app_control(app_control_h app_control, void *data)
+{
+    int result = -1;
+    int i;
+    gsize byte_size;
+    const gchar* encoded_byte;
+    guchar* byte = NULL;
+
+    static const size_t sz_byte_len = sizeof(size_t);
+    static const size_t sz_type = sizeof(int);
+    static const size_t sz_keysize = sizeof(size_t);
+    static const size_t sz_size = sizeof(size_t);
+
+    char* func_name = fname;//argv[1];
+    if (nNum > 2)
+    {
+        encoded_byte = key;//argv[3];
+        byte = g_base64_decode(encoded_byte,&byte_size);
+       byte += sz_byte_len; byte += sz_type;
+        size_t keysize = *((size_t *)byte); byte += sz_keysize;
+       byte += keysize;
+        size_t size = *((size_t *)byte); byte += sz_size;
+        void *val = (void *)byte; byte += size;
+        func_name = strdup((char *)val);
+    }
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Executing TC Name = %s", __FUNCTION__, __LINE__, func_name);
+
+    for (i = 0; tc_array[i].name; i++)
+    {
+        if (!strncmp(func_name, tc_array[i].name, strlen(func_name)))
+       {
+           DUMP_UTC_ERRLOG();
+            if (tc_array[i].startup){
+               dlog_print(DLOG_INFO, "NativeTCT", "%s : Start up", func_name);
+                tc_array[i].startup();
+            }
+
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Body", func_name);
+            result = tc_array[i].function();
+
+            if (tc_array[i].cleanup){
+                               dlog_print(DLOG_INFO, "NativeTCT", "%s : Clean up", func_name);
+                tc_array[i].cleanup();
+            }
+                       CLOSE_UTC_ERRLOG();
+            FILE *fres = fopen("/tmp/tcresult","w"); fprintf(fres, "%d", result); fclose(fres);
+
+
+                       if (0 == strncmp(func_name, "utc_tts_unset_engine_changed_cb_n1", strlen(func_name)) || 0 == strncmp("utc_ttse_", func_name, strlen("utc_ttse_"))) {
+                               dlog_print(DLOG_INFO, "NativeTCT", "%s must be exited", func_name);
+                               ui_app_exit();
+                       }
+
+                       return;
+        }
+    }
+
+    dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] Unable to execute %s : Unknown Test Case Name", __FUNCTION__, __LINE__, func_name);
+
+    printf("Unknown testcase name: \"%s\"\n", func_name);
+    return;
+}
+
+static void app_terminate(void *data)
+{
+       dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is now Terminating", __FUNCTION__, __LINE__);
 }
 
 int main(int argc, char *argv[])
@@ -131,6 +207,8 @@ int main(int argc, char *argv[])
 
        ui_app_lifecycle_callback_s event_callback = {0,};
        event_callback.create = app_create;
+       event_callback.terminate = app_terminate;
+       event_callback.app_control = app_control;
 
        //setting gcda file location for coverage
     setenv("GCOV_PREFIX","/tmp",1);