From ad3d5dfddcbb92c2fd547beaab0c6106fe1d2a19 Mon Sep 17 00:00:00 2001 From: Nathan Fisher Date: Sat, 16 Sep 2023 18:58:41 -0400 Subject: [PATCH] Add `create_file_node` test; Ensure fifo is unique in `create_fifo_node` test --- test/Makefile | 1 + test/create_fifo_node.c | 2 ++ test/create_file_node.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 test/create_file_node.c diff --git a/test/Makefile b/test/Makefile index df2c65c..7445c05 100644 --- a/test/Makefile +++ b/test/Makefile @@ -69,6 +69,7 @@ tests += create_dir_node tests += create_symlink_node tests += create_fifo_node tests += create_dev_node +tests += create_file_node total != echo $(tests) | wc -w | awk '{ print $$1 }' diff --git a/test/create_fifo_node.c b/test/create_fifo_node.c index 5ddba89..1fd8966 100644 --- a/test/create_fifo_node.c +++ b/test/create_fifo_node.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #include "haggis.h" @@ -12,6 +13,7 @@ int main() { map = haggis_linkmap_init(); assert(map != NULL); + unlink(path); assert(mkfifo(path, 0644) == 0); node = haggis_create_node(path, sha256, map); assert(node->filetype.tag == fifo); diff --git a/test/create_file_node.c b/test/create_file_node.c new file mode 100644 index 0000000..6ee15ef --- /dev/null +++ b/test/create_file_node.c @@ -0,0 +1,30 @@ +#include +#include +#include +#include +#include + +#include "haggis.h" + +int main() { + haggis_linkmap *map; + haggis_node *node; + char *path = "create_dev_node.c"; + uint8_t sum[] = {244, 223, 223, 246, 142, 83, 37, 211, 255, 37, 242, + 205, 42, 85, 31, 70, 231, 76, 202, 195, 160, 254, 206, + 31, 9, 11, 16, 182, 166, 176, 237, 131}; + int i; + + map = haggis_linkmap_init(); + assert(map != NULL); + node = haggis_create_node(path, sha256, map); + assert(node->filetype.tag == normal); + for (i = 0; i < 32; i++) { + assert(sum[i] == node->filetype.f_type.file.cksum.sum.sha256[i]); + } + assert(node->filetype.f_type.file.len.val == 526); + assert(memcmp(path, node->name.name, 17) == 0); + haggis_node_deinit(node); + haggis_linkmap_deinit(map); + return 0; +} \ No newline at end of file