From 235d8f28f8b7de0f1fea3f8fecc5af6c3917c650 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 16 Dec 2013 16:03:54 -0500 Subject: Increase random data provider support Add a method to get the current random data provider, and document and test the method for resetting it. --- libtests/random.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libtests') diff --git a/libtests/random.cc b/libtests/random.cc index 0099844b..70e5135e 100644 --- a/libtests/random.cc +++ b/libtests/random.cc @@ -24,6 +24,7 @@ class BogusRandomDataProvider: public RandomDataProvider int main() { + RandomDataProvider* orig_rdp = QUtil::getRandomDataProvider(); long r1 = QUtil::random(); long r2 = QUtil::random(); if (r1 == r2) @@ -48,6 +49,11 @@ int main() #endif BogusRandomDataProvider brdp; QUtil::setRandomDataProvider(&brdp); + if (QUtil::getRandomDataProvider() != &brdp) + { + std::cout << "fail: getRandomDataProvider didn't" + " return our provider\n"; + } r1 = QUtil::random(); r2 = QUtil::random(); if (r1 != r2) @@ -63,6 +69,12 @@ int main() { std::cout << "fail: bogus random didn't provide correct bytes\n"; } + QUtil::setRandomDataProvider(0); + if (QUtil::getRandomDataProvider() != orig_rdp) + { + std::cout << "fail: passing null to setRandomDataProvider " + "didn't reset the random data provider\n"; + } std::cout << "random: end of tests\n"; return 0; } -- cgit v1.2.3-70-g09d2