diff --git a/sys/log/full/selftest/util/include/log_test_util/log_test_util.h b/sys/log/full/selftest/util/include/log_test_util/log_test_util.h index 90b77e4985..4c23c3733f 100644 --- a/sys/log/full/selftest/util/include/log_test_util/log_test_util.h +++ b/sys/log/full/selftest/util/include/log_test_util/log_test_util.h @@ -41,6 +41,7 @@ extern struct fcb2 log_fcb; #endif extern struct log my_log; extern char *ltu_str_logs[]; +extern uint8_t dummy_log_arr[]; struct os_mbuf *ltu_flat_to_fragged_mbuf(const void *flat, int len, int frag_sz); @@ -49,6 +50,9 @@ void ltu_setup_2fcbs(struct fcb_log *fcb_log1, struct log *log1, struct fcb_log *fcb_log2, struct log *log2); void ltu_setup_cbmem(struct cbmem *cbmem, struct log *log); void ltu_verify_contents(struct log *log); +uint16_t *ltu_get_ltu_off_arr(void); +uint16_t ltu_init_arr(void); +int ltu_num_strs(void); TEST_SUITE_DECL(log_test_suite_cbmem_flat); TEST_CASE_DECL(log_test_case_cbmem_append); diff --git a/sys/log/full/selftest/util/src/log_test_util.c b/sys/log/full/selftest/util/src/log_test_util.c index bc1ace6cfc..8c1e67d492 100644 --- a/sys/log/full/selftest/util/src/log_test_util.c +++ b/sys/log/full/selftest/util/src/log_test_util.c @@ -18,6 +18,7 @@ */ #include "log_test_util/log_test_util.h" +#include "log/log.h" #if MYNEWT_VAL(LOG_FCB) static struct flash_area fcb_areas[] = { @@ -47,26 +48,26 @@ static int ltu_str_idx = 0; static int ltu_str_max_idx = 0; struct dummy_log { - struct log_entry_hdr ueh; - struct log_tlv; + struct log_entry_hdr hdr; + struct log_tlv tlv; uint32_t num_entries; -} +}; struct dummy_log dummy_log = { .hdr = { .ue_ts = 1, .ue_module = 2, - .ue_etype = 3 - .ue_flags = + .ue_etype = 3, + .ue_flags = 0 #if MYNEWT_VAL(LOG_FLAGS_IMAGE_HASH) - LOG_FLAGS_IMAGE_HASH + | LOG_FLAGS_IMG_HASH #endif #if MYNEWT_VAL(LOG_FLAGS_TLV_SUPPORT) | LOG_FLAGS_TLV_SUPPORT #endif , .ue_etype = 4, - .ue_imghash = 0x12345678, + .ue_imghash = {1, 2, 3, 4}, .ue_level = 3, .ue_num_entries = 5 }, @@ -85,7 +86,7 @@ char *ltu_str_logs[] = { NULL }; -struct uint16_t ltu_off_arr[5]; +uint16_t ltu_off_arr[5]; uint8_t dummy_log_arr[sizeof(ltu_str_logs) + sizeof(struct dummy_log)*4]; @@ -101,7 +102,8 @@ ltu_num_strs(void) return i; } -uint16_t *ltu_get_ltu_off_arr(void) +uint16_t * +ltu_get_ltu_off_arr(void) { return ltu_off_arr; } @@ -109,6 +111,7 @@ uint16_t *ltu_get_ltu_off_arr(void) uint16_t ltu_init_arr(void) { + int i; uint16_t offset = 0; for (i = 0; i < ltu_num_strs(); i++) { @@ -120,7 +123,7 @@ ltu_init_arr(void) &dummy_log.hdr.ue_imghash, LOG_IMG_HASHLEN); offset += LOG_IMG_HASHLEN; #endif - memcpy(dummy_log_arr + offset, ltu_str_logs[i], sizeof(ltu_str_logs[i])); + memcpy(dummy_log_arr + offset, ltu_str_logs[i], strlen(ltu_str_logs[i])); offset += sizeof(ltu_str_logs[i]); #if MYNEWT_VAL(LOG_FLAGS_TLV_SUPPORT) && MYNEWT_VAL(LOG_TLV_NUM_ENTRIES) memcpy(dummy_log_arr + offset, &dummy_log.tlv, sizeof(struct log_tlv)); diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append.c b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append.c index 4ca1aa91c8..723fd1f5ba 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append.c @@ -27,13 +27,14 @@ TEST_CASE_SELF(log_test_case_cbmem_append) uint16_t *off_arr; int i; int rc; + int num_strs = ltu_num_strs(); ltu_setup_cbmem(&cbmem, &log); len = ltu_init_arr(); TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { len = off_arr[i+1] - off_arr[i]; diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_body.c b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_body.c index 7131bbdaac..85a0c0d0d0 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_body.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_body.c @@ -35,15 +35,16 @@ TEST_CASE_SELF(log_test_case_cbmem_append_body) TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { - hdr = dummy_log_arr + off_arr[i]; + hdr = (struct log_entry_hdr *)(dummy_log_arr + off_arr[i]); len = off_arr[i + 1] - off_arr[i] - log_hdr_len(hdr) - log_trailer_len(hdr); - log_append_body(&log, 2, 3, LOG_ETYPE_STRING, - dummy_log_arr + off_arr[i] + log_hdr_len(hdr), - len); + rc = log_append_body(&log, 2, 3, LOG_ETYPE_STRING, + dummy_log_arr + off_arr[i] + log_hdr_len(hdr), + len); + TEST_ASSERT_FATAL(rc == 0); } ltu_verify_contents(&log); diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf.c b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf.c index 7507be9eb5..aaeab19d37 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf.c @@ -35,7 +35,7 @@ TEST_CASE_SELF(log_test_case_cbmem_append_mbuf) TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { len = off_arr[i+1] - off_arr[i]; diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf_body.c b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf_body.c index 8b392bd80b..ac0b02d5eb 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf_body.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_append_mbuf_body.c @@ -26,20 +26,25 @@ TEST_CASE_SELF(log_test_case_cbmem_append_mbuf_body) struct log log; int rc; int i; + uint16_t len; int num_strs = ltu_num_strs(); + struct log_entry_hdr *hdr; + uint16_t *off_arr; ltu_setup_cbmem(&cbmem, &log); len = ltu_init_arr(); TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; num_strs; i++) { - len = off_arr[i+1] - off_arr[i]; + hdr = (struct log_entry_hdr *)(dummy_log_arr + off_arr[i]); + len = off_arr[i + 1] - off_arr[i] - + log_hdr_len(hdr) - log_trailer_len(hdr); /* Split chain into several mbufs. */ - om = ltu_flat_to_fragged_mbuf(dummy_log_arr + off_arr[i], + om = ltu_flat_to_fragged_mbuf(dummy_log_arr + off_arr[i] + log_hdr_len(hdr), len, 2); rc = log_append_mbuf_body(&log, 2, 3, LOG_ETYPE_STRING, om); diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_printf.c b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_printf.c index 5c9546c452..b86db5890b 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_printf.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_cbmem_printf.c @@ -24,20 +24,20 @@ TEST_CASE_SELF(log_test_case_cbmem_printf) struct cbmem cbmem; struct log log; int i; - int rc; uint16_t len = 0; int num_strs = ltu_num_strs(); + uint16_t *off_arr; ltu_setup_cbmem(&cbmem, &log); len = ltu_init_arr(); TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { len = off_arr[i+1] - off_arr[i]; - log_printf(&log, 0, 0, dummy_log_arr + off_arr[i], + log_printf(&log, 0, 0, (char *)(dummy_log_arr + off_arr[i]), len); } diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append.c b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append.c index 223868e535..4a0d7641fe 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append.c @@ -25,16 +25,16 @@ TEST_CASE_SELF(log_test_case_fcb_append) struct log log; uint16_t len = 0; uint16_t *off_arr; - int body_len; int i; int rc; + int num_strs = ltu_num_strs(); ltu_setup_fcb(&fcb_log, &log); len = ltu_init_arr(); TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; num_strs; i++) { len = off_arr[i+1] - off_arr[i]; diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_body.c b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_body.c index 0ee4a16e7b..7b313fb693 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_body.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_body.c @@ -35,16 +35,18 @@ TEST_CASE_SELF(log_test_case_fcb_append_body) TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { - hdr = dummy_log_arr + off_arr[i]; + hdr = (struct log_entry_hdr *)(dummy_log_arr + off_arr[i]); len = off_arr[i + 1] - off_arr[i] - log_hdr_len(hdr) - log_trailer_len(hdr); - log_append_body(&log, 2, 3, LOG_ETYPE_STRING, - dummy_log_arr + off_arr[i] + log_hdr_len(hdr), - len); + rc = log_append_body(&log, 2, 3, LOG_ETYPE_STRING, + dummy_log_arr + off_arr[i] + log_hdr_len(hdr), + len); + TEST_ASSERT_FATAL(rc == 0); } + ltu_verify_contents(&log); } diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf.c b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf.c index 7288188fa5..ab7500ac25 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf.c @@ -24,17 +24,18 @@ TEST_CASE_SELF(log_test_case_fcb_append_mbuf) struct fcb_log fcb_log; struct os_mbuf *om; struct log log; - char *str; int rc; int i; int num_strs = ltu_num_strs(); + uint16_t *off_arr; + uint16_t len; ltu_setup_fcb(&fcb_log, &log); len = ltu_init_arr(); TEST_ASSERT_FATAL(len != 0); off_arr = ltu_get_ltu_off_arr(); - TEST_ASSERT_FATAL(arr != NULL); + TEST_ASSERT_FATAL(off_arr != NULL); for (i = 0; i < num_strs; i++) { len = off_arr[i+1] - off_arr[i]; diff --git a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf_body.c b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf_body.c index 25d536479a..058a16c574 100644 --- a/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf_body.c +++ b/sys/log/full/selftest/util/src/testcases/log_test_case_fcb_append_mbuf_body.c @@ -24,22 +24,30 @@ TEST_CASE_SELF(log_test_case_fcb_append_mbuf_body) struct fcb_log fcb_log; struct os_mbuf *om; struct log log; - char *str; int rc; int i; + int num_strs = ltu_num_strs(); + struct log_entry_hdr *hdr; + uint16_t *off_arr; + uint16_t len; ltu_setup_fcb(&fcb_log, &log); + len = ltu_init_arr(); + TEST_ASSERT_FATAL(len != 0); - for (i = 0; ; i++) { - str = ltu_str_logs[i]; - if (!str) { - break; - } + off_arr = ltu_get_ltu_off_arr(); + TEST_ASSERT_FATAL(off_arr != NULL); + + for (i = 0; num_strs; i++) { + hdr = (struct log_entry_hdr *)(dummy_log_arr + off_arr[i]); + len = off_arr[i + 1] - off_arr[i] - + log_hdr_len(hdr) - log_trailer_len(hdr); /* Split chain into several mbufs. */ - om = ltu_flat_to_fragged_mbuf(str, strlen(str), 2); + om = ltu_flat_to_fragged_mbuf(dummy_log_arr + off_arr[i] + log_hdr_len(hdr), + len, 2); - rc = log_append_mbuf_body(&log, 0, 0, LOG_ETYPE_STRING, om); + rc = log_append_mbuf_body(&log, 2, 3, LOG_ETYPE_STRING, om); TEST_ASSERT_FATAL(rc == 0); }