aboutsummaryrefslogtreecommitdiff
path: root/test/src
diff options
context:
space:
mode:
authorJ08nY2017-09-13 00:40:13 +0200
committerJ08nY2017-09-13 00:40:13 +0200
commit607fe7b39f4e2ea579c935509c6e4dc68b43c457 (patch)
treea27bf266515b6495c836de9a1ccb1f6398b1ecde /test/src
parentcceec4063e74bb29c79500f38aa40fc466180a0b (diff)
downloadecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.tar.gz
ecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.tar.zst
ecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.zip
Diffstat (limited to 'test/src')
-rw-r--r--test/src/gen/test_seed.c24
-rw-r--r--test/src/util/test_binascii.c69
-rw-r--r--test/src/util/test_bits.c14
3 files changed, 25 insertions, 82 deletions
diff --git a/test/src/gen/test_seed.c b/test/src/gen/test_seed.c
index 487311c..e5bf6bd 100644
--- a/test/src/gen/test_seed.c
+++ b/test/src/gen/test_seed.c
@@ -4,9 +4,9 @@
*/
#include <criterion/criterion.h>
-#include <gen/types.h>
#include "gen/seed.h"
-#include "gen/types.h"
+#include "util/bits.h"
+#include "util/memory.h"
#include "test/default.h"
#include "test/input.h"
#include "test/output.h"
@@ -32,8 +32,6 @@ Test(seed, test_seed_random) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
- cr_assert_str_eq(curve.seed->hex, pari_sprintf("%Px", curve.seed->seed), );
- cr_assert_eq(strlen(curve.seed->hex), curve.seed->hex_len, );
seed_free(&curve.seed);
}
@@ -46,10 +44,10 @@ Test(seed, test_seed_argument) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
- cr_assert_str_eq(curve.seed->hex, seed, );
- cr_assert_str_eq(curve.seed->hex, pari_sprintf("%Px", curve.seed->seed), );
- cr_assert_eq(strlen(curve.seed->hex), curve.seed->hex_len, );
+ char *hex = bits_to_hex(curve.seed->seed);
+ cr_assert_str_eq(hex, seed, );
+ try_free(hex);
seed_free(&curve.seed);
}
@@ -61,10 +59,10 @@ Test(seed, test_seed_argument_hex) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
- cr_assert_str_eq(curve.seed->hex, seed + 2, );
- cr_assert_str_eq(curve.seed->hex, pari_sprintf("%Px", curve.seed->seed), );
- cr_assert_eq(strlen(curve.seed->hex), curve.seed->hex_len, );
+ char *hex = bits_to_hex(curve.seed->seed);
+ cr_assert_str_eq(hex, seed + 2, );
+ try_free(hex);
seed_free(&curve.seed);
}
@@ -77,10 +75,10 @@ Test(seed, test_seed_input) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
- cr_assert_str_eq(curve.seed->hex, seed, );
- cr_assert_str_eq(curve.seed->hex, pari_sprintf("%Px", curve.seed->seed), );
- cr_assert_eq(strlen(curve.seed->hex), curve.seed->hex_len, );
+ char *hex = bits_to_hex(curve.seed->seed);
+ cr_assert_str_eq(hex, seed, );
+ try_free(hex);
seed_free(&curve.seed);
}
diff --git a/test/src/util/test_binascii.c b/test/src/util/test_binascii.c
deleted file mode 100644
index bad47a5..0000000
--- a/test/src/util/test_binascii.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * ecgen, tool for generating Elliptic curve domain parameters
- * Copyright (C) 2017 J08nY
- */
-
-#include <criterion/criterion.h>
-#include <pari/pari.h>
-#include "test/default.h"
-#include "util/binascii.h"
-#include "util/memory.h"
-
-TestSuite(binascii, .init = default_setup, .fini = default_teardown);
-
-Test(binascii, test_itob_big) {
- GEN i = stoi((5 << 8) | 4);
- unsigned char *bytes = binascii_itob(i, ENDIAN_BIG);
- size_t len = binascii_blen(i);
- cr_assert_eq(len, 2,);
- cr_assert_eq(bytes[0], 5,);
- cr_assert_eq(bytes[1], 4,);
- try_free(bytes);
-}
-
-Test(binascii, test_itob_little) {
- GEN i = stoi((5 << 8) | 4);
- unsigned char *bytes = binascii_itob(i, ENDIAN_LITTLE);
- size_t len = binascii_blen(i);
- cr_assert_eq(len, 2,);
- cr_assert_eq(bytes[0], 4,);
- cr_assert_eq(bytes[1], 5,);
- try_free(bytes);
-}
-
-Test(binascii, test_btoi_big) {
- unsigned char bytes[] = {5, 4};
- GEN i = binascii_btoi(bytes, 2, ENDIAN_BIG);
- GEN expected = stoi((5 << 8) | 4);
- cr_assert(equalii(expected, i),);
-}
-
-Test(binascii, test_btoi_little) {
- unsigned char bytes[] = {5, 4};
- GEN i = binascii_btoi(bytes, 2, ENDIAN_LITTLE);
- GEN expected = stoi((4 << 8) | 5);
- cr_assert(equalii(expected, i),);
-}
-
-Test(binascii, test_both) {
- GEN expected = stoi((5 << 8) | 4);
- unsigned char *bytes = binascii_itob(expected, ENDIAN_BIG);
- size_t len = binascii_blen(expected);
- GEN i = binascii_btoi(bytes, len, ENDIAN_BIG);
- cr_assert_eq(len, 2,);
- cr_assert(equalii(expected, i),);
- try_free(bytes);
-
- unsigned char other_bytes[] = {5, 4, 3, 2, 1, 128};
- GEN j = binascii_btoi(other_bytes, 6, ENDIAN_BIG);
- unsigned char *result_bytes = binascii_itob(j, ENDIAN_BIG);
- size_t other_len = binascii_blen(j);
- cr_assert_eq(other_len, 6,);
- cr_assert_eq(result_bytes[0], 5,);
- cr_assert_eq(result_bytes[1], 4,);
- cr_assert_eq(result_bytes[2], 3,);
- cr_assert_eq(result_bytes[3], 2,);
- cr_assert_eq(result_bytes[4], 1,);
- cr_assert_eq(result_bytes[5], 128,);
- try_free(result_bytes);
-} \ No newline at end of file
diff --git a/test/src/util/test_bits.c b/test/src/util/test_bits.c
index 1a408b1..c383660 100644
--- a/test/src/util/test_bits.c
+++ b/test/src/util/test_bits.c
@@ -377,6 +377,20 @@ Test(bits, test_bits_shorten) {
bits_free(&shorter);
}
+Test(bits, test_bits_sha1) {
+ char *text = "The quick brown fox jumps over the lazy dog";
+ bits_t *bits = bits_from_raw((unsigned char *)text, strlen(text) * 8);
+ unsigned char hashout[20] = {};
+ bits_sha1(bits, hashout);
+
+ unsigned char expected[] = {0x2f, 0xd4, 0xe1, 0xc6, 0x7a, 0x2d, 0x28, 0xfc,
+ 0xed, 0x84, 0x9e, 0xe1, 0xbb, 0x76, 0xe7, 0x39,
+ 0x1b, 0x93, 0xeb, 0x12};
+ for (size_t i = 0; i < 20; ++i) {
+ cr_assert_eq(hashout[i], expected[i],);
+ }
+}
+
Test(bits, test_bits_eq) {
bits_t *bits = bits_new(6);
bits->bits[0] = 0b10000000;