#include #include #include #include "haggis.h" #include "mq.h" int main() { haggis_node *node = NULL; haggis_linkmap *map = NULL; haggis_mq mq; haggis_msg *msg = NULL; char *inf = "Makefile"; int ret = 0; map = haggis_linkmap_init(); assert(map != NULL); assert(haggis_mq_init(&mq) == 0); node = haggis_create_node(inf, sha256, map, &mq); assert(node != NULL); assert(node->filetype.tag == normal); assert(memcmp(node->name.name, inf, 8) == 0); ret = haggis_extract_node("output/extracted", node, &mq); assert(ret == 0); msg = haggis_mq_pop(&mq); assert(msg->tag == NodeCreated); assert(memcmp(msg->body.f_name, inf, 8) == 0); haggis_msg_deinit(msg); msg = haggis_mq_pop(&mq); assert(msg->tag == NodeExtracted); assert(memcmp(msg->body.f_name, inf, 8) == 0); assert(mq.head == NULL); assert(mq.tail == NULL); haggis_msg_deinit(msg); haggis_node_deinit(node); haggis_linkmap_deinit(map); return 0; }