From c5c447d5c501959d87cd7c1864f78707a21cc88e Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Thu, 2 Nov 2023 00:12:37 +0000 Subject: [PATCH] Complete pakrd_test implementation --- src/pakrd_test.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/pakrd_test.c b/src/pakrd_test.c index 6102ddc..0bae4bb 100644 --- a/src/pakrd_test.c +++ b/src/pakrd_test.c @@ -1,4 +1,6 @@ +#include "io.h" #include "pak.h" +#include "test_utils.h" #include #include @@ -10,5 +12,40 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } + asset_t assets[] = { + (asset_t){.name = "file01", .contents = "Hello\n"}, + (asset_t){.name = "name.txt", .contents = "Abdelrahman\n"}, + (asset_t){.name = "file02", .contents = "This is the second file\n"}, + }; + + for (u64 i = 0; i < ARRLEN(assets); ++i) { + buf_t *buf = read_file_from_pack(pack, assets[i].name); + if (!buf || buf->size == 0) { + printf("Failed to read file %s\n", assets[i].name); + + return EXIT_FAILURE; + } + + if (!(STREQ((char *)(buf->data), assets[i].contents))) { + printf("File contents mismatch for file %s\n", assets[i].name); + + return EXIT_FAILURE; + } + + close_pack_file(&buf); + if (buf) { + printf("Failed to close file %s\n", assets[i].name); + + return EXIT_FAILURE; + } + } + + close_asset_pack(&pack); + if (pack) { + printf("Failed to close asset pack"); + + return EXIT_FAILURE; + } + return EXIT_SUCCESS; }