diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-06-28 11:44:07 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-06-28 11:44:07 +0200 |
commit | 62c596a761d9a511bbf908de36e51dc76b5e3340 (patch) | |
tree | 674a704f35047b5bdc2646457ec8dd9fe6f766a5 /tests/tar_big_size.c | |
parent | 3d8415151b67ac1df1ecb370ad0ab9c808d004f0 (diff) |
Regroup tar format tests
Instead of having test cases per feature with multiple vendors, pack the
tests into test case per vendor with miltiple features.
This should make errors easier to find, since the code many vendor
extensions is closely related for all features.
E.g. breaking pax header parser is will now trigger the pax test case and
the others still work, vs all tests breaking because each feature test also
tries to read the pax version.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/tar_big_size.c')
-rw-r--r-- | tests/tar_big_size.c | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/tests/tar_big_size.c b/tests/tar_big_size.c deleted file mode 100644 index 3b5b557..0000000 --- a/tests/tar_big_size.c +++ /dev/null @@ -1,79 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -#include "util.h" -#include "tar.h" - -#include <unistd.h> -#include <assert.h> -#include <stdlib.h> -#include <string.h> -#include <fcntl.h> -#include <stdio.h> - -#define STR(x) #x -#define STRVALUE(x) STR(x) - -#define TEST_PATH STRVALUE(TESTPATH) - -static int open_read(const char *path) -{ - int fd = open(path, O_RDONLY); - - if (fd < 0) { - perror(path); - exit(EXIT_FAILURE); - } - - return fd; -} - -int main(void) -{ - tar_header_decoded_t hdr; - int fd; - - assert(chdir(TEST_PATH) == 0); - - fd = open_read("file-size/pax.tar"); - assert(read_header(fd, &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 == 8589934592); - assert(hdr.sb.st_mtime == 1542959190); - assert(hdr.sb.st_atime == 1542959522); - assert(hdr.sb.st_ctime == 1542959190); - assert(strcmp(hdr.name, "big-file.bin") == 0); - assert(!hdr.unknown_record); - clear_header(&hdr); - close(fd); - - fd = open_read("file-size/gnu.tar"); - assert(read_header(fd, &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 == 8589934592); - assert(hdr.sb.st_mtime == 013375730126); - assert(hdr.sb.st_atime == 013375730126); - assert(hdr.sb.st_ctime == 013375730126); - assert(strcmp(hdr.name, "big-file.bin") == 0); - assert(!hdr.unknown_record); - clear_header(&hdr); - close(fd); - - fd = open_read("file-size/12-digit.tar"); - assert(read_header(fd, &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 == 8589934592); - assert(hdr.sb.st_mtime == 013375730126); - assert(hdr.sb.st_atime == 013375730126); - assert(hdr.sb.st_ctime == 013375730126); - assert(strcmp(hdr.name, "big-file.bin") == 0); - assert(!hdr.unknown_record); - clear_header(&hdr); - close(fd); - - return EXIT_SUCCESS; -} |