From 0a09df0b7aa36816e28d3fc082b0322b2ea02dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Mon, 29 Dec 2025 13:37:34 +0100 Subject: [PATCH] Support compilation with cmocka 2.0.0+ The `assert_in_range()` function was deprecated in favor of `assert_int_in_range()` and `assert_uint_in_range()`. Add compatibility shims for cmocka<2.0.0 and use the new functions. (cherry picked from commit 6843a4bd9afa0b06daac27091049427fcd5c601c) --- tests/dns/db_test.c | 7 ++++--- tests/dns/ede_test.c | 2 +- tests/dns/qp_test.c | 4 ++-- tests/dns/resolver_test.c | 4 ++-- tests/include/tests/isc.h | 10 ++++++++++ tests/isc/histo_test.c | 6 +++--- tests/isc/mem_test.c | 2 +- 7 files changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/dns/db_test.c b/tests/dns/db_test.c index 1ed7b381b1..edd2b5eb83 100644 --- a/tests/dns/db_test.c +++ b/tests/dns/db_test.c @@ -175,7 +175,7 @@ ISC_LOOP_TEST_IMPL(dns_dbfind_staleok) { count = 0; do { count++; - assert_in_range(count, 1, 21); /* loop sanity */ + assert_int_in_range(count, 1, 21); /* loop sanity */ assert_int_equal(rdataset.attributes & DNS_RDATASETATTR_STALE, 0); @@ -210,7 +210,8 @@ ISC_LOOP_TEST_IMPL(dns_dbfind_staleok) { count = 0; do { count++; - assert_in_range(count, 0, 49); /* loop sanity */ + assert_int_in_range(count, 0, 49); /* loop + sanity */ assert_int_equal(result, ISC_R_SUCCESS); assert_int_equal(rdataset.attributes & DNS_RDATASETATTR_STALE, @@ -229,7 +230,7 @@ ISC_LOOP_TEST_IMPL(dns_dbfind_staleok) { * usleep(100000) can be slightly less than 10ms so * allow the count to reach 11. */ - assert_in_range(count, 1, 11); + assert_int_in_range(count, 1, 11); assert_int_equal(result, ISC_R_NOTFOUND); break; case 2: diff --git a/tests/dns/ede_test.c b/tests/dns/ede_test.c index 76761cfb8f..b150da938d 100644 --- a/tests/dns/ede_test.c +++ b/tests/dns/ede_test.c @@ -52,7 +52,7 @@ dns_ede_test_equals(const ede_test_expected_t *expected, size_t expected_count, uint16_t code; const unsigned char *txt; - assert_in_range(count, 0, expected_count); + assert_uint_in_range(count, 0, expected_count); assert_int_equal(edns->code, DNS_OPT_EDE); code = ISC_U8TO16_BE(edns->value); diff --git a/tests/dns/qp_test.c b/tests/dns/qp_test.c index f8c0954bee..16d474262c 100644 --- a/tests/dns/qp_test.c +++ b/tests/dns/qp_test.c @@ -178,7 +178,7 @@ ISC_RUN_TEST_IMPL(qpkey_sort) { static void check_leaf(void *uctx, void *pval, uint32_t ival) { uint32_t *items = uctx; - assert_in_range(ival, 1, ITER_ITEMS - 1); + assert_uint_in_range(ival, 1, ITER_ITEMS - 1); assert_ptr_equal(items + ival, pval); } @@ -250,7 +250,7 @@ ISC_RUN_TEST_IMPL(qpiter) { while (dns_qpiter_next(&qpi, NULL, &pval, &ival) == ISC_R_SUCCESS) { - assert_in_range(ival, prev + 1, ITER_ITEMS - 1); + assert_uint_in_range(ival, prev + 1, ITER_ITEMS - 1); assert_int_equal(ival, item[ival]); assert_ptr_equal(pval, &item[ival]); order[inserted++] = ival; diff --git a/tests/dns/resolver_test.c b/tests/dns/resolver_test.c index 200c20e1c1..7524e0a364 100644 --- a/tests/dns/resolver_test.c +++ b/tests/dns/resolver_test.c @@ -161,7 +161,7 @@ ISC_LOOP_TEST_IMPL(settimeout_belowmin) { dns_resolver_settimeout(resolver, 300); timeout = dns_resolver_gettimeout(resolver); - assert_in_range(timeout, default_timeout, 3999999); + assert_uint_in_range(timeout, default_timeout, 3999999); destroy_resolver(&resolver); isc_loopmgr_shutdown(loopmgr); @@ -178,7 +178,7 @@ ISC_LOOP_TEST_IMPL(settimeout_overmax) { dns_resolver_settimeout(resolver, 4000000); timeout = dns_resolver_gettimeout(resolver); - assert_in_range(timeout, default_timeout, 3999999); + assert_uint_in_range(timeout, default_timeout, 3999999); destroy_resolver(&resolver); isc_loopmgr_shutdown(loopmgr); diff --git a/tests/include/tests/isc.h b/tests/include/tests/isc.h index 338cdf8fa3..db80233070 100644 --- a/tests/include/tests/isc.h +++ b/tests/include/tests/isc.h @@ -66,6 +66,16 @@ teardown_managers(void **state); #define TESTS_DIR "./" #endif +/* cmocka<2.0.0 compatibility */ +#ifndef assert_int_in_range +#define assert_int_in_range(value, min, max) \ + assert_in_range((value), (min), (max)) +#endif +#ifndef assert_uint_in_range +#define assert_uint_in_range(value, min, max) \ + assert_in_range((value), (min), (max)) +#endif + /* clang-format off */ /* Copied from cmocka */ #define ISC_TEST_ENTRY(name) \ diff --git a/tests/isc/histo_test.c b/tests/isc/histo_test.c index 88c322f160..f8177b11d7 100644 --- a/tests/isc/histo_test.c +++ b/tests/isc/histo_test.c @@ -213,9 +213,9 @@ ISC_RUN_TEST_IMPL(quantiles) { uint i = (quantum + base - key) * 2; /* check fenceposts */ - assert_in_range(value[i - 0], lomin, himin); - assert_in_range(value[i - 1], lomid, himid); - assert_in_range(value[i - 2], lomax, himax); + assert_uint_in_range(value[i - 0], lomin, himin); + assert_uint_in_range(value[i - 1], lomid, himid); + assert_uint_in_range(value[i - 2], lomax, himax); /* these tests can be slow */ if (isc_time_monotonic() > start + TIME_LIMIT) { diff --git a/tests/isc/mem_test.c b/tests/isc/mem_test.c index 8775407bd5..7754488fb0 100644 --- a/tests/isc/mem_test.c +++ b/tests/isc/mem_test.c @@ -470,7 +470,7 @@ ISC_RUN_TEST_IMPL(isc_mem_traceflag) { assert_non_null(p); p = strchr(p + 1, '\n'); assert_non_null(p); - assert_in_range(p, 0, buf + sizeof(buf) - 3); + assert_uint_in_range(p, 0, buf + sizeof(buf) - 3); assert_memory_equal(p + 2, "ptr ", 4); p = strchr(p + 1, '\n'); assert_non_null(p);