aboutsummaryrefslogtreecommitdiff
path: root/tests/test_check.c
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-06-02 21:01:45 +0300
committerLasse Collin <lasse.collin@tukaani.org>2022-06-02 21:06:58 +0300
commit5c8ffdca20813939818843476fb212dfae8838a3 (patch)
tree58894cb1f436557ccfe832949a3af7beb085d187 /tests/test_check.c
parentTests: Convert test_block_header to tuktest. (diff)
downloadxz-5c8ffdca20813939818843476fb212dfae8838a3.tar.xz
Tests: Convert test_check to tuktest.
Thanks to Jia Tan for help with all the tests.
Diffstat (limited to '')
-rw-r--r--tests/test_check.c67
1 files changed, 33 insertions, 34 deletions
diff --git a/tests/test_check.c b/tests/test_check.c
index 58813a58..9d2d6094 100644
--- a/tests/test_check.c
+++ b/tests/test_check.c
@@ -24,65 +24,64 @@ static const uint8_t test_unaligned[12]
= { 120, 120, 120, 49, 50, 51, 52, 53, 54, 55, 56, 57 };
-static bool
+static void
test_crc32(void)
{
- static const uint32_t test_vector = 0xCBF43926;
+ // CRC32 is always enabled.
+ assert_true(lzma_check_is_supported(LZMA_CHECK_CRC32));
+
+ const uint32_t test_vector = 0xCBF43926;
// Test 1
- uint32_t crc = lzma_crc32(test_string, sizeof(test_string), 0);
- if (crc != test_vector)
- return true;
+ assert_uint_eq(lzma_crc32(test_string, sizeof(test_string), 0),
+ test_vector);
// Test 2
- crc = lzma_crc32(test_unaligned + 3, sizeof(test_string), 0);
- if (crc != test_vector)
- return true;
+ assert_uint_eq(lzma_crc32(test_unaligned + 3, sizeof(test_string), 0),
+ test_vector);
// Test 3
- crc = 0;
+ uint32_t crc = 0;
for (size_t i = 0; i < sizeof(test_string); ++i)
crc = lzma_crc32(test_string + i, 1, crc);
- if (crc != test_vector)
- return true;
-
- return false;
+ assert_uint_eq(crc, test_vector);
}
-static bool
+static void
test_crc64(void)
{
- static const uint64_t test_vector = 0x995DC9BBDF1939FA;
+ // CRC64 can be disabled.
+ if (!lzma_check_is_supported(LZMA_CHECK_CRC64))
+ assert_skip("CRC64 support is disabled");
+
+ // If CRC64 is disabled then lzma_crc64() will be missing.
+ // Using an ifdef here avoids a linker error.
+#ifdef HAVE_CHECK_CRC64
+ const uint64_t test_vector = 0x995DC9BBDF1939FA;
// Test 1
- uint64_t crc = lzma_crc64(test_string, sizeof(test_string), 0);
- if (crc != test_vector)
- return true;
+ assert_uint_eq(lzma_crc64(test_string, sizeof(test_string), 0),
+ test_vector);
// Test 2
- crc = lzma_crc64(test_unaligned + 3, sizeof(test_string), 0);
- if (crc != test_vector)
- return true;
+ assert_uint_eq(lzma_crc64(test_unaligned + 3, sizeof(test_string), 0),
+ test_vector);
// Test 3
- crc = 0;
+ uint64_t crc = 0;
for (size_t i = 0; i < sizeof(test_string); ++i)
crc = lzma_crc64(test_string + i, 1, crc);
- if (crc != test_vector)
- return true;
-
- return false;
+ assert_uint_eq(crc, test_vector);
+#endif
}
-int
-main(void)
+extern int
+main(int argc, char **argv)
{
- bool error = false;
-
- error |= test_crc32();
- error |= test_crc64();
-
- return error ? 1 : 0;
+ tuktest_start(argc, argv);
+ tuktest_run(test_crc32);
+ tuktest_run(test_crc64);
+ return tuktest_end();
}