mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-19 12:58:13 +00:00
tests: Add test_base32_rfc4648
This commit is contained in:
parent
5ae3f57255
commit
1df57c3de2
37
test_check.c
37
test_check.c
@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
#include "aes.h"
|
#include "aes.h"
|
||||||
#include "bignum.h"
|
#include "bignum.h"
|
||||||
|
#include "base32.h"
|
||||||
#include "base58.h"
|
#include "base58.h"
|
||||||
#include "bip32.h"
|
#include "bip32.h"
|
||||||
#include "bip39.h"
|
#include "bip39.h"
|
||||||
@ -498,6 +499,38 @@ START_TEST(test_bignum_format) {
|
|||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
// https://tools.ietf.org/html/rfc4648#section-10
|
||||||
|
START_TEST(test_base32_rfc4648)
|
||||||
|
{
|
||||||
|
static const struct {
|
||||||
|
const char *input;
|
||||||
|
const char *output;
|
||||||
|
} tests[] = {
|
||||||
|
{ "", "" },
|
||||||
|
{ "f", "MY" },
|
||||||
|
{ "fo", "MZXQ" },
|
||||||
|
{ "foo", "MZXW6" },
|
||||||
|
{ "foob", "MZXW6YQ" },
|
||||||
|
{ "fooba", "MZXW6YTB" },
|
||||||
|
{ "foobar", "MZXW6YTBOI" },
|
||||||
|
};
|
||||||
|
|
||||||
|
char buffer[64];
|
||||||
|
|
||||||
|
for (size_t i = 0; i < (sizeof(tests) / sizeof(*tests)); i++) {
|
||||||
|
const char *input = tests[i].input;
|
||||||
|
const char *output = tests[i].output;
|
||||||
|
|
||||||
|
size_t inlen = strlen(input);
|
||||||
|
size_t outlen = base32_encoded_length(inlen);
|
||||||
|
ck_assert_int_eq(outlen, strlen(output));
|
||||||
|
|
||||||
|
base32_encode((uint8_t *) input, inlen, buffer, sizeof(buffer), BASE32_ALPHABET_RFC4648);
|
||||||
|
ck_assert_str_eq(buffer, output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
// from https://github.com/bitcoin/bitcoin/blob/master/src/test/data/base58_keys_valid.json
|
// from https://github.com/bitcoin/bitcoin/blob/master/src/test/data/base58_keys_valid.json
|
||||||
START_TEST(test_base58)
|
START_TEST(test_base58)
|
||||||
{
|
{
|
||||||
@ -3019,6 +3052,10 @@ Suite *test_suite(void)
|
|||||||
tcase_add_test(tc, test_bignum_format);
|
tcase_add_test(tc, test_bignum_format);
|
||||||
suite_add_tcase(s, tc);
|
suite_add_tcase(s, tc);
|
||||||
|
|
||||||
|
tc = tcase_create("base32");
|
||||||
|
tcase_add_test(tc, test_base32_rfc4648);
|
||||||
|
suite_add_tcase(s, tc);
|
||||||
|
|
||||||
tc = tcase_create("base58");
|
tc = tcase_create("base58");
|
||||||
tcase_add_test(tc, test_base58);
|
tcase_add_test(tc, test_base58);
|
||||||
suite_add_tcase(s, tc);
|
suite_add_tcase(s, tc);
|
||||||
|
Loading…
Reference in New Issue
Block a user