aboutsummaryrefslogtreecommitdiff
path: root/test/src
diff options
context:
space:
mode:
Diffstat (limited to 'test/src')
-rw-r--r--test/src/exhaustive/test_ansi.c44
-rw-r--r--test/src/gen/test_gp.c48
-rw-r--r--test/src/gen/test_point.c18
-rw-r--r--test/src/io/test_cli.c30
-rw-r--r--test/src/math/test_subgroups.c25
-rw-r--r--test/src/test/default.c2
-rw-r--r--test/src/test/input.c4
-rw-r--r--test/src/test/output.c4
8 files changed, 71 insertions, 104 deletions
diff --git a/test/src/exhaustive/test_ansi.c b/test/src/exhaustive/test_ansi.c
index 3e3e4e1..370cf7e 100644
--- a/test/src/exhaustive/test_ansi.c
+++ b/test/src/exhaustive/test_ansi.c
@@ -5,6 +5,7 @@
#include <criterion/criterion.h>
#include <criterion/parameterized.h>
+#include <misc/config.h>
#include "exhaustive/ansi.h"
#include "gen/field.h"
#include "gen/seed.h"
@@ -32,8 +33,8 @@ TestSuite(ansi, .init = ansi_suite_setup, .fini = ansi_suite_teardown);
Test(ansi, test_seed_random) {
curve_t curve = {};
- config_t cfg = {.bits = 256};
- int ret = ansi_gen_seed_random(&curve, &cfg, NULL, OFFSET_SEED);
+ cfg->bits = 256;
+ int ret = ansi_gen_seed_random(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
@@ -44,8 +45,9 @@ Test(ansi, test_seed_random) {
Test(ansi, test_seed_argument) {
curve_t curve = {};
char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd";
- config_t cfg = {.seed = seed, .bits = 256};
- int ret = ansi_gen_seed_argument(&curve, &cfg, NULL, OFFSET_SEED);
+ cfg->seed = seed;
+ cfg->bits = 256;
+ int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
@@ -59,8 +61,9 @@ Test(ansi, test_seed_argument) {
Test(ansi, test_seed_argument_hex) {
curve_t curve = {};
char *seed = "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd";
- config_t cfg = {.seed = seed, .bits = 256};
- int ret = ansi_gen_seed_argument(&curve, &cfg, NULL, OFFSET_SEED);
+ cfg->seed = seed;
+ cfg->bits = 256;
+ int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
@@ -74,9 +77,9 @@ Test(ansi, test_seed_argument_hex) {
Test(ansi, test_seed_input) {
curve_t curve = {};
char *seed = "abcdefabcdefabcdefabcdefabcdefabcdefabcd";
- config_t cfg = {.bits = 256};
+ cfg->bits = 256;
fprintf(write_in, "%s\n", seed);
- int ret = ansi_gen_seed_input(&curve, &cfg, NULL, OFFSET_SEED);
+ int ret = ansi_gen_seed_input(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
cr_assert_not_null(curve.seed, );
@@ -90,9 +93,8 @@ Test(ansi, test_seed_input) {
Test(ansi, test_seed_input_short) {
curve_t curve = {};
char *seed = "abcdef";
- config_t cfg = {};
fprintf(write_in, "%s\n", seed);
- int ret = ansi_gen_seed_input(&curve, &cfg, NULL, OFFSET_SEED);
+ int ret = ansi_gen_seed_input(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 0, );
}
@@ -167,18 +169,17 @@ ParameterizedTestParameters(ansi, test_seed_prime_examples) {
return cr_make_param_array(struct prime_params, params, nb_params, NULL);
}
ParameterizedTest(struct prime_params *param, ansi, test_seed_prime_examples) {
- config_t cfg = {};
- cfg.bits = param->bits;
- cfg.field = FIELD_PRIME;
- cfg.seed = param->seed;
+ cfg->bits = param->bits;
+ cfg->field = FIELD_PRIME;
+ cfg->seed = param->seed;
curve_t curve = {};
bits_t *p = bits_from_hex(param->p);
curve.field = bits_to_i(p);
- int ret = ansi_gen_seed_argument(&curve, &cfg, NULL, OFFSET_SEED);
+ int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
- ret = ansi_gen_equation(&curve, &cfg, NULL, OFFSET_SEED);
+ ret = ansi_gen_equation(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
GEN expected_r = bits_to_i(bits_from_hex(param->r));
cr_assert(gequal(curve.seed->ansi.r, expected_r), );
@@ -268,20 +269,19 @@ ParameterizedTestParameters(ansi, test_seed_binary_examples) {
}
ParameterizedTest(struct binary_params *param, ansi,
test_seed_binary_examples) {
- config_t cfg = {};
- cfg.bits = param->bits;
- cfg.field = FIELD_BINARY;
- cfg.seed = param->seed;
+ cfg->bits = param->bits;
+ cfg->field = FIELD_BINARY;
+ cfg->seed = param->seed;
curve_t curve = {};
curve.field = poly_gen(&param->field);
GEN expected_b = bits_to_i(bits_from_hex(param->b));
bits_t *b = bits_from_i(expected_b);
- int ret = ansi_gen_seed_argument(&curve, &cfg, NULL, OFFSET_SEED);
+ int ret = ansi_gen_seed_argument(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
- ret = ansi_gen_equation(&curve, &cfg, NULL, OFFSET_SEED);
+ ret = ansi_gen_equation(&curve, NULL, OFFSET_SEED);
cr_assert_eq(ret, 1, );
GEN curve_b = field_elementi(curve.b);
cr_assert(gequal(curve_b, expected_b), );
diff --git a/test/src/gen/test_gp.c b/test/src/gen/test_gp.c
index 3f7a777..8ec5e2c 100644
--- a/test/src/gen/test_gp.c
+++ b/test/src/gen/test_gp.c
@@ -12,10 +12,9 @@ TestSuite(gp, .init = default_setup, .fini = default_teardown);
Test(gp, test_gp_gen_seed) {
curve_t curve = {0};
- config_t cfg = {};
arg_t arg = {.args = "() -> { return(Vecsmall([1,0])); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_SEED);
+ int ret = gp_gen(&curve, &arg, OFFSET_SEED);
cr_assert_eq(ret, 1,);
cr_assert_not_null(curve.seed,);
cr_assert_not_null(curve.seed->seed,);
@@ -24,40 +23,36 @@ Test(gp, test_gp_gen_seed) {
Test(gp, test_gp_gen_field) {
curve_t curve = {0};
- config_t cfg = {};
arg_t arg = {.args = "(seed) -> { return(19); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_FIELD);
+ int ret = gp_gen(&curve, &arg, OFFSET_FIELD);
cr_assert_eq(ret, 1,);
cr_assert(gequal(curve.field, stoi(19)),);
}
Test(gp, test_gp_gen_a) {
curve_t curve = {.field = stoi(19)};
- config_t cfg = {};
arg_t arg = {.args = "(seed, field) -> { return(Mod(3,field)); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_A);
+ int ret = gp_gen(&curve, &arg, OFFSET_A);
cr_assert_eq(ret, 1,);
cr_assert(gequal(curve.a, mkintmodu(3, 19)),);
}
Test(gp, test_gp_gen_b) {
curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19)};
- config_t cfg = {};
arg_t arg = {.args = "(seed, field, a) -> { return(a * 2); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_B);
+ int ret = gp_gen(&curve, &arg, OFFSET_B);
cr_assert_eq(ret, 1,);
cr_assert(gequal(curve.b, mkintmodu(6, 19)),);
}
Test(gp, test_gp_gen_curve) {
curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19)};
- config_t cfg = {};
arg_t arg = {.args = "(seed, field, a, b) -> { return(ellinit([a,b], field)); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_CURVE);
+ int ret = gp_gen(&curve, &arg, OFFSET_CURVE);
cr_assert_eq(ret, 1,);
cr_assert(gequal(curve.curve, ellinit(mkvec2(curve.a, curve.b), curve.field, 0)),);
}
@@ -65,10 +60,9 @@ Test(gp, test_gp_gen_curve) {
Test(gp, test_gp_gen_order) {
curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
.curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0)};
- config_t cfg = {};
arg_t arg = {.args = "(seed, field, a, b, curve) -> { return(ellsea(curve)); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_ORDER);
+ int ret = gp_gen(&curve, &arg, OFFSET_ORDER);
cr_assert_eq(ret, 1,);
cr_assert(gequal(ellsea(curve.curve, 0), curve.order),);
}
@@ -77,10 +71,9 @@ Test(gp, test_gp_gen_generators) {
curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
.curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0), .order = stoi(16)
};
- config_t cfg = {};
arg_t arg = {.args = "(seed, field, a, b, curve, order) -> { return(ellgenerators(curve)); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_GENERATORS);
+ int ret = gp_gen(&curve, &arg, OFFSET_GENERATORS);
cr_assert_eq(ret, 1,);
GEN ellgens = ellgenerators(curve.curve);
@@ -100,10 +93,9 @@ Test(gp, test_gp_gen_points) {
curve.generators = generators;
curve.ngens = 1;
- config_t cfg = {};
arg_t arg = {.args = "(seed, field, a, b, curve, order, gens) -> { return([ellmul(curve,gens[1],2)]); }", .nargs = 1};
- int ret = gp_gen(&curve, &cfg, &arg, OFFSET_POINTS);
+ int ret = gp_gen(&curve, &arg, OFFSET_POINTS);
cr_assert_eq(ret, 1,);
cr_assert_eq(curve.npoints, 1,);
cr_assert(gequal(curve.points[0]->point, ellmul(curve.curve, gen.point, stoi(2))),);
@@ -113,10 +105,9 @@ Test(gp, test_gp_check_seed) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed};
- config_t cfg = {};
arg_t arg = {.args="(seed) -> { return(1);}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_SEED);
+ int ret = gp_check(&curve, &arg, OFFSET_SEED);
cr_assert_eq(ret, 1,);
}
@@ -124,10 +115,9 @@ Test(gp, test_gp_check_field) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed, .field = stoi(19)};
- config_t cfg = {};
arg_t arg = {.args="(seed, field) -> { if(field == 19, return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_FIELD);
+ int ret = gp_check(&curve, &arg, OFFSET_FIELD);
cr_assert_eq(ret, 1,);
}
@@ -135,10 +125,9 @@ Test(gp, test_gp_check_a) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19)};
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a) -> { if(a == Mod(3,19), return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_A);
+ int ret = gp_check(&curve, &arg, OFFSET_A);
cr_assert_eq(ret, 1,);
}
@@ -146,10 +135,9 @@ Test(gp, test_gp_check_b) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19)};
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a, b) -> { if(b == Mod(5,19), return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_B);
+ int ret = gp_check(&curve, &arg, OFFSET_B);
cr_assert_eq(ret, 1,);
}
@@ -158,10 +146,9 @@ Test(gp, test_gp_check_curve) {
curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19),
.curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0)};
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a, b, curve) -> { if(curve == ellinit([3, 5], 19), return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_CURVE);
+ int ret = gp_check(&curve, &arg, OFFSET_CURVE);
cr_assert_eq(ret, 1,);
}
@@ -170,10 +157,9 @@ Test(gp, test_gp_check_order) {
curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19),
.curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0), .order = stoi(16)};
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a, b, curve, order) -> { if(order == 16, return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_ORDER);
+ int ret = gp_check(&curve, &arg, OFFSET_ORDER);
cr_assert_eq(ret, 1,);
}
@@ -187,10 +173,9 @@ Test(gp, test_gp_check_generators) {
curve.generators = generators;
curve.ngens = 1;
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a, b, curve, order, gens) -> { if(gens == ellgenerators(curve), return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_GENERATORS);
+ int ret = gp_check(&curve, &arg, OFFSET_GENERATORS);
cr_assert_eq(ret, 1,);
}
@@ -206,9 +191,8 @@ Test(gp, test_gp_check_points) {
curve.points = generators;
curve.npoints = 1;
- config_t cfg = {};
arg_t arg = {.args="(seed, field, a, b, curve, order, gens, points) -> { if(points == ellgenerators(curve), return(1));}"};
- int ret = gp_check(&curve, &cfg, &arg, OFFSET_POINTS);
+ int ret = gp_check(&curve, &arg, OFFSET_POINTS);
cr_assert_eq(ret, 1,);
} \ No newline at end of file
diff --git a/test/src/gen/test_point.c b/test/src/gen/test_point.c
index d185e9a..86eede1 100644
--- a/test/src/gen/test_point.c
+++ b/test/src/gen/test_point.c
@@ -13,8 +13,7 @@ Test(point, test_point_random) {
// curve = ellinit([1, 3], 23), order = 27
GEN e = ellinit(mkvec2s(1, 3), stoi(23), -1);
curve_t curve = {.order = stoi(27), .curve = e};
- config_t cfg = {};
- int ret = point_gen_random(&curve, &cfg, NULL, OFFSET_POINTS);
+ int ret = point_gen_random(&curve, NULL, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Point wasn't generated.");
cr_assert_eq(curve.npoints, 1, "Incorrect number of points.");
@@ -31,10 +30,9 @@ Test(point, test_points_random) {
// curve = ellinit([1, 3], 23), order = 27
GEN e = ellinit(mkvec2s(1, 3), stoi(23), -1);
curve_t curve = {.order = stoi(27), .curve = e};
- config_t cfg = {};
size_t npoints = 3;
arg_t arg = {.args = &npoints, .nargs = 1};
- int ret = points_gen_random(&curve, &cfg, &arg, OFFSET_POINTS);
+ int ret = points_gen_random(&curve, &arg, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Points weren't generated.");
cr_assert_eq(curve.npoints, npoints, "Incorrect number of points.");
@@ -59,10 +57,9 @@ Test(point, test_points_trial) {
gens[0]->point = mkvec2(mkintmodu(15, 23), mkintmodu(14, 23));
curve_t curve = {
.order = stoi(27), .curve = e, .ngens = 1, .generators = gens};
- config_t cfg = {};
pari_ulong prime = 3;
arg_t arg = {.args = &prime, .nargs = 1};
- int ret = points_gen_trial(&curve, &cfg, &arg, OFFSET_POINTS);
+ int ret = points_gen_trial(&curve, &arg, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Points weren't generated.");
cr_assert_eq(curve.npoints, 1, "Incorrect number of points.");
@@ -88,9 +85,8 @@ Test(point, test_points_prime) {
gens[0]->point = mkvec2(mkintmodu(15, 23), mkintmodu(14, 23));
curve_t curve = {
.order = stoi(27), .curve = e, .ngens = 1, .generators = gens};
- config_t cfg = {};
pari_ulong prime = 3;
- int ret = points_gen_prime(&curve, &cfg, NULL, OFFSET_POINTS);
+ int ret = points_gen_prime(&curve, NULL, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Points weren't generated.");
cr_assert_eq(curve.npoints, 1, "Incorrect number of points.");
@@ -116,10 +112,9 @@ Test(point, test_points_all) {
gens[0]->point = mkvec2(mkintmodu(15, 23), mkintmodu(14, 23));
curve_t curve = {
.order = stoi(27), .curve = e, .ngens = 1, .generators = gens};
- config_t cfg = {};
GEN orders = mkvec3s(3, 9, 27);
size_t npoints = 3;
- int ret = points_gen_allgroups(&curve, &cfg, NULL, OFFSET_POINTS);
+ int ret = points_gen_allgroups(&curve, NULL, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Points weren't generated.");
cr_assert_eq(curve.npoints, npoints, "Incorrect number of points.");
@@ -147,10 +142,9 @@ Test(point, test_points_nonprime) {
gens[0]->point = mkvec2(mkintmodu(15, 23), mkintmodu(14, 23));
curve_t curve = {
.order = stoi(27), .curve = e, .ngens = 1, .generators = gens};
- config_t cfg = {};
GEN orders = mkvec2s(9, 27);
size_t npoints = 2;
- int ret = points_gen_nonprime(&curve, &cfg, NULL, OFFSET_POINTS);
+ int ret = points_gen_nonprime(&curve, NULL, OFFSET_POINTS);
cr_assert_eq(ret, 1, "Points weren't generated.");
cr_assert_eq(curve.npoints, npoints, "Incorrect number of points.");
diff --git a/test/src/io/test_cli.c b/test/src/io/test_cli.c
index 448fd0c..1701a4e 100644
--- a/test/src/io/test_cli.c
+++ b/test/src/io/test_cli.c
@@ -17,49 +17,39 @@ TestSuite(cli, .init = default_setup, .fini = default_teardown);
Test(cli, test_memory) {
int argc = 4;
char *argv[] = {"ecgen", "--memory=2k", "--fp", "1"};
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- int ret = argp_parse(&test_argp, argc, argv, 0, 0, &cfg);
+ int ret = argp_parse(&test_argp, argc, argv, 0, 0, cfg);
cr_assert_eq(ret, 0, );
- cr_assert_eq(cfg.memory, 2000, );
+ cr_assert_eq(cfg->memory, 2000, );
}
Test(cli, test_thread_memory) {
int argc = 4;
char *argv[] = {"ecgen", "--thread-stack=2k", "--fp", "1"};
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- int ret = argp_parse(&test_argp, argc, argv, 0, 0, &cfg);
+ int ret = argp_parse(&test_argp, argc, argv, 0, 0, cfg);
cr_assert_eq(ret, 0, );
- cr_assert_eq(cfg.thread_memory, 2000, );
+ cr_assert_eq(cfg->thread_memory, 2000, );
}
Test(cli, test_threads) {
int argc = 4;
char *argv[] = {"ecgen", "--threads=2", "--fp", "1"};
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- int ret = argp_parse(&test_argp, argc, argv, 0, 0, &cfg);
+ int ret = argp_parse(&test_argp, argc, argv, 0, 0, cfg);
cr_assert_eq(ret, 0, );
- cr_assert_eq(cfg.threads, 2, );
+ cr_assert_eq(cfg->threads, 2, );
}
Test(cli, test_auto_threads) {
int argc = 4;
char *argv[] = {"ecgen", "--threads=auto", "--fp", "1"};
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- int ret = argp_parse(&test_argp, argc, argv, 0, 0, &cfg);
+ int ret = argp_parse(&test_argp, argc, argv, 0, 0, cfg);
cr_assert_eq(ret, 0, );
- cr_assert_eq(cfg.threads, sysconf(_SC_NPROCESSORS_ONLN), );
+ cr_assert_eq(cfg->threads, sysconf(_SC_NPROCESSORS_ONLN), );
}
Test(cli, test_timeout) {
int argc = 4;
char *argv[] = {"ecgen", "--timeout=10m", "--fp", "1"};
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- int ret = argp_parse(&test_argp, argc, argv, 0, 0, &cfg);
+ int ret = argp_parse(&test_argp, argc, argv, 0, 0, cfg);
cr_assert_eq(ret, 0, );
- cr_assert_eq(cfg.timeout, 600, );
+ cr_assert_eq(cfg->timeout, 600, );
} \ No newline at end of file
diff --git a/test/src/math/test_subgroups.c b/test/src/math/test_subgroups.c
index 8a3c8da..a4de20e 100644
--- a/test/src/math/test_subgroups.c
+++ b/test/src/math/test_subgroups.c
@@ -3,6 +3,7 @@
* Copyright (C) 2017 J08nY
*/
#include <criterion/criterion.h>
+#include <misc/config.h>
#include "gen/point.h"
#include "math/subgroups.h"
#include "test/default.h"
@@ -11,24 +12,24 @@ TestSuite(subgroups, .init = default_setup, .fini = default_teardown);
Test(subgroups, test_prime_factors) {
curve_t curve = {.order = stoi(12)};
- config_t cfg = {.prime = false};
- GEN divs = subgroups_prime(&curve, &cfg);
+ cfg->prime = false;
+ GEN divs = subgroups_prime(&curve);
GEN vec = mkvec2s(2, 3);
cr_assert(gequal(divs, vec), "Factors not equal!");
}
Test(subgroups, test_prime_factors_other) {
curve_t curve = {.order = stoi(27)};
- config_t cfg = {.prime = false};
- GEN divs = subgroups_prime(&curve, &cfg);
+ cfg->prime = false;
+ GEN divs = subgroups_prime(&curve);
GEN vec = gtovec(stoi(3));
cr_assert(gequal(divs, vec), "Factors not equal!");
}
Test(subgroups, test_prime_prime) {
curve_t curve = {.order = stoi(5)};
- config_t cfg = {.prime = true};
- GEN divs = subgroups_prime(&curve, &cfg);
+ cfg->prime = true;
+ GEN divs = subgroups_prime(&curve);
GEN vec = gtovec(stoi(5));
cr_assert(gequal(divs, vec), "Factors not equal!");
}
@@ -36,8 +37,8 @@ Test(subgroups, test_prime_prime) {
Test(subgroups, test_nonprime_factors) {
// curve = ellinit([1, 3], 23), order = 27
curve_t curve = {.order = stoi(27), .ngens = 1};
- config_t cfg = {.prime = false};
- GEN divs = subgroups_nonprime(&curve, &cfg);
+ cfg->prime = false;
+ GEN divs = subgroups_nonprime(&curve);
GEN vec = mkvec2s(9, 27);
cr_assert(gequal(divs, vec), "Factors not equal!");
}
@@ -45,8 +46,8 @@ Test(subgroups, test_nonprime_factors) {
Test(subgroups, test_all_factors) {
// curve = ellinit([1, 3], 23), order = 27
curve_t curve = {.order = stoi(27), .ngens = 1};
- config_t cfg = {.prime = false};
- GEN divs = subgroups_all(&curve, &cfg);
+ cfg->prime = false;
+ GEN divs = subgroups_all(&curve);
GEN vec = mkvec3s(3, 9, 27);
cr_assert(gequal(divs, vec), "Factors not equal!");
}
@@ -64,8 +65,8 @@ Test(subgroups, test_all_factors_two_gens) {
gens[1]->point = mkvec2(mkintmodu(20, 23), mkintmodu(19, 23));
curve_t curve = {.order = stoi(24), .ngens = 2, .generators = gens};
- config_t cfg = {.prime = false};
- GEN divs = subgroups_all(&curve, &cfg);
+ cfg->prime = false;
+ GEN divs = subgroups_all(&curve);
GEN vec = mkvecn(8, stoi(2), stoi(3), stoi(4), stoi(6), stoi(12), stoi(2),
stoi(3), stoi(6));
cr_assert(gequal(divs, vec), "Factors not equal!");
diff --git a/test/src/test/default.c b/test/src/test/default.c
index 8ce6cc9..3587032 100644
--- a/test/src/test/default.c
+++ b/test/src/test/default.c
@@ -5,8 +5,10 @@
#include "default.h"
#include <criterion/criterion.h>
#include <pari/pari.h>
+#include "misc/config.h"
void default_setup(void) {
+ memset(cfg, 0, sizeof(config_t));
pari_init(1000000, 1000000);
// set_mem_funcs(cr_malloc, cr_simple_calloc, cr_realloc, cr_free);
}
diff --git a/test/src/test/input.c b/test/src/test/input.c
index f171ca8..8332d3e 100644
--- a/test/src/test/input.c
+++ b/test/src/test/input.c
@@ -8,9 +8,7 @@
FILE *write_in;
void input_setup(void) {
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- input_init(&cfg);
+ input_init();
int in_fd[2];
pipe(in_fd);
diff --git a/test/src/test/output.c b/test/src/test/output.c
index 663db4b..280d80a 100644
--- a/test/src/test/output.c
+++ b/test/src/test/output.c
@@ -21,9 +21,7 @@ static void setup_stream(FILE **original_out, FILE **redirected_out) {
}
void output_setup(void) {
- config_t cfg;
- memset(&cfg, 0, sizeof(cfg));
- output_init(&cfg);
+ output_init();
int in_fd[2];
pipe(in_fd);