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(); }