diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-09-03 13:39:00 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-09-03 14:37:28 +0200 |
commit | face4b1257b6f897906f51510b7f4e8793e6465a (patch) | |
tree | 257e2d00f745b8174d7acf487eb9fc5c5b28731f /tests/tar_sparse_gnu1.c | |
parent | 84ff0984bb5b471d0b4cbc0b0fca156c29273bf5 (diff) |
Cleanup copy & paste mess in the tar parser test cases
Many of the patterns tested are very repetetive. This commit moves the
two common test cases out into helper functions and uses them for
the test cases.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/tar_sparse_gnu1.c')
-rw-r--r-- | tests/tar_sparse_gnu1.c | 77 |
1 files changed, 2 insertions, 75 deletions
diff --git a/tests/tar_sparse_gnu1.c b/tests/tar_sparse_gnu1.c index 9bfd5b5..1e74969 100644 --- a/tests/tar_sparse_gnu1.c +++ b/tests/tar_sparse_gnu1.c @@ -4,85 +4,12 @@ * * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> */ -#include "config.h" - -#include "tar.h" -#include "test.h" - -#define STR(x) #x -#define STRVALUE(x) STR(x) - -#define TEST_PATH STRVALUE(TESTPATH) +#include "test_tar.h" int main(void) { - tar_header_decoded_t hdr; - sparse_map_t *sparse; - FILE *fp; - TEST_ASSERT(chdir(TEST_PATH) == 0); - fp = test_open_read("sparse-files/pax-gnu0-0.tar"); - TEST_ASSERT(read_header(fp, &hdr) == 0); - TEST_EQUAL_UI(hdr.sb.st_mode, S_IFREG | 0644); - TEST_EQUAL_UI(hdr.sb.st_uid, 01750); - TEST_EQUAL_UI(hdr.sb.st_gid, 01750); - TEST_EQUAL_UI(hdr.sb.st_size, 2097152); - TEST_EQUAL_UI(hdr.actual_size, 2097152); - TEST_EQUAL_UI(hdr.record_size, 32768); - TEST_STR_EQUAL(hdr.name, "input.bin"); - TEST_ASSERT(!hdr.unknown_record); - - sparse = hdr.sparse; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 0); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 262144); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 524288); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 786432); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 1048576); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 1310720); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 1572864); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 1835008); - TEST_EQUAL_UI(sparse->count, 4096); - - sparse = sparse->next; - TEST_NOT_NULL(sparse); - TEST_EQUAL_UI(sparse->offset, 2097152); - TEST_EQUAL_UI(sparse->count, 0); - - sparse = sparse->next; - TEST_NULL(sparse); - - clear_header(&hdr); - fclose(fp); - + test_case_sparse("sparse-files/pax-gnu0-0.tar"); return EXIT_SUCCESS; } |