summaryrefslogtreecommitdiff
path: root/libs/zip/test/test_offset.c
diff options
context:
space:
mode:
Diffstat (limited to 'libs/zip/test/test_offset.c')
-rw-r--r--libs/zip/test/test_offset.c98
1 files changed, 0 insertions, 98 deletions
diff --git a/libs/zip/test/test_offset.c b/libs/zip/test/test_offset.c
deleted file mode 100644
index d4abdc1..0000000
--- a/libs/zip/test/test_offset.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <zip.h>
-
-#include "minunit.h"
-
-#if defined(_WIN32) || defined(_WIN64)
-#include <io.h>
-
-#define MKTEMP _mktemp
-#define UNLINK _unlink
-#else
-#define MKTEMP mkstemp
-#define UNLINK unlink
-#endif
-
-static char ZIPNAME[L_tmpnam + 1] = {0};
-
-#define HEADERDATA1 "this precedes the zip header"
-#define TESTDATA1 "Some test data 1...\0"
-#define TESTDATA2 "Some test data 2...\0"
-#define CRC32DATA1 2220805626
-#define CRC32DATA2 2532008468
-
-void test_setup(void) {
- strncpy(ZIPNAME, "z-XXXXXX\0", L_tmpnam);
- MKTEMP(ZIPNAME);
-
- FILE *fp = fopen(ZIPNAME, "wb");
- mu_check(fp != NULL);
- fwrite(HEADERDATA1, 1, strlen(HEADERDATA1), fp);
-
- struct zip_t *zip = zip_cstream_open(fp, ZIP_DEFAULT_COMPRESSION_LEVEL, 'w');
- mu_check(zip != NULL);
-
- mu_assert_int_eq(0, zip_entry_open(zip, "test/test-1.txt"));
- mu_assert_int_eq(0, zip_entry_write(zip, TESTDATA1, strlen(TESTDATA1)));
- mu_assert_int_eq(0, zip_entry_close(zip));
-
- zip_close(zip);
- fclose(fp);
-
- zip = zip_open(ZIPNAME, ZIP_DEFAULT_COMPRESSION_LEVEL, 'a');
- mu_check(zip != NULL);
-
- mu_assert_int_eq(0, zip_entry_open(zip, "test/test-2.txt"));
- mu_assert_int_eq(0, zip_entry_write(zip, TESTDATA2, strlen(TESTDATA2)));
- mu_assert_int_eq(0, zip_entry_close(zip));
-
- zip_close(zip);
-}
-
-void test_teardown(void) { remove(ZIPNAME); }
-
-MU_TEST(test_read) {
- char *buf = NULL;
- ssize_t bufsize;
- size_t buftmp;
- uint64_t archive_offset;
-
- struct zip_t *zip = zip_open(ZIPNAME, 0, 'r');
- mu_check(zip != NULL);
-
- zip_offset(zip, &archive_offset);
- mu_assert_int_eq(strlen(HEADERDATA1), archive_offset);
-
- mu_assert_int_eq(2, zip_entries_total(zip));
-
- mu_assert_int_eq(0, zip_entry_open(zip, "test/test-1.txt"));
- mu_assert_int_eq(strlen(TESTDATA1), zip_entry_size(zip));
- mu_check(CRC32DATA1 == zip_entry_crc32(zip));
- bufsize = zip_entry_read(zip, (void **)&buf, &buftmp);
- mu_assert_int_eq(strlen(TESTDATA1), bufsize);
- mu_assert_int_eq((size_t)bufsize, buftmp);
- mu_assert_int_eq(0, strncmp(buf, TESTDATA1, bufsize));
- mu_assert_int_eq(0, zip_entry_close(zip));
- zip_close(zip);
- free(buf);
- buf = NULL;
-}
-
-MU_TEST_SUITE(test_offset_suite) {
- MU_SUITE_CONFIGURE(&test_setup, &test_teardown);
-
- MU_RUN_TEST(test_read);
-}
-
-#define UNUSED(x) (void)x
-
-int main(int argc, char *argv[]) {
- UNUSED(argc);
- UNUSED(argv);
-
- MU_RUN_SUITE(test_offset_suite);
- MU_REPORT();
- return MU_EXIT_CODE;
-} \ No newline at end of file