summaryrefslogtreecommitdiffstats
path: root/libtests/random.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libtests/random.cc')
-rw-r--r--libtests/random.cc12
1 files changed, 12 insertions, 0 deletions
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;
}