[ITC][package-manager][Non-ACR] Create timeout file for increasing timeout 52/320652/3
authorIlho Kim <ilho159.kim@samsung.com>
Wed, 20 Nov 2024 08:32:36 +0000 (17:32 +0900)
committerIlho Kim <ilho159.kim@samsung.com>
Wed, 20 Nov 2024 10:22:38 +0000 (19:22 +0900)
Testcase "ITc_package_manager_get_total_package_size_info_p" may exceed
60 seconds, which is the default timeout
to increase the timeout to 120 seconds, create a timeout file when
running the package-manager-native-itc application

Change-Id: Ia7b839f4ebe4c546d566af4808e7ef383257d8a2
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
src/itc/package-manager/tct-package-manager-native.c

index 4d86fdbfbf8e06af5aad44d06aa21188e7371331..d1bb3124c186f0b1845e33fd89b60a7358ea6acb 100755 (executable)
 #include <arpa/inet.h>
 #include <errno.h>
 
+#define TIMEOUT_FILE_PATH "/tmp/TC_Timeout.txt"
+#define TIMEOUT_FILE_PATH_BACKUP TIMEOUT_FILE_PATH ".bck"
+#define TIMEOUT_VALUE 120
+
+static void create_timeout_file() {
+       int ret;
+       FILE *file;
+
+       if (access(TIMEOUT_FILE_PATH, F_OK) == 0) {
+               ret = rename(TIMEOUT_FILE_PATH, TIMEOUT_FILE_PATH_BACKUP);
+               if (ret != 0) {
+                       dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] rename timeout file failed, error returned = %d", __FUNCTION__, __LINE__, errno);
+                       return;
+               }
+       }
+
+       file = fopen(TIMEOUT_FILE_PATH, "w");
+       if (file == NULL) {
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] open timeout file failed, error returned = %d", __FUNCTION__, __LINE__, errno);
+               return;
+       }
+
+       ret = fprintf(file, TIMEOUT_VALUE);
+       if (ret < 0)
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] write to timeout file failed, error returned = %d", __FUNCTION__, __LINE__, ret);
+
+       fclose(file);
+}
+
+static void restore_timeout_file() {
+       remove(TIMEOUT_FILE_PATH);
+
+       if (access(TIMEOUT_FILE_PATH_BACKUP, F_OK) == 0)
+               rename(TIMEOUT_FILE_PATH_BACKUP, TIMEOUT_FILE_PATH);
+}
+
 static bool app_create(void *data)
 {
+       #ifdef TV
+       create_timeout_file();
+       #endif
        return true;
 }
 
@@ -107,6 +146,9 @@ static void app_control(app_control_h app_control, void *data)
 
 static void app_terminate(void *data)
 {
+       #ifdef TV
+       restore_timeout_file();
+       #endif
        dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is now Terminating", __FUNCTION__, __LINE__);
 }