aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/common.sh5
-rwxr-xr-xtest/ecgen.sh14
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