From f831e0be3d7b01e8dd1774afd0eb83b783ceae0d Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Thu, 16 Mar 2017 12:09:35 +0900 Subject: add test for all cuvres --- test/bls_if_test.cpp | 27 +++++++++++++---- test/bls_test.cpp | 84 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 77 insertions(+), 34 deletions(-) (limited to 'test') 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 #include -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 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(); } -CYBOZU_TEST_AUTO(SecretKey_set) +void SecretKeyTestBN256() { testSet(); } -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(); + } +} -- cgit v1.2.3