diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-04-17 09:38:43 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-04-17 09:38:43 +0200 |
commit | 15250710c63a2c3d230304e46a03532f787759fb (patch) | |
tree | 9fda47ad94248d133b7b48c67eba20d357c6694e /tests/tar_sparse_gnu2.c | |
parent | 6b3e6d299d5298a5936dbba57f67cdfc4a406789 (diff) |
tests: improve diagnostics output & make "release builds" work
This commit adds a few macros and helper functions for the unit test
programs. Those are used instead of asserts to provide more fine
grained diagnostics on the one hand and on the other hand because
they also work if NDEBUG is defined, unlike asserts that get eliminated
in that case.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/tar_sparse_gnu2.c')
-rw-r--r-- | tests/tar_sparse_gnu2.c | 172 |
1 files changed, 78 insertions, 94 deletions
diff --git a/tests/tar_sparse_gnu2.c b/tests/tar_sparse_gnu2.c index 4c8b860..84a18ec 100644 --- a/tests/tar_sparse_gnu2.c +++ b/tests/tar_sparse_gnu2.c @@ -7,157 +7,141 @@ #include "config.h" #include "tar.h" - -#include <assert.h> -#include <stdlib.h> -#include <string.h> -#include <stdio.h> +#include "test.h" #define STR(x) #x #define STRVALUE(x) STR(x) #define TEST_PATH STRVALUE(TESTPATH) -static FILE *open_read(const char *path) -{ - FILE *fp = open(path, O_RDONLY); - - if (fp == NULL) { - perror(path); - exit(EXIT_FAILURE); - } - - return fp; -} - int main(void) { tar_header_decoded_t hdr; sparse_map_t *sparse; FILE *fp; - assert(chdir(TEST_PATH) == 0); + TEST_ASSERT(chdir(TEST_PATH) == 0); - fp = open_read("sparse-files/pax-gnu0-1.tar"); - assert(read_header(fp, &hdr) == 0); - assert(hdr.sb.st_mode == (S_IFREG | 0644)); - assert(hdr.sb.st_uid == 01750); - assert(hdr.sb.st_gid == 01750); - assert(hdr.sb.st_size == 2097152); - assert(hdr.actual_size == 2097152); - assert(hdr.record_size == 32768); - assert(strcmp(hdr.name, "input.bin") == 0); - assert(!hdr.unknown_record); + fp = test_open_read("sparse-files/pax-gnu0-1.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; - assert(sparse != NULL); - assert(sparse->offset == 0); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 0); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 262144); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 262144); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 524288); - assert(sparse->count == 4096); + TSET_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 524288); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 786432); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 786432); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1048576); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1048576); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1310720); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1310720); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1572864); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1572864); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1835008); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1835008); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 2097152); - assert(sparse->count == 0); + TEST_NOT_NULL(sparse != NULL); + TEST_EQUAL_UI(sparse->offset, 2097152); + TEST_EQUAL_UI(sparse->count, 0); sparse = sparse->next; - assert(sparse == NULL); + TEST_NULL(sparse); clear_header(&hdr); fclose(fp); - fp = open_read("sparse-files/pax-gnu1-0.tar"); - assert(read_header(fp, &hdr) == 0); - assert(hdr.sb.st_mode == (S_IFREG | 0644)); - assert(hdr.sb.st_uid == 01750); - assert(hdr.sb.st_gid == 01750); - assert(hdr.sb.st_size == 2097152); - assert(hdr.actual_size == 2097152); - assert(hdr.record_size == 32768); - assert(strcmp(hdr.name, "input.bin") == 0); - assert(!hdr.unknown_record); + fp = test_open_read("sparse-files/pax-gnu1-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; - assert(sparse != NULL); - assert(sparse->offset == 0); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 0); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 262144); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 262144); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 524288); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 524288); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 786432); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 786432); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1048576); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1048576); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1310720); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1310720); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1572864); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1572864); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 1835008); - assert(sparse->count == 4096); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 1835008); + TEST_EQUAL_UI(sparse->count, 4096); sparse = sparse->next; - assert(sparse != NULL); - assert(sparse->offset == 2097152); - assert(sparse->count == 0); + TEST_NOT_NULL(sparse); + TEST_EQUAL_UI(sparse->offset, 2097152); + TEST_EQUAL_UI(sparse->count, 0); sparse = sparse->next; - assert(sparse == NULL); + TEST_NULL(sparse); clear_header(&hdr); fclose(fp); |