diff options
author | Jay Berkenbilt <ejb@ql.org> | 2013-12-16 22:03:54 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2013-12-16 22:21:28 +0100 |
commit | 235d8f28f8b7de0f1fea3f8fecc5af6c3917c650 (patch) | |
tree | 519f2f91f021a5fa20794fe9b3bc3ace611a3513 /libtests | |
parent | b8b273d14d86e44101ffa73cecd38e49d1d775a5 (diff) | |
download | qpdf-235d8f28f8b7de0f1fea3f8fecc5af6c3917c650.tar.zst |
Increase random data provider support
Add a method to get the current random data provider, and document and
test the method for resetting it.
Diffstat (limited to 'libtests')
-rw-r--r-- | libtests/random.cc | 12 |
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; } |