From: Otto Moerbeek Date: Tue, 13 Jun 2023 09:17:45 +0000 (+0200) Subject: Add basic test for dns_random_uint32 X-Git-Tag: rec-5.0.0-alpha1~170^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39b80bcc9898cc6f8d2858a5ac677aef1adf80df;p=thirdparty%2Fpdns.git Add basic test for dns_random_uint32 --- diff --git a/pdns/test-dns_random_hh.cc b/pdns/test-dns_random_hh.cc index 2d3af18c7f..e0211f720f 100644 --- a/pdns/test-dns_random_hh.cc +++ b/pdns/test-dns_random_hh.cc @@ -28,6 +28,25 @@ typedef accumulator_set< BOOST_AUTO_TEST_SUITE(test_dns_random_hh) +BOOST_AUTO_TEST_CASE(test_dns_random_uint32_auto_average) +{ + + ::arg().set("rng") = "auto"; + ::arg().set("entropy-source") = "/dev/urandom"; + + dns_random_init("", true); + + acc_t acc; + + for (unsigned int n = 0; n < 100000; ++n) { + acc(dns_random_unint32() / static_cast(pdns::dns_random_engine::max() + 1)); + } + BOOST_CHECK_CLOSE(0.5, median(acc), 2.0); // within 2% + BOOST_CHECK_CLOSE(0.5, mean(acc), 2.0); + + // please add covariance tests, chi-square, Kolmogorov-Smirnov +} + BOOST_AUTO_TEST_CASE(test_dns_random_auto_average) {