Add tests for BN_nnmod.
Change-Id: Ic72e00bb01d254408671b3f8d036be3cd4c06086
Reviewed-on: https://boringssl-review.googlesource.com/8606
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/bn/bn_test.cc b/crypto/bn/bn_test.cc
index 53de206..e12146e 100644
--- a/crypto/bn/bn_test.cc
+++ b/crypto/bn/bn_test.cc
@@ -577,6 +577,20 @@
}
}
+ // Test BN_nnmod.
+ if (!BN_is_negative(b.get())) {
+ ScopedBIGNUM nnmod(BN_new());
+ if (!nnmod ||
+ !BN_copy(nnmod.get(), remainder.get()) ||
+ (BN_is_negative(nnmod.get()) &&
+ !BN_add(nnmod.get(), nnmod.get(), b.get())) ||
+ !BN_nnmod(ret.get(), a.get(), b.get(), ctx) ||
+ !ExpectBIGNUMsEqual(t, "A % B (non-negative)", nnmod.get(),
+ ret.get())) {
+ return false;
+ }
+ }
+
return true;
}