aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2017-03-16 11:09:35 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2017-03-16 11:09:35 +0800
commitf831e0be3d7b01e8dd1774afd0eb83b783ceae0d (patch)
treec50a58994fbc9e49f82b186b1cea2dedeaabc3c2
parent40310a25937e263eb838b61a4104dc4546a45adc (diff)
downloaddexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar.gz
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar.bz2
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar.lz
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar.xz
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.tar.zst
dexon-bls-f831e0be3d7b01e8dd1774afd0eb83b783ceae0d.zip
add test for all cuvres
-rw-r--r--test/bls_if_test.cpp27
-rw-r--r--test/bls_test.cpp84
2 files changed, 77 insertions, 34 deletions
diff --git a/test/bls_if_test.cpp b/test/bls_if_test.cpp
index e93d85d..ed59396 100644
--- a/test/bls_if_test.cpp
+++ b/test/bls_if_test.cpp
@@ -2,7 +2,7 @@
#include <bls_if.h>
#include <string.h>
-CYBOZU_TEST_AUTO(bls_if)
+void bls_ifTest()
{
blsSecretKey *sec;
blsPublicKey *pub;
@@ -10,7 +10,6 @@ CYBOZU_TEST_AUTO(bls_if)
const char *msg = "this is a pen";
const size_t msgSize = strlen(msg);
- blsInit(BlsCurveFp254BNb, BLS_MAX_OP_UNIT_SIZE);
sec = blsSecretKeyCreate();
blsSecretKeyInit(sec);
blsSecretKeyPut(sec);
@@ -23,14 +22,14 @@ CYBOZU_TEST_AUTO(bls_if)
blsSecretKeySign(sec, sign, msg, msgSize);
blsSignPut(sign);
- printf("verify %d\n", blsSignVerify(sign, pub, msg, msgSize));
+ CYBOZU_TEST_ASSERT(blsSignVerify(sign, pub, msg, msgSize));
blsSignDestroy(sign);
blsPublicKeyDestroy(pub);
blsSecretKeyDestroy(sec);
}
-CYBOZU_TEST_AUTO(bls_if_use_stack)
+void bls_if_use_stackTest()
{
blsSecretKey sec;
blsPublicKey pub;
@@ -38,7 +37,6 @@ CYBOZU_TEST_AUTO(bls_if_use_stack)
const char *msg = "this is a pen";
const size_t msgSize = strlen(msg);
- blsInit(BlsCurveFp254BNb, BLS_MAX_OP_UNIT_SIZE);
blsSecretKeyInit(&sec);
blsSecretKeyPut(&sec);
@@ -48,5 +46,22 @@ CYBOZU_TEST_AUTO(bls_if_use_stack)
blsSecretKeySign(&sec, &sign, msg, msgSize);
blsSignPut(&sign);
- printf("verify %d\n", blsSignVerify(&sign, &pub, msg, msgSize));
+ CYBOZU_TEST_ASSERT(blsSignVerify(&sign, &pub, msg, msgSize));
+}
+
+CYBOZU_TEST_AUTO(all)
+{
+ const int tbl[] = {
+ BlsCurveFp254BNb,
+#if BLS_MAX_OP_UNIT_SIZE == 6
+ BlsCurveFp382_1,
+ BlsCurveFp382_2
+#endif
+ };
+ for (size_t i = 0; i < sizeof(tbl) / sizeof(tbl[0]); i++) {
+ printf("i=%d\n", (int)i);
+ blsInit(tbl[i], BLS_MAX_OP_UNIT_SIZE);
+ bls_ifTest();
+ bls_if_use_stackTest();
+ }
}
diff --git a/test/bls_test.cpp b/test/bls_test.cpp
index acac038..bc8d739 100644
--- a/test/bls_test.cpp
+++ b/test/bls_test.cpp
@@ -16,29 +16,6 @@ void streamTest(const T& t)
CYBOZU_TEST_EQUAL(t, t2);
}
-CYBOZU_TEST_AUTO(bls)
-{
- bls::init(bls::CurveFp254BNb);
- CYBOZU_TEST_EQUAL(bls::getOpUnitSize(), 4);
- bls::SecretKey sec;
- sec.init();
- streamTest(sec);
- bls::PublicKey pub;
- sec.getPublicKey(pub);
- streamTest(pub);
- for (int i = 0; i < 5; i++) {
- std::string m = "hello";
- m += char('0' + i);
- bls::Sign s;
- sec.sign(s, m);
- CYBOZU_TEST_ASSERT(s.verify(pub, m));
- CYBOZU_TEST_ASSERT(!s.verify(pub, m + "a"));
- streamTest(s);
- CYBOZU_BENCH_C("verify", 100, s.verify, pub, m);
- CYBOZU_BENCH_C("verify", 100, s.verify, pub, "abc");
- }
-}
-
template<class T>
void testSet()
{
@@ -66,7 +43,7 @@ void testSet()
}
}
-CYBOZU_TEST_AUTO(id)
+void IdTestBN256()
{
bls::Id id;
CYBOZU_TEST_ASSERT(id.isZero());
@@ -82,12 +59,41 @@ CYBOZU_TEST_AUTO(id)
testSet<bls::Id>();
}
-CYBOZU_TEST_AUTO(SecretKey_set)
+void SecretKeyTestBN256()
{
testSet<bls::SecretKey>();
}
-CYBOZU_TEST_AUTO(k_of_n)
+CYBOZU_TEST_AUTO(bn256)
+{
+ bls::init(bls::CurveFp254BNb);
+ IdTestBN256();
+ SecretKeyTestBN256();
+ CYBOZU_TEST_EQUAL(bls::getOpUnitSize(), 4);
+}
+
+void blsTest()
+{
+ bls::SecretKey sec;
+ sec.init();
+ streamTest(sec);
+ bls::PublicKey pub;
+ sec.getPublicKey(pub);
+ streamTest(pub);
+ for (int i = 0; i < 5; i++) {
+ std::string m = "hello";
+ m += char('0' + i);
+ bls::Sign s;
+ sec.sign(s, m);
+ CYBOZU_TEST_ASSERT(s.verify(pub, m));
+ CYBOZU_TEST_ASSERT(!s.verify(pub, m + "a"));
+ streamTest(s);
+ CYBOZU_BENCH_C("verify", 100, s.verify, pub, m);
+ CYBOZU_BENCH_C("verify", 100, s.verify, pub, "abc");
+ }
+}
+
+void k_of_nTest()
{
const std::string m = "abc";
const int n = 5;
@@ -257,7 +263,7 @@ CYBOZU_TEST_AUTO(k_of_n)
}
}
-CYBOZU_TEST_AUTO(pop)
+void popTest()
{
const size_t k = 3;
const size_t n = 6;
@@ -320,7 +326,7 @@ CYBOZU_TEST_AUTO(pop)
CYBOZU_TEST_EQUAL(s, s2);
}
-CYBOZU_TEST_AUTO(add)
+void addTest()
{
bls::SecretKey sec1, sec2;
sec1.init();
@@ -337,3 +343,25 @@ CYBOZU_TEST_AUTO(add)
sec2.sign(s2, m);
CYBOZU_TEST_ASSERT((s1 + s2).verify(pub1 + pub2, m));
}
+
+void testAll()
+{
+ blsTest();
+ k_of_nTest();
+ popTest();
+ addTest();
+}
+CYBOZU_TEST_AUTO(all)
+{
+ const int tbl[] = {
+ bls::CurveFp254BNb,
+#if BLS_MAX_OP_UNIT_SIZE == 6
+ bls::CurveFp382_1,
+ bls::CurveFp382_2
+#endif
+ };
+ for (size_t i = 0; i < CYBOZU_NUM_OF_ARRAY(tbl); i++) {
+ bls::init(tbl[i]);
+ testAll();
+ }
+}