[Feature] Added Fota testing for function test because it was not validated due to environment issues
Change-Id: I1a51134b6ec13b10b4e643ebe7c333c672f70bf6
diff --git a/packages/apps/lynq-function-test/src/fota_test.cpp b/packages/apps/lynq-function-test/src/fota_test.cpp
new file mode 100755
index 0000000..d717940
--- /dev/null
+++ b/packages/apps/lynq-function-test/src/fota_test.cpp
@@ -0,0 +1,163 @@
+/*=============================================================================
+** FileName: fota_test.c
+** Desc: about function test
+** Author: victor
+** Version: V1.0
+** LastChange: 2021-10-11
+** History:
+=============================================================================*/
+#include "function_common.h"
+#include <log/log.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "fota_test.h"
+#include "fcntl.h"
+#include "mtk_device_wrap.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "include/iot_rock.h"
+//#include "ftp/lynq_ftp.h"
+#ifdef __cplusplus
+}
+#endif
+
+//lynq_ftp_socker_info ftp_log_info;
+
+#define UPDATA_ADDR "/tmp/fota.delta"
+#define READ_BLOCK_SIZE 0x40000
+
+int lynq_fota_md5_flag = -1;
+
+#if 0
+#define FLASH_DEV_DELTA "/dev/disk/by-partlabel/delta"
+#else
+#define FLASH_DEV_DELTA "/dev/mtd41"
+#endif
+
+#if 0
+int lynq_ftp_download_fota_package(char *string[])
+{
+
+ sprintf(ftp_log_info.sevname,"%s",string[1]);
+ LYVERBLOG("[+UP]: sevname:%s\n",ftp_log_info.sevname);
+ ftp_log_info.portnum = atoi(string[2]);
+ LYVERBLOG("[+UP]: portnum:%d\n",ftp_log_info.portnum);
+
+ sprintf(ftp_log_info.username,"%s",string[3]);
+ sprintf(ftp_log_info.pw,"%s",string[4]);
+ LYVERBLOG("[+UP]: username:%s\n",ftp_log_info.username);
+ LYVERBLOG("[+UP]: pw:%s\n",ftp_log_info.pw);
+
+ sprintf(ftp_log_info.is_pasv_mode,"%s",string[5]);
+ sprintf(ftp_log_info.file_type,"%s",string[6]);
+ sprintf(ftp_log_info.put_opt,"%s",string[7]);
+
+ sprintf(ftp_log_info.getfilename_path,"%s",string[8]);
+ sprintf(ftp_log_info.getfilename,"%s",string[9]);
+ LYVERBLOG("[+UP]: getfilename_path:%s\n",ftp_log_info.getfilename_path);
+
+ LYVERBLOG("[+UP]: Download the FTP data start\n");
+ lynq_ftp_login(&ftp_log_info);
+ lynq_ftp_download(&ftp_log_info);
+ LYVERBLOG("[+UP]: Download the FTP data end\n");
+
+ return 0;
+}
+#endif
+
+int lynq_md5_fota_package(char *string[])
+{
+ int ret = 0;
+ int fd_down,size,fd_target;
+ char delta_data[READ_BLOCK_SIZE];
+ char input_md5_data[64] = {0};
+
+ sprintf(input_md5_data,"%s",string[0]);
+//LYVERBLOG("[+UP]: input_md5_data:%s\n",input_md5_data);
+ lynq_fota_md5_flag = lynq_md5_file_verfy(UPDATA_ADDR, input_md5_data);
+ if(lynq_fota_md5_flag == 0)
+ {
+ LYVERBLOG("[+UP]: md5 fota package success\n");
+ }
+ else
+ {
+ LYVERBLOG("[+UP]: md5 fota package fail\n");
+ return 1;
+ }
+
+ fd_down = open(UPDATA_ADDR,O_RDONLY);
+ if (fd_down < 0) {
+ LYVERBLOG("[+UP]: open source error\n");
+ return 1;
+ }
+
+ fd_target = mtk_device_wrap_open(FLASH_DEV_DELTA,O_RDWR);
+
+ if (fd_target < 0) {
+ close(fd_down);
+ LYERRLOG("+[UA]: open target error\n");
+ return 1;
+ }
+
+ LYVERBLOG("[+UP]: Get ftp data write to delta\n");
+ while(( size = read(fd_down,delta_data,READ_BLOCK_SIZE))>0) {
+ mtk_device_wrap_write(fd_target,delta_data,READ_BLOCK_SIZE);
+ memset(delta_data,0,READ_BLOCK_SIZE);
+ }
+
+ LYVERBLOG("[+UP]: Store upgrade data to delta success\n");
+
+ mtk_device_wrap_close(fd_target);
+ close(fd_down);
+
+ return 0;
+}
+
+int lynq_fota_func_test(void)
+{
+ int first_run = 1;
+ LYVERBLOG("+[UA]: Upgrade to start\n");
+ if(lynq_fota_md5_flag == 0)
+ {
+ lynq_rock_main(first_run);
+ }
+ else
+ {
+ LYVERBLOG("+[UA]: MD5 verify fail\n");
+ return 1;
+ }
+ LYVERBLOG("+[UA]: Upgrade to end\n");
+ return 0;
+}
+
+int fota_test(char *api,char *string)
+{
+ char *argv[100] = {0};
+ parseParameters(string,argv);
+ if(!strcmp(api, "download"))
+ {
+ if(!(strcmp(argv[0], "ftp")))
+ {
+ // lynq_ftp_download_fota_package(argv);
+ }
+ }
+ else if(!(strcmp(api, "md5")))
+ {
+ lynq_md5_fota_package(argv);
+ }
+ else if(!(strcmp(api, "upgrade")))
+ {
+ lynq_fota_func_test();
+ }
+ else
+ {
+ LYVERBLOG("+[fota][fota_test]: fota api error!!!\n");
+ }
+ return 0;
+}
+
+
diff --git a/packages/apps/lynq-function-test/src/fota_test.tmp b/packages/apps/lynq-function-test/src/fota_test.tmp
deleted file mode 100755
index d91c715..0000000
--- a/packages/apps/lynq-function-test/src/fota_test.tmp
+++ /dev/null
@@ -1,286 +0,0 @@
-/*=============================================================================
-** FileName: fota_test.c
-** Desc: about function test
-** Author: victor
-** Version: V1.0
-** LastChange: 2021-10-11
-** History:
-=============================================================================*/
-#include "function_common.h"
-#include <log/log.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include "fota_test.h"
-#include "fcntl.h"
-#include "mtk_device_wrap.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include "include/iot_rock.h"
-//#include "ftp/lynq_ftp.h"
-#ifdef __cplusplus
-}
-#endif
-
-lynq_ftp_socker_info ftp_log_info;
-
-#define UPDATA_ADDR "/tmp/fota.delta"
-#define READ_BLOCK_SIZE 0x40000
-
-int lynq_fota_md5_flag = -1;
-
-#if 0
-#define FLASH_DEV_DELTA "/dev/disk/by-partlabel/delta"
-#else
-#define FLASH_DEV_DELTA "/dev/mtd41"
-#endif
-
-
-
-#if 0
-#define BUF_SIZE 1024
-int lynq_fota_str_arr(char *str, char *substr, char parts[][BUF_SIZE])
-{
- char *p = NULL;
- char *q = NULL;
- char tmp[BUF_SIZE] = {0};
- char end[BUF_SIZE] = {0};
- int i = 0, j = 0, k = 0, par_num=0;
-
- char *start = strdup(str);
-
- while(*str != '\0')
- {
- p = str;
- q = substr;
- tmp[i] = *str;
- i++;
-
- while((*p == *q) && (*p != '\0') && (*q != '\0'))
- {
- p++;
- q++;
- }
- if(*q == '\0')
- {
- memset(end, 0, sizeof(end));
- strcpy(end, p);
-
- memset(parts[j], 0, sizeof(parts[j]));
-
- j == 0 ? memcpy(parts[j], tmp, strlen(tmp)-1) : memcpy(parts[j], tmp+1, strlen(tmp)-2) ;
-
- j++;
- memset(tmp, 0, sizeof(tmp));
- i = 0;
- par_num++;
- }
-
- str++;
- }
-
-
- if (!par_num) {
- LYDBGLOG("[%s-%d] cmd is error!!!\n", __FUNCTION__, __LINE__);
- LYVERBLOG("+[thhandle]: error \n");
- return -1;
- }
-
-
- if (strcmp(end, "") != 0) {
- memset(parts[j], 0, sizeof(parts[j]));
- memcpy(parts[j], tmp+1, strlen(tmp)-2);
- }
-
- for (i = 0 ; i < par_num + 1 ; i++)
- memcpy(parts[i], strchr(parts[i],'"')+1,strlen(parts[i]));
-
- return par_num;
-}
-#endif
-
-int lynq_ftp_download_fota_package(char *string[])
-{
-
- sprintf(ftp_log_info.sevname,"%s",string[1]);
- LYVERBLOG("[+UP]: sevname:%s\n",ftp_log_info.sevname);
- ftp_log_info.portnum = atoi(string[2]);
- LYVERBLOG("[+UP]: portnum:%d\n",ftp_log_info.portnum);
-
- sprintf(ftp_log_info.username,"%s",string[3]);
- sprintf(ftp_log_info.pw,"%s",string[4]);
-LYVERBLOG("[+UP]: username:%s\n",ftp_log_info.username);
-LYVERBLOG("[+UP]: pw:%s\n",ftp_log_info.pw);
-
- sprintf(ftp_log_info.is_pasv_mode,"%s",string[5]);
- sprintf(ftp_log_info.file_type,"%s",string[6]);
- sprintf(ftp_log_info.put_opt,"%s",string[7]);
-
- sprintf(ftp_log_info.getfilename_path,"%s",string[8]);
- sprintf(ftp_log_info.getfilename,"%s",string[9]);
- LYVERBLOG("[+UP]: getfilename_path:%s\n",ftp_log_info.getfilename_path);
-
- LYVERBLOG("[+UP]: Download the FTP data start\n");
- lynq_ftp_login(&ftp_log_info);
- lynq_ftp_download(&ftp_log_info);
- LYVERBLOG("[+UP]: Download the FTP data end\n");
-
- return 0;
-}
-
-int lynq_md5_fota_package(char *string[])
-{
- int ret = 0;
- int fd_down,size,fd_target;
- char delta_data[READ_BLOCK_SIZE];
- char input_md5_data[64] = {0};
-
- sprintf(input_md5_data,"%s",string[0]);
-//LYVERBLOG("[+UP]: input_md5_data:%s\n",input_md5_data);
- lynq_fota_md5_flag = lynq_md5_file_verfy(UPDATA_ADDR, input_md5_data);
- if(lynq_fota_md5_flag == 0)
- {
- LYVERBLOG("[+UP]: md5 fota package success\n");
- }
- else
- {
- LYVERBLOG("[+UP]: md5 fota package fail\n");
- return 1;
- }
-
- fd_down = open(UPDATA_ADDR,O_RDONLY);
- if (fd_down < 0) {
- LYVERBLOG("[+UP]: open source error\n");
- return 1;
- }
-
- fd_target = mtk_device_wrap_open(FLASH_DEV_DELTA,O_RDWR);
-
- if (fd_target < 0) {
- close(fd_down);
- LYERRLOG("+[UA]: open target error\n");
- return 1;
- }
-
- LYVERBLOG("[+UP]: Get ftp data write to delta\n");
- while(( size = read(fd_down,delta_data,READ_BLOCK_SIZE))>0) {
- mtk_device_wrap_write(fd_target,delta_data,READ_BLOCK_SIZE);
- memset(delta_data,0,READ_BLOCK_SIZE);
- }
-
- LYVERBLOG("[+UP]: Store upgrade data to delta success\n");
-
- mtk_device_wrap_close(fd_target);
- close(fd_down);
-
- return 0;
-}
-
-#if 0
-int lynq_md5_fota_package_new(char *string[])
-{
- int ret = 0;
- int fd_down,size,fd_target;
- int total_len = 0,pack_len = 0;
- char delta_data[READ_BLOCK_SIZE];
- char input_md5_data[64] = {0};
-
- sprintf(input_md5_data,"%s",string[0]);
- pack_len = atoi(string[1]);
-//LYVERBLOG("[+UP]: input_md5_data:%s\n",input_md5_data);
- lynq_fota_md5_flag = md5_file_verfy_new(FLASH_DEV_DELTA, input_md5_data,pack_len);
- if(lynq_fota_md5_flag == 0)
- {
- LYVERBLOG("[+UP]: md5 fota package success\n");
- }
- else
- {
- LYVERBLOG("[+UP]: md5 fota package fail\n");
- return 1;
- }
-
- fd_down = open(UPDATA_ADDR,O_RDONLY);
- if (fd_down < 0) {
- LYVERBLOG("[+UP]: open source error\n");
- return 1;
- }
-
- fd_target = mtk_device_wrap_open(FLASH_DEV_DELTA,O_RDWR);
-
- if (fd_target < 0) {
- close(fd_down);
- LYERRLOG("+[UA]: open target error\n");
- return 1;
- }
-
- LYVERBLOG("[+UP]: Get ftp data write to delta\n");
- while(( size = read(fd_down,delta_data,READ_BLOCK_SIZE))>0) {
- mtk_device_wrap_write(fd_target,delta_data,READ_BLOCK_SIZE);
- memset(delta_data,0,READ_BLOCK_SIZE);
- }
- LYVERBLOG("[+UP]: Store upgrade data to delta success\n");
-
- mtk_device_wrap_close(fd_target);
- close(fd_down);
-
- return 0;
-}
-#endif
-int lynq_fota_func_test(void)
-{
- int first_run = 1;
- LYVERBLOG("+[UA]: Upgrade to start\n");
- if(lynq_fota_md5_flag == 0)
- {
- lynq_rock_main(first_run);
- }
- else
- {
- LYVERBLOG("+[UA]: MD5 verify fail\n");
- return 1;
- }
- LYVERBLOG("+[UA]: Upgrade to end\n");
- return 0;
-}
-
-int fota_test(char *api,char *string)
-{
-// char argv[20][BUF_SIZE] = {0};
-// int line = lynq_fota_str_arr(string, "\"&", argv)+1;
- char *argv[100] = {0};
- parseParameters(string,argv);
- if(!strcmp(api, "download"))
- {
- if(!(strcmp(argv[0], "ftp")))
- {
- lynq_ftp_download_fota_package(argv);
- }
- else if(!(strcmp(argv[0], "http")))
- {
-
- }
-
- }
- else if(!(strcmp(api, "md5")))
- {
- lynq_md5_fota_package(argv);
- }
-// else if(!(strcmp(api, "md5new")))
-// {
-// lynq_md5_fota_package_new(argv);
-// }
- else if(!(strcmp(api, "upgrade")))
- {
- lynq_fota_func_test();
- }
- else
- {
- LYVERBLOG("+[fota][fota_test]: fota api error!!!\n");
- }
- return 0;
-}
-
-
diff --git a/packages/apps/lynq-function-test/src/main.cpp b/packages/apps/lynq-function-test/src/main.cpp
index 048861c..4046f9e 100755
--- a/packages/apps/lynq-function-test/src/main.cpp
+++ b/packages/apps/lynq-function-test/src/main.cpp
@@ -3,7 +3,7 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-//#include "fota_test.h"
+#include "fota_test.h"
#include "function_common.h"
#include<unistd.h>
@@ -29,7 +29,7 @@
typedef enum{
API_WIFI=0,
API_AUDIO,
- API_FOTA,
+ API_FOTA,
} API_MOUDLE;
@@ -107,16 +107,15 @@
{
return API_WIFI;
}
+ else if(!strcmp(module, "fota"))
+ {
+ return API_FOTA;
+ }
/*
else if(!strcmp(module, "AUDIO"))
{
return API_AUDIO;
}
-
- else if(!strcmp(module, "fota"))
- {
- return API_FOTA;
- }
*/
else
{
@@ -147,12 +146,11 @@
//audio_test(menu[1],argvHead);
break;
}
-
- case API_FOTA:
- {
- //fota_test(menu[1],argvHead);
- break;
- }
+ case API_FOTA:
+ {
+ fota_test(menu[1],argvHead);
+ break;
+ }
case API_WIFI:
break;
default:
diff --git a/packages/apps/lynq-function-test/src/makefile b/packages/apps/lynq-function-test/src/makefile
index 69e9037..0597818 100755
--- a/packages/apps/lynq-function-test/src/makefile
+++ b/packages/apps/lynq-function-test/src/makefile
@@ -80,6 +80,8 @@
-ldtmf \
-lapn \
-ldbus-1 \
+ -llynq-fota \
+ -lnandapi \
LOCAL_SRC_FILES_CPP = $(wildcard *.cpp)
LOCAL_SRC_FILES_C = $(wildcard *.c )