modules, tests: Port bitcoin-core/secp256k1#1734 to zkp-specific code

This commit is contained in:
DarkWindman
2026-02-26 15:28:51 +02:00
parent 7699fe9aa6
commit 7111d365fb
9 changed files with 153 additions and 109 deletions

View File

@@ -8,6 +8,7 @@
#define SECP256K1_MODULE_WHITELIST_TESTS_H
#include "../../../include/secp256k1_whitelist.h"
#include "../../unit_test.h"
static void test_whitelist_end_to_end_internal(const unsigned char *summed_seckey, const unsigned char *online_seckey, const secp256k1_pubkey *online_pubkeys, const secp256k1_pubkey *offline_pubkeys, const secp256k1_pubkey *sub_pubkey, const size_t signer_i, const size_t n_keys) {
unsigned char serialized[32 + 4 + 32 * SECP256K1_WHITELIST_MAX_N_KEYS] = {0};
@@ -148,16 +149,20 @@ static void test_whitelist_bad_serialize(void) {
CHECK(secp256k1_whitelist_signature_serialize(CTX, serialized, &serialized_len, &sig) == 0);
}
static void run_whitelist_tests(void) {
int i;
test_whitelist_bad_parse();
test_whitelist_bad_serialize();
for (i = 0; i < COUNT; i++) {
test_whitelist_end_to_end(1, 1);
test_whitelist_end_to_end(10, 1);
test_whitelist_end_to_end(50, 1);
test_whitelist_end_to_end(SECP256K1_WHITELIST_MAX_N_KEYS, 0);
}
static void test_whitelist_end_to_end_all_internal(void) {
test_whitelist_end_to_end(1, 1);
test_whitelist_end_to_end(10, 1);
test_whitelist_end_to_end(50, 1);
test_whitelist_end_to_end(SECP256K1_WHITELIST_MAX_N_KEYS, 0);
}
/* --- Test registry --- */
REPEAT_TEST(test_whitelist_end_to_end_all)
static const struct tf_test_entry tests_whitelist[] = {
CASE1(test_whitelist_bad_parse),
CASE1(test_whitelist_bad_serialize),
CASE1(test_whitelist_end_to_end_all),
};
#endif