18 #include <gtest/gtest.h>
29 TEST(CORE_BASE64, Test_to64frombits)
31 const char inp_msg[] =
"FOOBARBAZ";
32 const size_t inp_len =
sizeof(inp_msg) - 1;
34 const char out_msg[] =
"Rk9PQkFSQkFa";
35 const size_t out_len =
sizeof(out_msg) - 1;
37 char res_msg[out_len + 1] = {0,};
41 reinterpret_cast<unsigned char *
>(res_msg),
42 reinterpret_cast<const unsigned char *
>(inp_msg),
46 ASSERT_EQ(out_len, res_len);
47 ASSERT_STREQ(out_msg, res_msg);
50 TEST(CORE_BASE64, Test_from64tobits)
52 const char inp_msg[] =
"Rk9PQkFSQkFa";
55 const char out_msg[] =
"FOOBARBAZ";
56 const size_t out_len =
sizeof(out_msg) - 1;
58 char res_msg[out_len + 1] = {0,};
62 ASSERT_EQ(out_len, res_len);
63 ASSERT_STREQ(out_msg, res_msg);
66 TEST(CORE_BASE64, Test_from64tobits_fast)
68 const char inp_msg[] =
"Rk9PQkFSQkFa";
69 const size_t inp_len =
sizeof(inp_msg) - 1;
71 const char out_msg[] =
"FOOBARBAZ";
72 const size_t out_len =
sizeof(out_msg) - 1;
74 char res_msg[out_len + 1] = {0,};
78 ASSERT_EQ(out_len, res_len);
79 ASSERT_STREQ(out_msg, res_msg);
82 TEST(CORE_BASE64, Test_from64tobits_fast_time)
84 const char inp_msg[] =
"Rk9PQkFSQkFa";
85 const size_t inp_len =
sizeof(inp_msg) - 1;
87 const char out_msg[] =
"FOOBARBAZ";
88 const size_t out_len =
sizeof(out_msg) - 1;
90 char res_msg[out_len + 1] = {0,};
92 int i, iterations = 1000 * 1000 * 10;
94 for (i = 0; i < iterations; i++)
100 TEST(CORE_BASE64, Test_from64tobits_fast_with_bug_time)
102 const char inp_msg[] =
"Rk9PQkFSQkFa";
103 const size_t inp_len =
sizeof(inp_msg) - 1;
105 const char out_msg[] =
"FOOBARBAZ";
106 const size_t out_len =
sizeof(out_msg) - 1;
108 char res_msg[out_len + 1] = {0,};
110 int i, iterations = 1000 * 1000 * 10;
112 for (i = 0; i < iterations; i++)
int from64tobits(char *out, const char *in)
Convert base64 to bytes array.
int to64frombits_s(unsigned char *out, const unsigned char *in, int inlen, size_t outlen)
Convert bytes array to base64.
int from64tobits_fast_with_bug(char *out, const char *in, int inlen)
int from64tobits_fast(char *out, const char *in, int inlen)
TEST(CORE_BASE64, Test_to64frombits)