diff options
author | Bernhard M. Wiedemann <githubbmw2020@lsmod.de> | 2023-01-13 06:27:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-12 21:27:42 -0800 |
commit | 45c728b00dce4af6b7f0603df0a0af4bafe6f2ad (patch) | |
tree | 7c5347d9a82babcbe31c5da37926d02ffc3032ff /cpio/test | |
parent | 4f2e2e089db86d16aefe2f9d134a0bbb8867408a (diff) | |
download | libarchive-45c728b00dce4af6b7f0603df0a0af4bafe6f2ad.tar.gz |
Fix cpio test in 2038 (#1836)
Without this patch, `bsdcpio_test_option_c` failed after 2038-01-19 with
```
.../libarchive-3.6.2/cpio/test/test_option_c.c:143: Assertion failed: t >= now - 2
.../libarchive-3.6.2/cpio/test/test_option_c.c:169: Assertion failed: t >= now - 2
.../libarchive-3.6.2/cpio/test/test_option_c.c:205: Assertion failed: t >= now - 2
```
Background:
As part of my work on reproducible builds for openSUSE, I check that
software still gives identical build results in the future.
The usual offset is +16 years, because that is how long I expect some
software will be used in some places.
This showed up failing tests in our package build.
See https://reproducible-builds.org/ for why this matters.
Diffstat (limited to 'cpio/test')
-rw-r--r-- | cpio/test/test_option_c.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/cpio/test/test_option_c.c b/cpio/test/test_option_c.c index 013caed5..dfa62c13 100644 --- a/cpio/test/test_option_c.c +++ b/cpio/test/test_option_c.c @@ -37,10 +37,10 @@ is_octal(const char *p, size_t l) return (1); } -static int +static long long int from_octal(const char *p, size_t l) { - int r = 0; + long long int r = 0; while (l > 0) { r *= 8; @@ -161,7 +161,7 @@ DEFINE_TEST(test_option_c) assertEqualInt(from_octal(e + 24, 6), uid); /* uid */ assertEqualInt(gid, from_octal(e + 30, 6)); /* gid */ assertEqualMem(e + 36, "000001", 6); /* nlink */ - failure("file entries should have rdev == 0 (dev was 0%o)", + failure("file entries should have rdev == 0 (dev was 0%llo)", from_octal(e + 6, 6)); assertEqualMem(e + 42, "000000", 6); /* rdev */ t = from_octal(e + 48, 11); /* mtime */ |