Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/src/tests.c
Show First 20 Lines • Show All 5,447 Lines • ▼ Show 20 Lines | |||||
#ifdef ENABLE_MODULE_EXTRAKEYS | #ifdef ENABLE_MODULE_EXTRAKEYS | ||||
# include "modules/extrakeys/tests_impl.h" | # include "modules/extrakeys/tests_impl.h" | ||||
#endif | #endif | ||||
#ifdef ENABLE_MODULE_SCHNORRSIG | #ifdef ENABLE_MODULE_SCHNORRSIG | ||||
# include "modules/schnorrsig/tests_impl.h" | # include "modules/schnorrsig/tests_impl.h" | ||||
#endif | #endif | ||||
void run_memczero_test(void) { | void run_secp256k1_memczero_test(void) { | ||||
unsigned char buf1[6] = {1, 2, 3, 4, 5, 6}; | unsigned char buf1[6] = {1, 2, 3, 4, 5, 6}; | ||||
unsigned char buf2[sizeof(buf1)]; | unsigned char buf2[sizeof(buf1)]; | ||||
/* memczero(..., ..., 0) is a noop. */ | /* secp256k1_memczero(..., ..., 0) is a noop. */ | ||||
memcpy(buf2, buf1, sizeof(buf1)); | memcpy(buf2, buf1, sizeof(buf1)); | ||||
memczero(buf1, sizeof(buf1), 0); | secp256k1_memczero(buf1, sizeof(buf1), 0); | ||||
CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0); | CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0); | ||||
/* memczero(..., ..., 1) zeros the buffer. */ | /* secp256k1_memczero(..., ..., 1) zeros the buffer. */ | ||||
memset(buf2, 0, sizeof(buf2)); | memset(buf2, 0, sizeof(buf2)); | ||||
memczero(buf1, sizeof(buf1) , 1); | secp256k1_memczero(buf1, sizeof(buf1) , 1); | ||||
CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0); | CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0); | ||||
} | } | ||||
void int_cmov_test(void) { | void int_cmov_test(void) { | ||||
int r = INT_MAX; | int r = INT_MAX; | ||||
int a = 0; | int a = 0; | ||||
secp256k1_int_cmov(&r, &a, 0); | secp256k1_int_cmov(&r, &a, 0); | ||||
▲ Show 20 Lines • Show All 260 Lines • ▼ Show 20 Lines | #ifdef ENABLE_MODULE_EXTRAKEYS | ||||
run_extrakeys_tests(); | run_extrakeys_tests(); | ||||
#endif | #endif | ||||
#ifdef ENABLE_MODULE_SCHNORRSIG | #ifdef ENABLE_MODULE_SCHNORRSIG | ||||
run_schnorrsig_tests(); | run_schnorrsig_tests(); | ||||
#endif | #endif | ||||
/* util tests */ | /* util tests */ | ||||
run_memczero_test(); | run_secp256k1_memczero_test(); | ||||
run_cmov_tests(); | run_cmov_tests(); | ||||
secp256k1_testrand_finish(); | secp256k1_testrand_finish(); | ||||
/* shutdown */ | /* shutdown */ | ||||
secp256k1_context_destroy(ctx); | secp256k1_context_destroy(ctx); | ||||
printf("no problems found\n"); | printf("no problems found\n"); | ||||
return 0; | return 0; | ||||
} | } |