summaryrefslogtreecommitdiff
path: root/gtests/freebl_gtest
diff options
context:
space:
mode:
authorMark Goodwin <mgoodwin@mozilla.com>2017-05-10 15:09:13 -0700
committerMark Goodwin <mgoodwin@mozilla.com>2017-05-10 15:09:13 -0700
commit88ced16ab62dcb2b1d1a9489961394107db0cbb4 (patch)
tree0d14a7ce960310f425e5843842b62a9853e958f9 /gtests/freebl_gtest
parent4c381aa98b79284f1f458b0f583ff596c1cd4550 (diff)
downloadnss-hg-88ced16ab62dcb2b1d1a9489961394107db0cbb4.tar.gz
Bug 1339464 - Fix DH_GenParam, r=franziskus
Summary: Fix DH_GenParam by repeating mpp_make_prime calls on failure Differential Revision: https://nss-review.dev.mozaws.net/D308
Diffstat (limited to 'gtests/freebl_gtest')
-rw-r--r--gtests/freebl_gtest/dh_unittest.cc26
-rw-r--r--gtests/freebl_gtest/freebl_gtest.gyp1
2 files changed, 27 insertions, 0 deletions
diff --git a/gtests/freebl_gtest/dh_unittest.cc b/gtests/freebl_gtest/dh_unittest.cc
new file mode 100644
index 000000000..498ca204b
--- /dev/null
+++ b/gtests/freebl_gtest/dh_unittest.cc
@@ -0,0 +1,26 @@
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this file,
+// You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include "blapi.h"
+#include "gtest/gtest.h"
+
+namespace nss_test {
+
+class DHTest : public ::testing::Test {
+ protected:
+ void TestGenParamSuccess(int size) {
+ DHParams *params;
+ for (int i = 0; i < 10; i++) {
+ EXPECT_EQ(SECSuccess, DH_GenParam(size, &params));
+ PORT_FreeArena(params->arena, PR_TRUE);
+ }
+ }
+};
+
+// Test parameter generation for minimum and some common key sizes
+TEST_F(DHTest, DhGenParamSuccessTest16) { TestGenParamSuccess(16); }
+TEST_F(DHTest, DhGenParamSuccessTest224) { TestGenParamSuccess(224); }
+TEST_F(DHTest, DhGenParamSuccessTest256) { TestGenParamSuccess(256); }
+
+} // nss_test
diff --git a/gtests/freebl_gtest/freebl_gtest.gyp b/gtests/freebl_gtest/freebl_gtest.gyp
index d285954f9..546e69aa9 100644
--- a/gtests/freebl_gtest/freebl_gtest.gyp
+++ b/gtests/freebl_gtest/freebl_gtest.gyp
@@ -12,6 +12,7 @@
'type': 'executable',
'sources': [
'mpi_unittest.cc',
+ 'dh_unittest.cc',
'<(DEPTH)/gtests/common/gtests.cc'
],
'dependencies': [