diff options
Diffstat (limited to 'test/src/cm/test_custom.c')
| -rw-r--r-- | test/src/cm/test_custom.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/src/cm/test_custom.c b/test/src/cm/test_custom.c new file mode 100644 index 0000000..df1ada8 --- /dev/null +++ b/test/src/cm/test_custom.c @@ -0,0 +1,47 @@ +/* + * ecgen, tool for generating Elliptic curve domain parameters + * Copyright (C) 2017 J08nY + */ + +#include <criterion/criterion.h> +#include "cm/custom.h" +#include "obj/curve.h" +#include "test/default.h" +#include "test/input.h" +#include "test/output.h" +#include "util/random.h" + +void custom_setup() { + default_setup(); + input_setup(); + output_setup(); + random_init(); +} + +void custom_teardown() { + default_teardown(); + input_teardown(); + output_teardown(); +} + +TestSuite(custom, .init = custom_setup, .fini = custom_teardown); + +Test(custom, test_curve_one) { + cfg->bits = 128; + cfg->cm_order = "263473633827487324648193013259296339349"; + GEN order = strtoi(cfg->cm_order); + + curve_t *curve = custom_curve(); + cr_assert_not_null(curve, ); + cr_assert(equalii(curve->order, order), ); + cr_assert(equalii(ellcard(curve->curve, NULL), order), ); + curve_free(&curve); +} + +Test(custom, test_curve_other) { + cfg->bits = 32; + cfg->cm_order = "2147483723"; + + curve_t *curve = custom_curve(); + cr_assert_null(curve, ); +}
\ No newline at end of file |
