fota_upgrade: add process status of fota_upgrade [1/1]
PD#SWPL-183126
Problem:
add process status of fota_upgrade
Solution:
add process status of fota_upgrade
Verify:
ap222
Change-Id: I6fc9d279c1ac826c94c5cac4424f83118eb93475
Signed-off-by: Ruoran Xi <ruoran.xi@amlogic.com>
diff --git a/utils/fota_upgrade.c b/utils/fota_upgrade.c
index dc9f916..61cae5a 100644
--- a/utils/fota_upgrade.c
+++ b/utils/fota_upgrade.c
@@ -1,19 +1,19 @@
+#include <ctype.h>
+#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <fcntl.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <time.h>
+#include <unistd.h>
-#include "../fota/dmgr_api.h"
#include "../aml_utility/unifykey.h"
+#include "../fota/dmgr_api.h"
#include "aml_device_property.h"
-#define CHECK_NETWORK_DEALY 20 //60
-#define INFO_LEN 128
+#define CHECK_NETWORK_DEALY 20 // 60
+#define INFO_LEN 128
struct test_context {
char DEVINFO_OEM[INFO_LEN];
@@ -36,36 +36,34 @@
int has_new_version;
struct version_info cloned_version;
int download_exit;
-
};
-#define INIT_DEFAULT_TEST_CONTEXT() \
-{ \
- .DEVINFO_OEM = "Amlogic", \
- .DEVINFO_DEVICETYPE = "smarthome", \
- .DEVINFO_PLATFORM = "A113D", \
- .DEVINFO_MODELS = "OTT", \
- .DEVINFO_MID = "20220809043042",\
- .DEVINFO_VERSION = "0.5.0", \
- .DEVINFO_PRODUCTID = "1660115992", \
- .DEVINFO_PRODUCTSECRET = "fa7bfc8d755c4c0b8c52fdb00d431d3f", \
- .DEVINFO_APPVERSION = "2", \
- .DEVINFO_NETWORKTYPE= "WIFI", \
- .DEVINFO_CHK_URL = NULL, \
- .DEVINFO_SERVER_OPT = SERVER_TRANSOPT_IOT| SERVER_TRANSOPT_HTTP, \
- .has_new_version = 0, \
- .download_exit = 0, \
-}
+#define INIT_DEFAULT_TEST_CONTEXT() \
+ { \
+ .DEVINFO_OEM = "Amlogic", .DEVINFO_DEVICETYPE = "smarthome", \
+ .DEVINFO_PLATFORM = "A113D", .DEVINFO_MODELS = "OTT", \
+ .DEVINFO_MID = "20220809043042", .DEVINFO_VERSION = "0.5.0", \
+ .DEVINFO_PRODUCTID = "1660115992", \
+ .DEVINFO_PRODUCTSECRET = "fa7bfc8d755c4c0b8c52fdb00d431d3f", \
+ .DEVINFO_APPVERSION = "2", .DEVINFO_NETWORKTYPE = "WIFI", \
+ .DEVINFO_CHK_URL = NULL, \
+ .DEVINFO_SERVER_OPT = SERVER_TRANSOPT_IOT | SERVER_TRANSOPT_HTTP, \
+ .has_new_version = 0, .download_exit = 0, \
+ }
-#define TEST_ASSERT_EQUAL_INT(expected, actual) do{ if(expected != actual) return -1;}while(0)
+#define TEST_ASSERT_EQUAL_INT(expected, actual) \
+ do { \
+ if (expected != actual) \
+ return -1; \
+ } while (0)
#ifndef CONTAINER_OF
-#define CONTAINER_OF(ptr, type, member) \
- (type *)((char *)(ptr) - (char *) &((type *)0)->member)
+#define CONTAINER_OF(ptr, type, member) \
+ (type *)((char *)(ptr) - (char *)&((type *)0)->member)
#endif
#define FOTA_WEB_SERVER "www.abupdate.com"
-#define AML_SYS_SAVE_PATH "/data"
+#define AML_SYS_SAVE_PATH "/data"
static char *__save_file_path = "/data/software.swu";
static char *__version_file_path = "/version.txt";
@@ -85,28 +83,27 @@
snprintf(cmd_buf, 200, "%s/%s", save_path, __new_version_file);
ver_fd = fopen(cmd_buf, "w+");
if (NULL == ver_fd) {
- printf("Cannot open version file %s\n", cmd_buf);
+ fprintf(stdout, "Cannot open version file %s\n", cmd_buf);
return -1;
}
fprintf(ver_fd, "version_name:%s\n", ver->version_name);
- //fprintf(ver_fd, "file_size:%d\n", ver->file_size);
- //fprintf(ver_fd, "delta_id:%s\n", ver->delta_id);
- //fprintf(ver_fd, "md5sum:%s\n", ver->md5sum);
- //fprintf(ver_fd, "delta_url:%s\n", ver->delta_url);
- //fprintf(ver_fd, "release_note:%s\n", ver->release_note);
- //fprintf(ver_fd, "upgrade_from_time:%s\n", ver->upgrade_from_time);
- //fprintf(ver_fd, "upgrade_to_time:%s\n", ver->upgrade_to_time);
- //fprintf(ver_fd, "upgrade_gap:%s\n", ver->upgrade_gap);
- //fprintf(ver_fd, "meta_data:%s\n", ver->meta_data);
- //fprintf(ver_fd, "event_id:%s\n", ver->event_id);
+ // fprintf(ver_fd, "file_size:%d\n", ver->file_size);
+ // fprintf(ver_fd, "delta_id:%s\n", ver->delta_id);
+ // fprintf(ver_fd, "md5sum:%s\n", ver->md5sum);
+ // fprintf(ver_fd, "delta_url:%s\n", ver->delta_url);
+ // fprintf(ver_fd, "release_note:%s\n", ver->release_note);
+ // fprintf(ver_fd, "upgrade_from_time:%s\n", ver->upgrade_from_time);
+ // fprintf(ver_fd, "upgrade_to_time:%s\n", ver->upgrade_to_time);
+ // fprintf(ver_fd, "upgrade_gap:%s\n", ver->upgrade_gap);
+ // fprintf(ver_fd, "meta_data:%s\n", ver->meta_data);
+ // fprintf(ver_fd, "event_id:%s\n", ver->event_id);
fclose(ver_fd);
return 0;
}
-static char *simple_strndup(const char *s, size_t n)
-{
+static char *simple_strndup(const char *s, size_t n) {
size_t max_len = strnlen(s, n);
char *dest = malloc(max_len + 1);
@@ -118,13 +115,12 @@
return dest;
}
-static char *simple_strdup(const char *s)
-{
+static char *simple_strdup(const char *s) {
return simple_strndup(s, 0x7fffff);
}
-static void clone_version(struct test_context *test_ctx, struct version_info *info)
-{
+static void clone_version(struct test_context *test_ctx,
+ struct version_info *info) {
test_ctx->cloned_version.file_size = info->file_size;
test_ctx->cloned_version.flags = info->flags;
@@ -144,7 +140,8 @@
test_ctx->cloned_version.release_note = simple_strdup(info->release_note);
}
if (info->upgrade_from_time) {
- test_ctx->cloned_version.upgrade_from_time = strdup(info->upgrade_from_time);
+ test_ctx->cloned_version.upgrade_from_time =
+ strdup(info->upgrade_from_time);
}
if (info->upgrade_to_time) {
test_ctx->cloned_version.upgrade_to_time = strdup(info->upgrade_to_time);
@@ -160,8 +157,7 @@
}
}
-static void free_cloned_version(struct test_context *test_ctx)
-{
+static void free_cloned_version(struct test_context *test_ctx) {
struct version_info *info = &test_ctx->cloned_version;
if (!test_ctx->has_new_version) {
@@ -204,24 +200,24 @@
}
static int checkversion_notifier(struct notifier_block *nb,
- unsigned long action,
- void *data)
-{
- struct test_context *test_ctx = CONTAINER_OF(nb, struct test_context, nb_checkversion);
+ unsigned long action, void *data) {
+ struct test_context *test_ctx =
+ CONTAINER_OF(nb, struct test_context, nb_checkversion);
switch (action) {
case NOTIFY_CHECKVERSION_PREPARE:
- printf("[callback: checkversion_prepare]\n");
+ fprintf(stdout, "[callback: checkversion_prepare]\n");
break;
case NOTIFY_CHECKVERSION_ABORTED:
- printf("[callback: checkversion_abored]\n");
+ fprintf(stdout, "[callback: checkversion_abored]\n");
break;
case NOTIFY_CHECKVERSION_FINISHED:
- printf("[callback: checkversion_finished]\n");
+ fprintf(stdout, "[callback: checkversion_finished]\n");
if (data) {
- printf("[callback: new version %s]\n", ((struct version_info *)data)->version_name);
+ fprintf(stdout, "[callback: new version %s]\n",
+ ((struct version_info *)data)->version_name);
test_ctx->has_new_version = 1;
clone_version(test_ctx, data);
}
@@ -231,60 +227,52 @@
return 0;
}
-static int download_notifier(struct notifier_block *nb,
- unsigned long action,
- void *data)
-{
- struct test_context *test_ctx = CONTAINER_OF(nb, struct test_context, nb_download);
+static int download_notifier(struct notifier_block *nb, unsigned long action,
+ void *data) {
+ struct test_context *test_ctx =
+ CONTAINER_OF(nb, struct test_context, nb_download);
notifier_data_t *notify_data = (notifier_data_t *)data;
- long total_Kbytes = notify_data->u.dlinfo.total_bytes/1024;
- long saved_Kbytes = notify_data->u.dlinfo.saved_bytes/1024;
- unsigned int percent = (saved_Kbytes * 100)/total_Kbytes;
- static unsigned int pre_percent = 0;
+ long total_Kbytes = notify_data->u.dlinfo.total_bytes / 1024;
+ long saved_Kbytes = notify_data->u.dlinfo.saved_bytes / 1024;
+ unsigned int percent = (saved_Kbytes * 100) / total_Kbytes;
+ static unsigned int pre_percent = 0;
- //printf("[download_notifier] percent:%d, total_Kbytes:%d, saved_Kbytes:%d\n", percent, total_Kbytes, saved_Kbytes);
+ // fprintf(stdout, "[download_notifier] percent:%d, total_Kbytes:%d,
+ // saved_Kbytes:%d\n", percent, total_Kbytes, saved_Kbytes);
switch (action) {
- case NOTIFY_DOWNLOAD_PREPARE:
- printf("[callback: download_prepare]\n");
+ case NOTIFY_DOWNLOAD_PREPARE: {
+ fprintf(stdout, "DOWNLOAD: prepare\n");
pre_percent = 0;
- break;
-
- case NOTIFY_DOWNLOAD_ABORTED:
- printf("[callback: download_abored]\n");
+ } break;
+ case NOTIFY_DOWNLOAD_ABORTED: {
+ fprintf(stdout, "ERROR: Download abored!\n");
test_ctx->download_exit = -1;
- break;
-
- case NOTIFY_DOWNLOAD_TRANSLATING:
+ } break;
+ case NOTIFY_DOWNLOAD_TRANSLATING: {
if (percent < 100) {
if (pre_percent != percent) {
pre_percent = percent;
- printf("[callback: download_translating] percent:%d\n", percent);
-
- char cmd_buf[100];
- snprintf(cmd_buf, 100, "echo Downloading %d > /tmp/fota_stat", percent);
- system(cmd_buf);
+ fprintf(stdout, "DOWNLOAD: %d\n", percent);
}
}
- break;
-
- case NOTIFY_DOWNLOAD_FINISHED:
+ } break;
+ case NOTIFY_DOWNLOAD_FINISHED: {
test_ctx->download_exit = 1;
percent = 100;
- printf("[callback: download_finished], percent:%d\n", percent);
- break;
-
- case NOTIFY_DOWNLOAD_PARTTIAL_FINISHED:
- printf("[callback: download_partial_finished]\n");
+ fprintf(stdout, "DOWNLOAD: %d\n", percent);
+ } break;
+ case NOTIFY_DOWNLOAD_PARTTIAL_FINISHED: {
+ fprintf(stdout, "DOWNLOAD: partial finished\n");
test_ctx->download_exit = 1;
- break;
+ } break;
}
+ fflush(stdout);
return 0;
}
-static int init_notifier(dmgr_t dm_id, struct test_context *test_ctx)
-{
+static int init_notifier(dmgr_t dm_id, struct test_context *test_ctx) {
test_ctx->nb_checkversion.notifier_call = checkversion_notifier;
test_ctx->nb_checkversion.priority = 0;
@@ -292,39 +280,36 @@
test_ctx->nb_download.priority = 0;
TEST_ASSERT_EQUAL_INT(0, dmgr_register_notifier(dm_id,
- &test_ctx->nb_checkversion,
- NOTIFY_ID_CHECK_VERSION));
+ &test_ctx->nb_checkversion,
+ NOTIFY_ID_CHECK_VERSION));
- TEST_ASSERT_EQUAL_INT(0, dmgr_register_notifier(dm_id,
- &test_ctx->nb_download,
- NOTIFY_ID_DOWNLOAD));
+ TEST_ASSERT_EQUAL_INT(0, dmgr_register_notifier(dm_id, &test_ctx->nb_download,
+ NOTIFY_ID_DOWNLOAD));
return 0;
}
-static void WAIT_DOWNLOAD_COMPLETED(struct test_context *test_ctx)
-{
+static void WAIT_DOWNLOAD_COMPLETED(struct test_context *test_ctx) {
if (!test_ctx) {
return;
}
for (;;) {
if (test_ctx->download_exit != 0) {
- printf(">>>>>download_exit = %d\n", test_ctx->download_exit);
+ fprintf(stdout, ">>>>>download_exit = %d\n", test_ctx->download_exit);
break;
}
sleep(1);
}
}
-static int getMid(char* readbuf)
-{
- #define DEVICE_NAME "deviceid"
- int fd,ret = -1;
+static int getMid(char *readbuf) {
+#define DEVICE_NAME "deviceid"
+ int fd, ret = -1;
ret = Aml_Util_UnifyKeyInit(UNIFYKEYS_PATH);
if (0 > ret) {
- printf("%s() %d, init unifykey failed @ %d!\n",
- __func__, __LINE__, ret);
+ fprintf(stdout, "%s() %d, init unifykey failed @ %d!\n", __func__, __LINE__,
+ ret);
}
ret = Aml_Util_UnifyKeyRead(UNIFYKEYS_PATH, DEVICE_NAME, readbuf);
@@ -337,17 +322,15 @@
ver_fd = fopen(__version_file_path, "r");
if (NULL == ver_fd) {
- printf("Cannot open version file %s\n", __version_file_path);
+ fprintf(stdout, "Cannot open version file %s\n", __version_file_path);
return -1;
}
- while (fgets(line, sizeof(line), ver_fd))
- {
+ while (fgets(line, sizeof(line), ver_fd)) {
char *pLine = strstr(line, "imagename");
- if (NULL != pLine)
- {
+ if (NULL != pLine) {
// 20220809043042
- memcpy(sw_version, pLine+strlen(pLine)-15, 14);
+ memcpy(sw_version, pLine + strlen(pLine) - 15, 14);
break;
}
}
@@ -364,8 +347,8 @@
ret = get_sw_version(test_ctx->DEVINFO_VERSION);
// SDK_VERSION of device.properties, only can sync time base on clean build
- //ret = AmlDeviceGetProperty("SDK_VERSION", out_value, INFO_LEN);
- //if (ret == AMLDEVICE_SUCCESS) {
+ // ret = AmlDeviceGetProperty("SDK_VERSION", out_value, INFO_LEN);
+ // if (ret == AMLDEVICE_SUCCESS) {
// memcpy(test_ctx->DEVINFO_VERSION, out_value, strlen(out_value));
//}
@@ -406,12 +389,13 @@
struct version_info cur_ver;
int ret;
- if (ver == NULL) return -1;
+ if (ver == NULL)
+ return -1;
memset(&cur_ver, 0, sizeof(struct version_info));
cur_ver.version_name = ver;
ret = dmgr_report_upgraded_version(dm_id, &cur_ver, "Upgrade done");
- printf("dmgr_report_upgraded_version %s ret = %d\n", ver, ret);
+ fprintf(stdout, "dmgr_report_upgraded_version %s ret = %d\n", ver, ret);
return ret;
}
@@ -422,15 +406,15 @@
#define PATH_LEN 256
#define MD5_LEN 32
-static int CalcFileMD5(char *file_name, char *md5_sum)
-{
+static int CalcFileMD5(char *file_name, char *md5_sum) {
#define MD5SUM_CMD_FMT "md5sum %." STR(PATH_LEN) "s 2>/dev/null"
- char cmd[PATH_LEN + sizeof (MD5SUM_CMD_FMT)];
+ char cmd[PATH_LEN + sizeof(MD5SUM_CMD_FMT)];
sprintf(cmd, MD5SUM_CMD_FMT, file_name);
#undef MD5SUM_CMD_FMT
FILE *p = popen(cmd, "r");
- if (p == NULL) return 0;
+ if (p == NULL)
+ return 0;
int i, ch;
for (i = 0; i < MD5_LEN && isxdigit(ch = fgetc(p)); i++) {
@@ -444,16 +428,16 @@
}
static int check_md5(char *md5sum) {
- char md5_str[MD5_LEN+1];
+ char md5_str[MD5_LEN + 1];
if (!CalcFileMD5(__save_file_path, md5_str)) {
- printf("Cannot calculate the md5 sum\n");
+ fprintf(stdout, "Cannot calculate the md5 sum\n");
return -1;
}
- printf("Calculate the md5 sum = %s\n", md5_str);
+ fprintf(stdout, "Calculate the md5 sum = %s\n", md5_str);
if (!strncmp(md5_str, md5sum, MD5_LEN)) {
- printf("Check md5sum OK\n");
+ fprintf(stdout, "Check md5sum OK\n");
return 0;
}
@@ -466,26 +450,27 @@
char *p, num[3];
snprintf(buffer, 200, "ping %s -c 1 -w 2 > /tmp/netlog", web_server);
- //printf("command: %s\n", buffer);
+ // fprintf(stdout, "command: %s\n", buffer);
system(buffer);
- //sleep(2);
+ // sleep(2);
usleep(50000);
fp = fopen("/tmp/netlog", "r");
if (fp < 0) {
- printf("open file failed.\n");
+ fprintf(stdout, "open file failed.\n");
return 0;
}
fseek(fp, 0, SEEK_SET);
memset(buffer, 0, sizeof(buffer));
- // read penultimate row, 1 packets transmitted, 1 received, 0% packet loss, time 0ms
+ // read penultimate row, 1 packets transmitted, 1 received, 0% packet loss,
+ // time 0ms
while (fgets(buffer, 200, fp) != NULL) {
p = strstr(buffer, "received,");
if (p) {
- //printf("string is: %s", p);
- memcpy(num, p+10, 3);
- //printf("num: %s\n", num);
+ // fprintf(stdout, "string is: %s", p);
+ memcpy(num, p + 10, 3);
+ // fprintf(stdout, "num: %s\n", num);
if (atoi(num) == 0)
return 1;
else
@@ -499,86 +484,87 @@
return 0;
}
-int main(void)
-{
- dmgr_t dm_id,ret;
+int main(void) {
+ dmgr_t dm_id, ret;
char rbuf[64];
struct test_context test_ctx = INIT_DEFAULT_TEST_CONTEXT();
struct policy_info policy = POLICY_INFO_INIT(policy);
+ policy.so_transfer_timeout = 10;
+ policy.so_connect_timeout = 5;
policy.sstate_cached_path = "/var";
- policy.sub_certificates = "/var/client.crt";
+ policy.sub_certificates = "/var/client.crt";
policy.server_transfer_opt = SERVER_TRANSOPT_IOT | SERVER_TRANSOPT_HTTP;
ret = getMid(rbuf);
- if ((0 != strcmp(rbuf,"")) && (0 < ret)) {
+ if ((0 != strcmp(rbuf, "")) && (0 < ret)) {
strcpy(test_ctx.DEVINFO_MID, rbuf);
} else {
- printf("get mid fail\n");
+ fprintf(stdout, "ERROR: Get mid failed!\n");
return -1;
}
ret = get_deviceinfo(&test_ctx);
if (ret < 0) {
- printf("get deviceinfo fail\n");
+ fprintf(stdout, "ERROR: Get device info failed!\n");
return -1;
}
#if 1
- printf(" %s: DEVINFO_OEM = %s \n",__func__,test_ctx.DEVINFO_OEM);
- printf(" %s: DEVINFO_DEVICETYPE = %s \n",__func__,test_ctx.DEVINFO_DEVICETYPE);
- printf(" %s: DEVINFO_PLATFORM = %s \n",__func__,test_ctx.DEVINFO_PLATFORM);
- printf(" %s: DEVINFO_MODELS = %s \n",__func__,test_ctx.DEVINFO_MODELS);
- printf(" %s: DEVINFO_MID = %s \n",__func__,test_ctx.DEVINFO_MID);
- printf(" %s: DEVINFO_VERSION = %s \n",__func__,test_ctx.DEVINFO_VERSION);
- printf(" %s: DEVINFO_PRODUCTID = %s \n",__func__,test_ctx.DEVINFO_PRODUCTID);
- printf(" %s: DEVINFO_PRODUCTSECRET = %s \n",__func__,test_ctx.DEVINFO_PRODUCTSECRET);
- printf(" %s: DEVINFO_APPVERSION = %s \n",__func__,test_ctx.DEVINFO_APPVERSION);
- printf(" %s: DEVINFO_NETWORKTYPE = %s \n",__func__,test_ctx.DEVINFO_NETWORKTYPE);
+ fprintf(stdout, "INFO: DEVINFO_OEM = %s \n", test_ctx.DEVINFO_OEM);
+ fprintf(stdout, "INFO: DEVINFO_DEVICETYPE = %s \n",
+ test_ctx.DEVINFO_DEVICETYPE);
+ fprintf(stdout, "INFO: DEVINFO_PLATFORM = %s \n", test_ctx.DEVINFO_PLATFORM);
+ fprintf(stdout, "INFO: DEVINFO_MODELS = %s \n", test_ctx.DEVINFO_MODELS);
+ fprintf(stdout, "INFO: DEVINFO_MID = %s \n", test_ctx.DEVINFO_MID);
+ fprintf(stdout, "INFO: DEVINFO_VERSION = %s \n", test_ctx.DEVINFO_VERSION);
+ fprintf(stdout, "INFO: DEVINFO_PRODUCTID = %s \n",
+ test_ctx.DEVINFO_PRODUCTID);
+ fprintf(stdout, "INFO: DEVINFO_PRODUCTSECRET = %s \n",
+ test_ctx.DEVINFO_PRODUCTSECRET);
+ fprintf(stdout, "INFO: DEVINFO_APPVERSION = %s \n",
+ test_ctx.DEVINFO_APPVERSION);
+ fprintf(stdout, "INFO: DEVINFO_NETWORKTYPE = %s \n",
+ test_ctx.DEVINFO_NETWORKTYPE);
#endif
- system("echo Checking_NewVersion > /tmp/fota_stat");
while (1) {
if (0 == checkNet(FOTA_WEB_SERVER)) {
- printf(" network not connect \n ");
- system("echo network_not_connect > /tmp/fota_stat");
- //sleep(CHECK_NETWORK_DEALY);
+ fprintf(stdout, "ERROR: Network not connected!\n ");
+ // sleep(CHECK_NETWORK_DEALY);
return -1;
}
- printf(" network connected \n ");
- dm_id = dmgr_alloc(&policy, LOG_INFO, LOGGER_STDIO, stdout);
+ dm_id = dmgr_alloc(&policy, LOG_ERROR, LOGGER_STDIO, stdout);
if (0 >= dm_id) {
+ fprintf(stdout, "ERROR: Alloc dm_id failed!\n");
return -1;
}
- if (0 != dmgr_register_deviceinfo(dm_id,
- "oem", test_ctx.DEVINFO_OEM) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "deviceType",test_ctx.DEVINFO_DEVICETYPE) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "platform", test_ctx.DEVINFO_PLATFORM) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "models", test_ctx.DEVINFO_MODELS) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "mid", test_ctx.DEVINFO_MID) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "version", test_ctx.DEVINFO_VERSION) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "productId", test_ctx.DEVINFO_PRODUCTID) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "productSecret", test_ctx.DEVINFO_PRODUCTSECRET) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "appversion", test_ctx.DEVINFO_APPVERSION) ||
- 0 != dmgr_register_deviceinfo(dm_id,
- "networkType", test_ctx.DEVINFO_NETWORKTYPE)) {
+ if (0 != dmgr_register_deviceinfo(dm_id, "oem", test_ctx.DEVINFO_OEM) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "deviceType",
+ test_ctx.DEVINFO_DEVICETYPE) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "platform",
+ test_ctx.DEVINFO_PLATFORM) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "models",
+ test_ctx.DEVINFO_MODELS) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "mid", test_ctx.DEVINFO_MID) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "version",
+ test_ctx.DEVINFO_VERSION) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "productId",
+ test_ctx.DEVINFO_PRODUCTID) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "productSecret",
+ test_ctx.DEVINFO_PRODUCTSECRET) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "appversion",
+ test_ctx.DEVINFO_APPVERSION) ||
+ 0 != dmgr_register_deviceinfo(dm_id, "networkType",
+ test_ctx.DEVINFO_NETWORKTYPE)) {
TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
continue;
}
if (test_ctx.DEVINFO_CHK_URL) {
- if (0 != dmgr_register_serverinfo(dm_id,
- SERI_CHK_URL,
- test_ctx.DEVINFO_CHK_URL)) {
+ if (0 != dmgr_register_serverinfo(dm_id, SERI_CHK_URL,
+ test_ctx.DEVINFO_CHK_URL)) {
TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
continue;
}
@@ -587,54 +573,44 @@
init_notifier(dm_id, &test_ctx);
if (0 != dmgr_check_version(dm_id)) {
TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
- printf(">>>> no new version detect\n");
- system("echo Check_NewVersion Failed> /tmp/fota_stat");
+ fprintf(stdout, "ERROR: No new version detected!\n");
break;
}
if (0 == test_ctx.has_new_version) {
- if ((access("/data/software.swu",F_OK)) != -1) {
+ if ((access("/data/software.swu", F_OK)) != -1) {
system("rm /data/software.swu");
}
TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
- printf(" no new_version \n");
- system("echo No_NewVersion > /tmp/fota_stat");
+ fprintf(stdout, "ERROR: No new version!\n");
ret = 0;
break;
} else {
- printf(" ADUPS : has_new_version \n");
- system("echo NewVersion > /tmp/fota_stat");
+ fprintf(stdout, "INFO: has_new_version \n");
}
- system("echo downloading > /tmp/fota_stat");
- if (0 != dmgr_async_download_version(dm_id,
- &test_ctx.cloned_version,
- __save_file_path,
- DOWNLOAD_FILE_SEEK_END,
- 0,
- -1)) {
- TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
- system("echo Download_FAILED > /tmp/fota_stat");
- ret = -1;
- break;
+ if (0 != dmgr_async_download_version(dm_id, &test_ctx.cloned_version,
+ __save_file_path,
+ DOWNLOAD_FILE_SEEK_END, 0, -1)) {
+ TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
+ fprintf(stdout, "ERROR: Download image failed!\n");
+ ret = -1;
+ break;
}
WAIT_DOWNLOAD_COMPLETED(&test_ctx);
- if (test_ctx.has_new_version &&
- (test_ctx.download_exit == 1)) {
+ if (test_ctx.has_new_version && (test_ctx.download_exit == 1)) {
write_new_version(&test_ctx.cloned_version);
// ota package not match md5sum, remove software.swu
if (check_md5(test_ctx.cloned_version.md5sum) == 0) {
- printf("secure upgrade check pass!\n");
- system("echo package_check_SUCCESS > /tmp/fota_stat");
+ fprintf(stdout, "INFO: secure upgrade check pass!\n");
system("reboot recovery");
ret = 1;
} else {
system("rm /data/software.swu");
system("sync");
TEST_ASSERT_EQUAL_INT(0, dmgr_free(dm_id));
- system("echo package_check_FAILED > /tmp/fota_stat");
- printf("ota package not match md5sum!\n");
+ fprintf(stdout, "ERROR: OTA package not match md5sum!\n");
ret = -1;
}
}