Test |BN_add_word| and |BN_sub_word|.
Change-Id: If2be0632aef7f2be1c43650e993a89518b354f60
Reviewed-on: https://boringssl-review.googlesource.com/8591
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/bn/bn_test.cc b/crypto/bn/bn_test.cc
index ccce995..0c9d74e 100644
--- a/crypto/bn/bn_test.cc
+++ b/crypto/bn/bn_test.cc
@@ -312,6 +312,19 @@
return false;
}
+ // Test with |BN_add_word| and |BN_sub_word| if |b| is small enough.
+ BN_ULONG b_word = BN_get_word(b.get());
+ if (!BN_is_negative(b.get()) && b_word != (BN_ULONG)-1) {
+ if (!BN_copy(ret.get(), a.get()) ||
+ !BN_add_word(ret.get(), b_word) ||
+ !ExpectBIGNUMsEqual(t, "A + B (word)", sum.get(), ret.get()) ||
+ !BN_copy(ret.get(), sum.get()) ||
+ !BN_sub_word(ret.get(), b_word) ||
+ !ExpectBIGNUMsEqual(t, "Sum - B (word)", a.get(), ret.get())) {
+ return false;
+ }
+ }
+
return true;
}