aboutsummaryrefslogtreecommitdiff
path: root/test/src/gen
diff options
context:
space:
mode:
authorJ08nY2017-08-31 00:24:02 +0200
committerJ08nY2017-08-31 00:24:02 +0200
commitc51e20507c43df26311043ac7d86f24a2646d1e5 (patch)
tree63312e045dfd04a2a58ce09c5c027d4bbdb8011e /test/src/gen
parentd0f496ae3f0a014ad74f83ad5208b1b5bd9a42f1 (diff)
downloadecgen-c51e20507c43df26311043ac7d86f24a2646d1e5.tar.gz
ecgen-c51e20507c43df26311043ac7d86f24a2646d1e5.tar.zst
ecgen-c51e20507c43df26311043ac7d86f24a2646d1e5.zip
Implement ANSI X9.62 stdin input + tests.
Diffstat (limited to 'test/src/gen')
-rw-r--r--test/src/gen/test_seed.c56
1 files changed, 52 insertions, 4 deletions
diff --git a/test/src/gen/test_seed.c b/test/src/gen/test_seed.c
index 28c24d3..b4da7e0 100644
--- a/test/src/gen/test_seed.c
+++ b/test/src/gen/test_seed.c
@@ -7,8 +7,22 @@
#include "gen/seed.h"
#include "gen/types.h"
#include "test/default.h"
+#include "test/input.h"
+#include "test/output.h"
-TestSuite(seed, .init = default_setup, .fini = default_teardown);
+void seed_suite_setup(void) {
+ default_setup();
+ input_setup();
+ output_setup();
+}
+
+void seed_suite_teardown(void) {
+ default_teardown();
+ input_teardown();
+ output_teardown();
+}
+
+TestSuite(seed, .init = seed_suite_setup, .fini = seed_suite_teardown);
Test(seed, test_seed_random) {
curve_t curve = {};
@@ -17,7 +31,7 @@ Test(seed, test_seed_random) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
- cr_assert_str_eq(pari_sprintf("%Px", curve.seed->seed), curve.seed->raw, );
+ cr_assert_str_eq(curve.seed->raw, pari_sprintf("%Px", curve.seed->seed), );
cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
}
@@ -30,8 +44,42 @@ Test(seed, test_seed_argument) {
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
cr_assert_str_eq(curve.seed->raw, seed, );
- cr_assert_str_eq(pari_sprintf("%Px", curve.seed->seed), curve.seed->raw, );
+ cr_assert_str_eq(curve.seed->raw, pari_sprintf("%Px", curve.seed->seed), );
+ cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
+}
+
+Test(seed, test_seed_argument_hex) {
+ curve_t curve = {};
+ char *seed = "0xabcdefabcdefabcdefab";
+ config_t cfg = {.seed = seed};
+ int ret = seed_gen_argument(&curve, &cfg, NULL);
+
+ cr_assert_eq(ret, 1, );
+ cr_assert_not_null(curve.seed, );
+ cr_assert_str_eq(curve.seed->raw, pari_sprintf("%Px", curve.seed->seed), );
+ cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
+}
+
+Test(seed, test_seed_input) {
+ curve_t curve = {};
+ char *seed = "abcdefabcdefabcdefab";
+ config_t cfg = {};
+ fprintf(write_in, "%s\n", seed);
+ int ret = seed_gen_input(&curve, &cfg, NULL);
+
+ cr_assert_eq(ret, 1, );
+ cr_assert_not_null(curve.seed, );
+ cr_assert_str_eq(curve.seed->raw, seed, );
+ cr_assert_str_eq(curve.seed->raw, pari_sprintf("%Px", curve.seed->seed), );
cr_assert_eq(strlen(curve.seed->raw), curve.seed->raw_len, );
}
-Test(seed, test_seed_input) {} \ No newline at end of file
+Test(seed, test_seed_input_short) {
+ curve_t curve = {};
+ char *seed = "abcdef";
+ config_t cfg = {};
+ fprintf(write_in, "%s\n", seed);
+ int ret = seed_gen_input(&curve, &cfg, NULL);
+
+ cr_assert_eq(ret, 0, );
+} \ No newline at end of file