From f7da96ff20a3badd075d083c04169727d5621c4c Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Sat, 26 Oct 2024 06:38:21 +0200 Subject: [PATCH] Refactor: Add missing header includes, clean up type casts, improve test robustness --- examples/example_compress_chunk.c | 4 +-- lib/cmp_chunk.h | 3 +++ lib/cmp_icu.h | 2 ++ lib/common/cmp_data_types.c | 36 +++++++++++++++------------ lib/common/cmp_data_types.h | 1 + lib/common/cmp_debug.c | 5 ++-- lib/common/cmp_debug.h | 6 ++--- lib/common/cmp_entity.c | 5 ++-- lib/common/cmp_error.h | 1 - lib/common/cmp_support.c | 7 ++++-- lib/common/cmp_support.h | 3 --- lib/common/compiler.h | 2 +- lib/common/vsnprintf.h | 3 +++ lib/decmp.h | 2 ++ lib/decompress/decmp.c | 4 ++- lib/icu_compress/cmp_icu.c | 4 +++ lib/rdcu_compress/cmp_rdcu.c | 1 + lib/rdcu_compress/cmp_rdcu_cfg.c | 1 + lib/rdcu_compress/cmp_rdcu_cfg.h | 2 ++ lib/rdcu_compress/cmp_rdcu_testing.h | 2 ++ lib/rdcu_compress/rdcu_cmd.c | 1 + lib/rdcu_compress/rdcu_ctrl.c | 1 - lib/rdcu_compress/rdcu_rmap.c | 1 + lib/rdcu_compress/rmap.c | 2 +- programs/cmp_guess.c | 4 +-- programs/cmp_tool.c | 3 +-- test/bench/benchfn.c | 2 +- test/cmp_decmp/test_cmp_decmp.c | 12 ++++++--- test/cmp_icu/test_cmp_icu.c | 3 ++- test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c | 2 ++ test/decmp/test_decmp.c | 10 ++++---- 31 files changed, 85 insertions(+), 50 deletions(-) diff --git a/examples/example_compress_chunk.c b/examples/example_compress_chunk.c index 900eb01..4ca542e 100644 --- a/examples/example_compress_chunk.c +++ b/examples/example_compress_chunk.c @@ -149,7 +149,7 @@ static int demo_comperss_chunk_1d(void) { /* have a look at the compressed data */ uint32_t i; - printf("Here's the compressed data including the compression entity header (size %d):\n", cmp_size_bytes); + printf("Here's the compressed data including the compression entity header (size %u):\n", cmp_size_bytes); for (i = 0; i < cmp_size_bytes; i++) { const uint8_t *p = (uint8_t *)compressed_data; /* the compression entity is big-endian */ printf("%02X ", p[i]); @@ -270,7 +270,7 @@ static int demo_comperss_chunk_model(void) { /* have a look at the compressed data */ uint32_t i; - printf("Here's the compressed data including the compression entity header (size %d):\n", cmp_size_bytes); + printf("Here's the compressed data including the compression entity header (size %u):\n", cmp_size_bytes); for (i = 0; i < cmp_size_bytes; i++) { const uint8_t *p = (uint8_t *)compressed_data; /* the compression entity is big-endian */ printf("%02X ", p[i]); diff --git a/lib/cmp_chunk.h b/lib/cmp_chunk.h index 2300483..8e1c2c1 100644 --- a/lib/cmp_chunk.h +++ b/lib/cmp_chunk.h @@ -20,6 +20,9 @@ #ifndef CMP_CHUNK_H #define CMP_CHUNK_H +#include <stddef.h> +#include <stdint.h> + #include "common/cmp_support.h" #include "common/cmp_entity.h" #include "common/cmp_error_list.h" diff --git a/lib/cmp_icu.h b/lib/cmp_icu.h index 4df2cff..34dad7b 100644 --- a/lib/cmp_icu.h +++ b/lib/cmp_icu.h @@ -20,6 +20,8 @@ #ifndef CMP_ICU_H #define CMP_ICU_H +#include <stdint.h> + #include "common/cmp_support.h" uint32_t compress_like_rdcu(const struct rdcu_cfg *rcfg, struct cmp_info *info); diff --git a/lib/common/cmp_data_types.c b/lib/common/cmp_data_types.c index 778195f..7a4f78f 100644 --- a/lib/common/cmp_data_types.c +++ b/lib/common/cmp_data_types.c @@ -17,9 +17,11 @@ */ +#include <stddef.h> #include <stdint.h> #include <limits.h> +#include "compiler.h" #include "byteorder.h" #include "cmp_debug.h" #include "cmp_support.h" @@ -504,6 +506,7 @@ uint8_t convert_cmp_data_type_to_subservice(enum cmp_data_type data_type) break; default: case DATA_TYPE_UNKNOWN: + case DATA_TYPE_CHUNK: debug_print("Error: Unknown compression data type!"); sst = (uint8_t)-1; }; @@ -581,6 +584,7 @@ size_t size_of_a_sample(enum cmp_data_type data_type) case DATA_TYPE_F_FX_EFX_NCOB_ECOB: sample_size = sizeof(struct f_fx_efx_ncob_ecob); break; + case DATA_TYPE_CHUNK: case DATA_TYPE_UNKNOWN: default: debug_print("Error: Compression data type is not supported."); @@ -604,7 +608,7 @@ static void be_to_cpus_16(uint16_t *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { uint16_t tmp; tmp = be16_to_cpu(get_unaligned(&a[i])); @@ -617,7 +621,7 @@ static void be_to_cpus_offset(struct offset *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].mean = be32_to_cpu(a[i].mean); a[i].variance = be32_to_cpu(a[i].variance); } @@ -628,7 +632,7 @@ static void be_to_cpus_background(struct background *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].mean = be32_to_cpu(a[i].mean); a[i].variance = be32_to_cpu(a[i].variance); a[i].outlier_pixels = be16_to_cpu(a[i].outlier_pixels); @@ -640,7 +644,7 @@ static void be_to_cpus_smearing(struct smearing *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].mean = be32_to_cpu(a[i].mean); a[i].variance_mean = be16_to_cpu(a[i].variance_mean); a[i].outlier_pixels = be16_to_cpu(a[i].outlier_pixels); @@ -652,7 +656,7 @@ static void be_to_cpus_s_fx(struct s_fx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) + for (i = 0; i < samples; i++) a[i].fx = be32_to_cpu(a[i].fx); } @@ -661,7 +665,7 @@ static void be_to_cpus_s_fx_efx(struct s_fx_efx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].efx = be32_to_cpu(a[i].efx); } @@ -672,7 +676,7 @@ static void be_to_cpus_s_fx_ncob(struct s_fx_ncob *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); a[i].ncob_y = be32_to_cpu(a[i].ncob_y); @@ -684,7 +688,7 @@ static void be_to_cpus_s_fx_efx_ncob_ecob(struct s_fx_efx_ncob_ecob *a, uint32_t { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); a[i].ncob_y = be32_to_cpu(a[i].ncob_y); @@ -699,7 +703,7 @@ static void be_to_cpus_l_fx(struct l_fx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].exp_flags = be24_to_cpu(a[i].exp_flags); a[i].fx = be32_to_cpu(a[i].fx); a[i].fx_variance = be32_to_cpu(a[i].fx_variance); @@ -711,7 +715,7 @@ static void be_to_cpus_l_fx_efx(struct l_fx_efx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].exp_flags = be24_to_cpu(a[i].exp_flags); a[i].fx = be32_to_cpu(a[i].fx); a[i].efx = be32_to_cpu(a[i].efx); @@ -724,7 +728,7 @@ static void be_to_cpus_l_fx_ncob(struct l_fx_ncob *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].exp_flags = be24_to_cpu(a[i].exp_flags); a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); @@ -740,7 +744,7 @@ static void be_to_cpus_l_fx_efx_ncob_ecob(struct l_fx_efx_ncob_ecob *a, uint32_t { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].exp_flags = be24_to_cpu(a[i].exp_flags); a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); @@ -759,7 +763,7 @@ static void be_to_cpus_f_fx(struct f_fx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) + for (i = 0; i < samples; i++) a[i].fx = be32_to_cpu(a[i].fx); } @@ -768,7 +772,7 @@ static void be_to_cpus_f_fx_efx(struct f_fx_efx *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].efx = be32_to_cpu(a[i].efx); } @@ -779,7 +783,7 @@ static void be_to_cpus_f_fx_ncob(struct f_fx_ncob *a, uint32_t samples) { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); a[i].ncob_y = be32_to_cpu(a[i].ncob_y); @@ -791,7 +795,7 @@ static void be_to_cpus_f_fx_efx_ncob_ecob(struct f_fx_efx_ncob_ecob *a, uint32_t { uint32_t i; - for (i = 0; i < samples; ++i) { + for (i = 0; i < samples; i++) { a[i].fx = be32_to_cpu(a[i].fx); a[i].ncob_x = be32_to_cpu(a[i].ncob_x); a[i].ncob_y = be32_to_cpu(a[i].ncob_y); diff --git a/lib/common/cmp_data_types.h b/lib/common/cmp_data_types.h index e63fc84..9559dd1 100644 --- a/lib/common/cmp_data_types.h +++ b/lib/common/cmp_data_types.h @@ -34,6 +34,7 @@ #ifndef CMP_DATA_TYPE_H #define CMP_DATA_TYPE_H +#include <stddef.h> #include <stdint.h> #include "compiler.h" diff --git a/lib/common/cmp_debug.c b/lib/common/cmp_debug.c index 08486ab..db6749c 100644 --- a/lib/common/cmp_debug.c +++ b/lib/common/cmp_debug.c @@ -21,6 +21,7 @@ #ifndef ICU_ASW # include <stdio.h> #endif +#include <stddef.h> #include <string.h> #include <stdarg.h> @@ -44,8 +45,8 @@ static void cmp_debug_puts(const char *str) /* asw_puts(str); */ (void)str; #else - fputs(str, stderr); - fputs("\n", stderr); + (void)fputs(str, stderr); + (void)fputs("\n", stderr); #endif } diff --git a/lib/common/cmp_debug.h b/lib/common/cmp_debug.h index 1261289..281ff53 100644 --- a/lib/common/cmp_debug.h +++ b/lib/common/cmp_debug.h @@ -33,21 +33,21 @@ #define PRINT_BUFFER_SIZE 256 -__extension__ #if (DEBUGLEVEL > 0) +__extension__ # define debug_print(...) cmp_debug_print_impl(__VA_ARGS__) void cmp_debug_print_impl(const char *fmt, ...); #else +__extension__ # define debug_print(...) do {} while (0) #endif __extension__ #define debug_print_level(level, ...) \ do { \ - if (level <= DEBUGLEVEL) \ + if ((level) <= DEBUGLEVEL) \ debug_print(__VA_ARGS__); \ } while (0) - #endif /* CMP_DEBUG_H */ diff --git a/lib/common/cmp_entity.c b/lib/common/cmp_entity.c index b0644ba..3813d1c 100644 --- a/lib/common/cmp_entity.c +++ b/lib/common/cmp_entity.c @@ -32,10 +32,10 @@ # endif #endif +#include "compiler.h" #include "byteorder.h" #include "cmp_debug.h" #include "cmp_support.h" -#include "cmp_data_types.h" #include "cmp_entity.h" #include "leon_inttypes.h" @@ -1971,7 +1971,7 @@ uint64_t cmp_ent_create_timestamp(const struct timespec *ts) } now = *ts; } else { - clock_gettime(CLOCK_REALTIME, &now); + (void)clock_gettime(CLOCK_REALTIME, &now); } seconds = ((double)now.tv_sec + 1.0e-9 * (double)now.tv_nsec) - @@ -2255,6 +2255,7 @@ static void cmp_ent_parese_specific_header(const struct cmp_entity *ent) case DATA_TYPE_CHUNK: cmp_ent_parese_non_imagette_header(ent); break; + case DATA_TYPE_UNKNOWN: default: debug_print("For this data product type no parse functions is implemented!"); break; diff --git a/lib/common/cmp_error.h b/lib/common/cmp_error.h index 333bbc9..64cb59e 100644 --- a/lib/common/cmp_error.h +++ b/lib/common/cmp_error.h @@ -24,7 +24,6 @@ #include <stdint.h> -#include "cmp_error_list.h" /** diff --git a/lib/common/cmp_support.c b/lib/common/cmp_support.c index e438087..d03a03e 100644 --- a/lib/common/cmp_support.c +++ b/lib/common/cmp_support.c @@ -17,11 +17,14 @@ * @see Data Compression User Manual PLATO-UVIE-PL-UM-0001 */ +#include <stdint.h> + #include "compiler.h" #include "cmp_support.h" #include "cmp_debug.h" #include "leon_inttypes.h" +#include "cmp_cal_up_model.h" /** @@ -325,12 +328,12 @@ uint32_t cmp_icu_max_spill(unsigned int cmp_par) /* the ICU compressor can generate code words with a length of maximal 32 bits. */ unsigned int const max_cw_bits = 32; unsigned int const cutoff = (0x2U << (ilog_2(cmp_par) & 0x1FU)) - cmp_par; - unsigned int const max_n_sym_offset = max_cw_bits/2 - 1; + unsigned int const max_n_sym_offset = (max_cw_bits/2) - 1; if (!cmp_par || cmp_par > MAX_NON_IMA_GOLOMB_PAR) return 0; - return (max_cw_bits-1-ilog_2(cmp_par))*cmp_par + cutoff + return ((max_cw_bits-1-ilog_2(cmp_par))*cmp_par) + cutoff - max_n_sym_offset - 1; } diff --git a/lib/common/cmp_support.h b/lib/common/cmp_support.h index c504336..ad1d86b 100644 --- a/lib/common/cmp_support.h +++ b/lib/common/cmp_support.h @@ -22,13 +22,10 @@ #include <stdint.h> #include <stddef.h> -#include "cmp_cal_up_model.h" #define CMP_COLLECTION_FILD_SIZE 2 - - #define CMP_LOSSLESS 0 #define CMP_PAR_UNUNSED 0 diff --git a/lib/common/compiler.h b/lib/common/compiler.h index 5128c0c..298a325 100644 --- a/lib/common/compiler.h +++ b/lib/common/compiler.h @@ -54,7 +54,7 @@ * will cause a build error */ -#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) +#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) #define bitsizeof(x) (CHAR_BIT * sizeof(x)) diff --git a/lib/common/vsnprintf.h b/lib/common/vsnprintf.h index 8afed65..ce7dcab 100644 --- a/lib/common/vsnprintf.h +++ b/lib/common/vsnprintf.h @@ -21,6 +21,9 @@ #define VSNPRINTF_H #if (DEBUGLEVEL > 0) +#include <stdarg.h> +#include <stddef.h> + int my_vsnprintf(char* buffer, size_t count, const char* format, va_list va); #endif diff --git a/lib/decmp.h b/lib/decmp.h index 3cdeb4c..4694906 100644 --- a/lib/decmp.h +++ b/lib/decmp.h @@ -19,6 +19,8 @@ #ifndef DECMP_H #define DECMP_H +#include <stdint.h> + #include "common/cmp_entity.h" #include "common/cmp_support.h" diff --git a/lib/decompress/decmp.c b/lib/decompress/decmp.c index 3baa4f8..bd93d8a 100644 --- a/lib/decompress/decmp.c +++ b/lib/decompress/decmp.c @@ -37,10 +37,11 @@ #include "../common/cmp_debug.h" #include "../common/cmp_support.h" #include "../common/cmp_entity.h" +#include "../common/cmp_cal_up_model.h" #include "../common/cmp_max_used_bits.h" -#define CORRUPTION_DETECTED -1 +#define CORRUPTION_DETECTED (-1) MAYBE_UNUSED static const char *please_check_str = @@ -1596,6 +1597,7 @@ static int decompressed_data_internal(const struct cmp_cfg *cfg, enum decmp_type case DATA_TYPE_F_FX_EFX: case DATA_TYPE_F_FX_NCOB: case DATA_TYPE_F_FX_EFX_NCOB_ECOB: + case DATA_TYPE_CHUNK: case DATA_TYPE_UNKNOWN: default: err = -1; diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c index 5d8fbdb..1e5e7bc 100644 --- a/lib/icu_compress/cmp_icu.c +++ b/lib/icu_compress/cmp_icu.c @@ -23,12 +23,15 @@ #include <limits.h> #include "../common/byteorder.h" +#include "../common/compiler.h" #include "../common/cmp_debug.h" #include "../common/cmp_data_types.h" #include "../common/cmp_support.h" +#include "../common/cmp_cal_up_model.h" #include "../common/cmp_max_used_bits.h" #include "../common/cmp_entity.h" #include "../common/cmp_error.h" +#include "../common/cmp_error_list.h" #include "../common/leon_inttypes.h" #include "cmp_chunk_type.h" @@ -1602,6 +1605,7 @@ static uint32_t compress_data_internal(const struct cmp_cfg *cfg, uint32_t strea case DATA_TYPE_F_FX_EFX: case DATA_TYPE_F_FX_NCOB: case DATA_TYPE_F_FX_EFX_NCOB_ECOB: + case DATA_TYPE_CHUNK: case DATA_TYPE_UNKNOWN: default: RETURN_ERROR(INT_DATA_TYPE_UNSUPPORTED, ""); diff --git a/lib/rdcu_compress/cmp_rdcu.c b/lib/rdcu_compress/cmp_rdcu.c index d1e54e7..8a7264b 100644 --- a/lib/rdcu_compress/cmp_rdcu.c +++ b/lib/rdcu_compress/cmp_rdcu.c @@ -27,6 +27,7 @@ */ +#include <stddef.h> #include <stdint.h> #include "../common/cmp_debug.h" diff --git a/lib/rdcu_compress/cmp_rdcu_cfg.c b/lib/rdcu_compress/cmp_rdcu_cfg.c index 9db8354..2968004 100644 --- a/lib/rdcu_compress/cmp_rdcu_cfg.c +++ b/lib/rdcu_compress/cmp_rdcu_cfg.c @@ -25,6 +25,7 @@ #include "../common/cmp_support.h" #include "../common/leon_inttypes.h" #include "../common/compiler.h" +#include "../common/cmp_cal_up_model.h" #include "rdcu_cmd.h" #include "cmp_rdcu_cfg.h" diff --git a/lib/rdcu_compress/cmp_rdcu_cfg.h b/lib/rdcu_compress/cmp_rdcu_cfg.h index e754b4d..06a9c0a 100644 --- a/lib/rdcu_compress/cmp_rdcu_cfg.h +++ b/lib/rdcu_compress/cmp_rdcu_cfg.h @@ -19,6 +19,8 @@ #ifndef CMP_RDCU_CFG_H #define CMP_RDCU_CFG_H +#include <stdint.h> + #include "../common/cmp_support.h" diff --git a/lib/rdcu_compress/cmp_rdcu_testing.h b/lib/rdcu_compress/cmp_rdcu_testing.h index 644a06b..91975fa 100644 --- a/lib/rdcu_compress/cmp_rdcu_testing.h +++ b/lib/rdcu_compress/cmp_rdcu_testing.h @@ -20,6 +20,8 @@ #ifndef CMP_RDCU_TESTING_H #define CMP_RDCU_TESTING_H +#include <stdint.h> + #include "../common/cmp_support.h" int rdcu_start_compression(void); diff --git a/lib/rdcu_compress/rdcu_cmd.c b/lib/rdcu_compress/rdcu_cmd.c index 79ac614..6fbc4f7 100644 --- a/lib/rdcu_compress/rdcu_cmd.c +++ b/lib/rdcu_compress/rdcu_cmd.c @@ -17,6 +17,7 @@ * @see FPGA Requirement Specification PLATO-IWF-PL-RS-005 Issue 0.7 */ +#include <stdint.h> #include "rmap.h" #include "rdcu_cmd.h" diff --git a/lib/rdcu_compress/rdcu_ctrl.c b/lib/rdcu_compress/rdcu_ctrl.c index c5d748e..385b9c8 100644 --- a/lib/rdcu_compress/rdcu_ctrl.c +++ b/lib/rdcu_compress/rdcu_ctrl.c @@ -2517,7 +2517,6 @@ int rdcu_sync_sram_mirror_parallel(uint32_t rx_addr, uint32_t rx_size, } - /** * @brief initialise the rdcu control library * diff --git a/lib/rdcu_compress/rdcu_rmap.c b/lib/rdcu_compress/rdcu_rmap.c index c0b7662..93a307a 100644 --- a/lib/rdcu_compress/rdcu_rmap.c +++ b/lib/rdcu_compress/rdcu_rmap.c @@ -62,6 +62,7 @@ */ +#include <stdint.h> #include <stdlib.h> #include <string.h> diff --git a/lib/rdcu_compress/rmap.c b/lib/rdcu_compress/rmap.c index c713135..33871bc 100644 --- a/lib/rdcu_compress/rmap.c +++ b/lib/rdcu_compress/rmap.c @@ -19,7 +19,7 @@ */ - +#include <stdint.h> #include <string.h> #include <stdlib.h> diff --git a/programs/cmp_guess.c b/programs/cmp_guess.c index 14b231f..c76d1da 100644 --- a/programs/cmp_guess.c +++ b/programs/cmp_guess.c @@ -146,7 +146,7 @@ static uint32_t pre_cal_method(struct rdcu_cfg *rcfg) rcfg->golomb_par = golomb_par_best; rcfg->spill = spill_best; - return (uint32_t)cmp_size_best; + return cmp_size_best; } @@ -203,7 +203,7 @@ static uint32_t brute_force(struct rdcu_cfg *rcfg) rcfg->golomb_par = golomb_par_best; rcfg->spill = spill_best; - return (uint32_t)cmp_size_best; + return cmp_size_best; } diff --git a/programs/cmp_tool.c b/programs/cmp_tool.c index 5a9f5de..ab1d8e3 100644 --- a/programs/cmp_tool.c +++ b/programs/cmp_tool.c @@ -745,8 +745,7 @@ static int compression_of_chunk(const void *chunk, uint32_t size, void *model, goto cmp_chunk_fail; printf("DONE\nWrite compressed data to file %s.cmp ... ", output_prefix); - error = write_data_to_file(cmp_data, (uint32_t)cmp_size, output_prefix, - ".cmp", io_flags); + error = write_data_to_file(cmp_data, cmp_size, output_prefix, ".cmp", io_flags); cmp_chunk_fail: free(cmp_data); diff --git a/test/bench/benchfn.c b/test/bench/benchfn.c index d9a746b..5f768c3 100644 --- a/test/bench/benchfn.c +++ b/test/bench/benchfn.c @@ -37,9 +37,9 @@ /* ************************************* * Debug errors ***************************************/ -__extension__ #if defined(DEBUGLEVEL) && (DEBUGLEVEL >= 1) # include <stdio.h> /* fprintf */ + __extension__ # define DISPLAY(...) fprintf(stderr, __VA_ARGS__) # define DEBUGOUTPUT(...) \ { \ diff --git a/test/cmp_decmp/test_cmp_decmp.c b/test/cmp_decmp/test_cmp_decmp.c index b1d1241..b89320c 100644 --- a/test/cmp_decmp/test_cmp_decmp.c +++ b/test/cmp_decmp/test_cmp_decmp.c @@ -27,6 +27,7 @@ #include <unity.h> #include "../test_common/test_common.h" #include "../test_common/chunk_round_trip.h" +#include "cmp_support.h" #include <cmp_icu.h> #include <cmp_chunk.h> @@ -37,6 +38,7 @@ #include <byteorder.h> #include <cmp_error.h> #include <cmp_max_used_bits.h> +#include <cmp_cal_up_model.h> #if defined __has_include # if __has_include(<time.h>) @@ -580,6 +582,8 @@ size_t generate_random_collection(struct collection_hdr *col, enum cmp_data_type size += gen_fc_background_data(science_data, samples, gen_data_f, extra); break; + case DATA_TYPE_CHUNK: + case DATA_TYPE_UNKNOWN: default: TEST_FAIL(); } @@ -940,7 +944,7 @@ void test_random_collection_round_trip(void) enum cmp_data_type data_type; enum cmp_mode cmp_mode; enum { MAX_DATA_TO_COMPRESS_SIZE = UINT16_MAX}; - uint32_t cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1); + uint32_t cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1U); int run; #ifdef __sparc__ void *data = (void *)0x63000000; @@ -994,7 +998,7 @@ void test_random_collection_round_trip(void) struct cmp_par par; uint32_t cmp_size, cmp_size2; - cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1); + cmp_data_capacity = COMPRESS_CHUNK_BOUND(MAX_DATA_TO_COMPRESS_SIZE, 1U); generate_random_cmp_par(&par); par.cmp_mode = cmp_mode; @@ -1411,7 +1415,7 @@ void test_cmp_decmp_chunk_raw(void) dst_capacity = (uint32_t)cmp_size; dst = malloc(dst_capacity); TEST_ASSERT_NOT_NULL(dst); cmp_size = compress_chunk(chunk, chunk_size, NULL, NULL, dst, dst_capacity, &par); - TEST_ASSERT_EQUAL_INT(cmp_size_exp, dst_capacity); + TEST_ASSERT_EQUAL_INT(cmp_size_exp, cmp_size); } /* check results */ @@ -1495,7 +1499,7 @@ void test_cmp_decmp_chunk_worst_case(void) uint16_t s; uint8_t *p, i; - chunk = malloc(chunk_size); TEST_ASSERT_NOT_NULL(chunk); + chunk = calloc(1, chunk_size); TEST_ASSERT_NOT_NULL(chunk); generate_random_collection_hdr(chunk, DATA_TYPE_S_FX, 2); p = chunk; p += COLLECTION_HDR_SIZE; diff --git a/test/cmp_icu/test_cmp_icu.c b/test/cmp_icu/test_cmp_icu.c index f2cadf6..7aef7ea 100644 --- a/test/cmp_icu/test_cmp_icu.c +++ b/test/cmp_icu/test_cmp_icu.c @@ -1993,7 +1993,7 @@ void test_compress_chunk_error_cases(void) uint8_t updated_chunk_model[CHUNK_SIZE]; uint32_t dst[COMPRESS_CHUNK_BOUND(CHUNK_SIZE, 2)/sizeof(uint32_t)]; uint32_t dst_capacity = sizeof(dst); - struct cmp_par cmp_par; + struct cmp_par cmp_par = {0}; uint32_t cmp_size; struct collection_hdr *col2; @@ -2582,6 +2582,7 @@ void test_buffer_overlaps(void) TEST_ASSERT_TRUE(overlap); overlap = buffer_overlaps(&buf_a[0], 2, &buf_a[1], 2); + TEST_ASSERT_TRUE(overlap); overlap = buffer_overlaps(&buf_a[1], 2, &buf_a[0], 2); TEST_ASSERT_TRUE(overlap); } diff --git a/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c b/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c index 06d524f..c23b3cc 100644 --- a/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c +++ b/test/cmp_rdcu_cfg/test_cmp_rdcu_cfg.c @@ -21,6 +21,7 @@ #include <unity.h> #include <cmp_rdcu_cfg.h> #include <rdcu_cmd.h> +#include <cmp_cal_up_model.h> /** @@ -247,6 +248,7 @@ void test_rdcu_cfg_buffers_model(void) /* test a RAW mode buffer configuration */ error = rdcu_cfg_create(&rcfg, CMP_MODE_MODEL_MULTI, MAX_MODEL_VALUE, CMP_LOSSLESS); + TEST_ASSERT_FALSE(error); rdcu_data_adr = 0x0; rdcu_model_adr = 0x8; diff --git a/test/decmp/test_decmp.c b/test/decmp/test_decmp.c index 44048ea..93d3952 100644 --- a/test/decmp/test_decmp.c +++ b/test/decmp/test_decmp.c @@ -40,14 +40,14 @@ void test_bitstream(void) { - uint8_t i, data[12]; + uint8_t data[12]; struct bit_decoder dec; - size_t ret; + size_t i, ret; int status; uint32_t read_bits; for (i = 0; i < sizeof(data); ++i) - data[i] = i; + data[i] = (uint8_t)i; ret = bit_init_decoder(&dec, data, sizeof(data)); TEST_ASSERT_EQUAL_size_t(sizeof(data), ret); @@ -856,7 +856,7 @@ void test_multi_refill_needed(void) { uint32_t decoded_value = ~0U; uint8_t cmp_data[] = {0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}; - uint32_t cmp_data2[2]; + uint32_t cmp_data2[2] = {0}; struct bit_decoder dec = {0}; struct decoder_setup setup = {0}; uint32_t spillover = 16; @@ -1061,7 +1061,7 @@ void test_decompress_imagette_chunk_raw(void) uint8_t *decompressed_data; struct cmp_entity *ent; uint32_t ent_size; - uint32_t chunk_size = 2*(COLLECTION_HDR_SIZE + sizeof(data)); + uint32_t const chunk_size = 2*(COLLECTION_HDR_SIZE + sizeof(data)); uint8_t *chunk = calloc(1, chunk_size); TEST_ASSERT_TRUE(chunk); for (i = 0; i < 2; i++) { -- GitLab