#include <unistd.h>
#include <thread>
+#include "dns_random.hh"
#include "rec-tcounters.hh"
static rec::GlobalCounters global;
++tlocal.at(rec::Counter::servFails);
++tlocal.at(rec::Counter::nxDomains);
tlocal.at(rec::DoubleWAvgCounter::avgLatencyUsec).add(1.1);
- if (random() % 10000 == 0) {
+ if (dns_random(10000) == 0) {
tlocal.updateSnap();
}
}
++tlocal.at(rec::Counter::servFails);
++tlocal.at(rec::Counter::nxDomains);
tlocal.at(rec::DoubleWAvgCounter::avgLatencyUsec).add(2.2);
- if (random() % 10000 == 0) {
+ if (dns_random(10000) == 0) {
tlocal.updateSnap();
}
}
std::atomic<int> done{};
- const size_t count = 1000000;
+ const size_t count = 100;
std::thread thread1([&done] {
for (size_t i = 0; i < count; i++) {
++tlocal.at(rec::Counter::servFails);
++tlocal.at(rec::Counter::nxDomains);
tlocal.at(rec::DoubleWAvgCounter::avgLatencyUsec).add(1.1);
- if (random() % 10000 == 0) {
+ if (dns_random(10000) == 0) {
tlocal.updateSnap();
}
struct timespec interval
{
- 0, random() % 5000
+ 0, dns_random(20 * 1000 * 1000)
};
nanosleep(&interval, nullptr);
}
++tlocal.at(rec::Counter::servFails);
++tlocal.at(rec::Counter::nxDomains);
tlocal.at(rec::DoubleWAvgCounter::avgLatencyUsec).add(2.2);
- if (random() % 10000 == 0) {
+ if (dns_random(10000) == 0) {
tlocal.updateSnap();
}
struct timespec interval
{
- 0, random() % 999
+ 0, dns_random(40 * 1000 * 1000)
};
nanosleep(&interval, nullptr);
}
BOOST_CHECK(avg == 0.0 || (avg >= 1.1 && avg <= 2.2));
struct timespec interval
{
- 0, random() % 10000
+ 0, dns_random(80 * 1000 * 1000)
};
nanosleep(&interval, nullptr);
}
#include "config.h"
#endif
#include <boost/test/unit_test.hpp>
-#include "arguments.hh"
#include "dnswriter.hh"
#include "dnsrecords.hh"
#include "dns_random.hh"
uint32_t ttd = 3600;
BOOST_CHECK_EQUAL(rpc.size(), 0U);
- ::arg().set("rng") = "auto";
- ::arg().set("entropy-source") = "/dev/urandom";
-
DNSName qname("www.powerdns.com");
vector<uint8_t> packet;
DNSPacketWriter pw(packet, qname, QType::A);
uint32_t ttd = 3600;
BOOST_CHECK_EQUAL(rpc.size(), 0U);
- ::arg().set("rng") = "auto";
- ::arg().set("entropy-source") = "/dev/urandom";
-
DNSName qname("www.powerdns.com");
vector<uint8_t> packet;
DNSPacketWriter pw(packet, qname, QType::A);
uint32_t ttd = 3600;
BOOST_CHECK_EQUAL(rpc.size(), 0U);
- ::arg().set("rng") = "auto";
- ::arg().set("entropy-source") = "/dev/urandom";
-
DNSName qname("www.powerdns.com");
vector<uint8_t> packet;
DNSPacketWriter pw(packet, qname, QType::A);
uint32_t ttd = 3600;
BOOST_CHECK_EQUAL(rpc.size(), 0U);
- ::arg().set("rng") = "auto";
- ::arg().set("entropy-source") = "/dev/urandom";
-
DNSName qname("www.powerdns.com");
vector<uint8_t> packet;
DNSPacketWriter pw(packet, qname, QType::A);
#include <iomanip>
#include "logger.hh"
#include "logging.hh"
+#include "arguments.hh"
+#include "dns_random.hh"
static std::string s_timestampFormat = "%s";
static bool init_unit_test()
{
+ ::arg().set("rng") = "auto";
+ ::arg().set("entropy-source") = "/dev/urandom";
+ // Force init while w're still unthreaded
+ dns_random_uint16();
g_slog = Logging::Logger::create(loggerBackend);
reportAllTypes();
return true;