From 39b80bcc9898cc6f8d2858a5ac677aef1adf80df Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Tue, 13 Jun 2023 11:17:45 +0200 Subject: [PATCH] Add basic test for dns_random_uint32 --- pdns/test-dns_random_hh.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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) { -- 2.47.2