star-hitran

Load line-by-line data from the HITRAN database
git clone git://git.meso-star.fr/star-hitran.git
Log | Files | Refs | README | LICENSE

commit 7b169fe717398678476f6a2057518a1b7a003a76
parent 8e08a8c8a3be4e932afc198403e7bd2008f0fd60
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 11 Feb 2026 12:01:25 +0100

More tests on the [de]serialization API

Check the behavior of functions when the file name is given as an input
argument. Also check when the file is not defined correctly.

Diffstat:
Msrc/test_shtr_lines.c | 19+++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/test_shtr_lines.c b/src/test_shtr_lines.c @@ -344,6 +344,7 @@ test_serialization(struct shtr* shtr) struct shtr_line_list* list1 = NULL; struct shtr_line_list* list2 = NULL; + const char* filename = "line_list.shtr"; FILE* fp = NULL; CHK(fp = tmpfile()); @@ -354,7 +355,7 @@ test_serialization(struct shtr* shtr) CHK(shtr_line_list_load(shtr, &load_args, &list1) == RES_OK); CHK(fclose(fp) == 0); - CHK(fp = tmpfile()); + CHK(fp = fopen(filename, "w+")); write_args.file = fp; CHK(shtr_line_list_write(NULL, &write_args) == RES_BAD_ARG); CHK(shtr_line_list_write(list1, NULL) == RES_BAD_ARG); @@ -369,9 +370,23 @@ test_serialization(struct shtr* shtr) CHK(fclose(fp) == 0); check_line_list_equality(list1, list2); + CHK(shtr_line_list_ref_put(list2) == RES_OK); - CHK(shtr_line_list_ref_put(list1) == RES_OK); + write_args.file = NULL; + CHK(shtr_line_list_write(list1, &write_args) == RES_BAD_ARG); + write_args.filename = filename; + CHK(shtr_line_list_write(list1, &write_args) == RES_OK); + + read_args.file = NULL; + CHK(shtr_line_list_read(shtr, &read_args, &list2) == RES_BAD_ARG); + read_args.filename = "nop"; + CHK(shtr_line_list_read(shtr, &read_args, &list2) == RES_IO_ERR); + read_args.filename = filename; + CHK(shtr_line_list_read(shtr, &read_args, &list2) == RES_OK); + + check_line_list_equality(list1, list2); CHK(shtr_line_list_ref_put(list2) == RES_OK); + CHK(shtr_line_list_ref_put(list1) == RES_OK); } static void