diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/common.sh | 5 | ||||
| -rwxr-xr-x | test/ecgen.sh | 14 |
2 files changed, 18 insertions, 1 deletions
diff --git a/test/common.sh b/test/common.sh index 5e2cb38..c7fbb6e 100644 --- a/test/common.sh +++ b/test/common.sh @@ -35,4 +35,9 @@ strip_num() { num="${num:2}" num="${num##+(0)}" echo $num +} + +canonical_num() { + num=$(strip_num "$1") + echo "ibase=16;${num^^}" | bc }
\ No newline at end of file diff --git a/test/ecgen.sh b/test/ecgen.sh index 5de7f34..3a94564 100755 --- a/test/ecgen.sh +++ b/test/ecgen.sh @@ -93,12 +93,22 @@ function brainpool() { function anomalous() { start_test assert_raises "${ecgen} --fp --anomalous -r 20" - out=$(${ecgen} --fp -tjson --anomalous -r 20 2>/dev/null) + out=$(${ecgen} --fp --anomalous -r 20 2>/dev/null) p=$(echo $out | ${JSON} -x field\",\"p | cut -f 2) order=$(echo $out | ${JSON} -x ^0,\"order\" | cut -f 2) assert "strip_num $p" $(strip_num $order) } +function supersingular() { + start_test + assert_raises "${ecgen} --fp --supersingular -r 20" + out=$(${ecgen} --fp --supersingular -r 20 2>/dev/null) + p=$(echo $out | ${JSON} -x field\",\"p | cut -f 2) + order=$(echo $out | ${JSON} -x ^0,\"order\" | cut -f 2) + order_m1=$(echo $(canonical_num $order) - 1 | bc) + assert "canonical_num $p" $order_m1 +} + function invalid() { start_test assert_raises "${ecgen} --fp -r -i 10" @@ -133,6 +143,7 @@ function cli() { assert_raises "${ecgen} --ansi=01234 --fp 10" 1 assert_raises "${ecgen} --hex-check=not_hex --fp 10" 1 assert_raises "${ecgen} abc" 1 + assert_raises "${ecgen} --supersingular --f2m 10" 1 } function hex() { @@ -171,6 +182,7 @@ exhaustive ansix962 brainpool anomalous +supersingular invalid twist cli |
