commit 64fbe1a48a187254a04fe0d023a420c61e427b7a
parent 7b34fc96beb1c421c9aae7f94ab96e34708fa205
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 12 Feb 2026 12:57:13 +0100
More tests on the [de]serialization API
Check the behavior of functions when the file name is given as an input
argument.
Diffstat:
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/test_sln_tree.c b/src/test_sln_tree.c
@@ -318,11 +318,13 @@ test_tree_serialization
struct sln_tree_read_args rargs = SLN_TREE_READ_ARGS_NULL;
struct sln_tree* tree1 = NULL;
struct sln_tree* tree2 = NULL;
+
+ const char* filename = "tree.sln";
FILE* fp = NULL;
CHK(sln_tree_create(sln, tree_args, &tree1) == RES_OK);
- CHK(fp = tmpfile());
+ CHK(fp = fopen(filename, "w+"));
wargs.file = fp;
CHK(sln_tree_write(NULL, &wargs) == RES_BAD_ARG);
@@ -348,9 +350,22 @@ test_tree_serialization
fclose(fp);
check_tree_equality(tree1, tree2);
+ CHK(sln_tree_ref_put(tree2) == RES_OK);
+
+ wargs.file = NULL;
+ wargs.filename = filename;
+ CHK(sln_tree_write(tree1, &wargs) == RES_OK);
+
+ rargs.file = NULL;
+ rargs.filename = "nop";
+ CHK(sln_tree_read(sln, &rargs, &tree2) == RES_IO_ERR);
+ rargs.filename = filename;
+ CHK(sln_tree_read(sln, &rargs, &tree2) == RES_OK);
+
+ check_tree_equality(tree1, tree2);
- CHK(sln_tree_ref_put(tree1) == RES_OK);
CHK(sln_tree_ref_put(tree2) == RES_OK);
+ CHK(sln_tree_ref_put(tree1) == RES_OK);
}
/*******************************************************************************