diff options
| author | J08nY | 2017-09-13 00:40:13 +0200 |
|---|---|---|
| committer | J08nY | 2017-09-13 00:40:13 +0200 |
| commit | 607fe7b39f4e2ea579c935509c6e4dc68b43c457 (patch) | |
| tree | a27bf266515b6495c836de9a1ccb1f6398b1ecde /test/src | |
| parent | cceec4063e74bb29c79500f38aa40fc466180a0b (diff) | |
| download | ecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.tar.gz ecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.tar.zst ecgen-607fe7b39f4e2ea579c935509c6e4dc68b43c457.zip | |
Diffstat (limited to 'test/src')
| -rw-r--r-- | test/src/gen/test_seed.c | 24 | ||||
| -rw-r--r-- | test/src/util/test_binascii.c | 69 | ||||
| -rw-r--r-- | test/src/util/test_bits.c | 14 |
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; |
