From d4eb52bb92ce2ed2150b74395b6ac4e0823cf52b Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Tue, 27 Sep 2022 16:49:17 +0200 Subject: [PATCH] add compression entity tests cases --- test/cmp_entity/meson.build | 12 ++++++++ test/cmp_entity/test_cmp_entity.c | 51 +++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 test/cmp_entity/meson.build create mode 100644 test/cmp_entity/test_cmp_entity.c diff --git a/test/cmp_entity/meson.build b/test/cmp_entity/meson.build new file mode 100644 index 0000000..7221912 --- /dev/null +++ b/test/cmp_entity/meson.build @@ -0,0 +1,12 @@ +test_case = files('test_cmp_entity.c') +test_runner = test_runner_generator.process(test_case) + +test_cmp_entity = executable('test_cmp_data_types', + test_case, test_runner, + include_directories : incdir, + link_with : cmp_lib, + dependencies : unity_dep, + build_by_default : false +) + +test('Compression Entity Unit Tests', test_cmp_entity) diff --git a/test/cmp_entity/test_cmp_entity.c b/test/cmp_entity/test_cmp_entity.c new file mode 100644 index 0000000..8493e32 --- /dev/null +++ b/test/cmp_entity/test_cmp_entity.c @@ -0,0 +1,51 @@ +#include <unity.h> + +#include <cmp_entity.h> +#include <cmp_io.h> + +void test_cmp_ent_get_data_buf(void) +{ + enum cmp_data_type data_type;/*TODO: implement: DATA_TYPE_F_CAM_OFFSET, DATA_TYPE_F_CAM_BACKGROUND */ + struct cmp_entity ent = {0}; + char *adr; + uint32_t s, hdr_size; + + for (data_type = DATA_TYPE_IMAGETTE; + data_type <=DATA_TYPE_F_CAM_IMAGETTE_ADAPTIVE; + data_type++) { + s = cmp_ent_create(&ent, data_type, 0, 0); + TEST_ASSERT_NOT_EQUAL_INT(0, s); + + adr = cmp_ent_get_data_buf(&ent); + TEST_ASSERT_NOT_NULL(adr); + + hdr_size = cmp_ent_cal_hdr_size(data_type, 0); + TEST_ASSERT_EQUAL_INT(hdr_size, adr-(char *)&ent); + } + + /* RAW mode test */ + for (data_type = DATA_TYPE_IMAGETTE; + data_type <=DATA_TYPE_F_CAM_IMAGETTE_ADAPTIVE; + data_type++) { + s = cmp_ent_create(&ent, data_type, 1, 0); + TEST_ASSERT_NOT_EQUAL_INT(0, s); + + adr = cmp_ent_get_data_buf(&ent); + TEST_ASSERT_NOT_NULL(adr); + + hdr_size = cmp_ent_cal_hdr_size(data_type, 1); + TEST_ASSERT_EQUAL_INT(hdr_size, adr-(char *)&ent); + } + + /* ent = NULL test */ + adr = cmp_ent_get_data_buf(NULL); + TEST_ASSERT_NULL(adr); + + /* compression data type not supported test */ + s = cmp_ent_set_data_type(&ent, DATA_TYPE_UNKNOWN, 0); + TEST_ASSERT_FALSE(s); + + adr = cmp_ent_get_data_buf(&ent); + TEST_ASSERT_NULL(adr); +} + -- GitLab