#include "str.h"
#include "base64.h"
+static unsigned int loop_count;
+
static void test_base64_encode(void)
{
const struct {
dest = t_str_new(256);
test_begin("base64 encode/decode with random input");
- for (i = 0; i < 1000; i++) {
+ for (i = 0; i < loop_count; i++) {
max = i_rand_limit(sizeof(buf));
for (j = 0; j < max; j++)
buf[j] = i_rand_uchar();
dest = t_str_new(256);
test_begin("base64url encode/decode with random input");
- for (i = 0; i < 1000; i++) {
+ for (i = 0; i < loop_count; i++) {
max = i_rand_limit(sizeof(buf));
for (j = 0; j < max; j++)
buf[j] = i_rand_uchar();
enum base64_decode_flags dec_flags,
size_t max_line_len)
{
- unsigned char in_buf[512];
+ unsigned char in_buf[ON_VALGRIND ? 128 : 512];
size_t in_buf_size;
buffer_t *buf1, *buf2;
unsigned int i, j;
buf2 = t_buffer_create(MAX_BASE64_ENCODED_SIZE(sizeof(in_buf)));
/* one block */
- for (i = 0; i < 1000; i++) {
+ for (i = 0; i < loop_count; i++) {
in_buf_size = i_rand_limit(sizeof(in_buf));
for (j = 0; j < in_buf_size; j++)
in_buf[j] = i_rand_uchar();
}
/* streaming; single-byte trickle */
- for (i = 0; i < 1000; i++) {
+ for (i = 0; i < loop_count; i++) {
in_buf_size = i_rand_limit(sizeof(in_buf));
for (j = 0; j < in_buf_size; j++)
in_buf[j] = i_rand_uchar();
}
/* streaming; random chunks */
- for (i = 0; i < 1000; i++) {
+ for (i = 0; i < loop_count; i++) {
in_buf_size = i_rand_limit(sizeof(in_buf));
for (j = 0; j < in_buf_size; j++)
in_buf[j] = i_rand_uchar();
void test_base64(void)
{
+ loop_count = ON_VALGRIND ? 100 : 1000;
test_base64_encode();
test_base64_decode();
test_base64_random();
unsigned char in_buf[2048];
size_t in_buf_size;
buffer_t *out_buf;
- unsigned int i, j;
+ unsigned int i, j, loop_count = ON_VALGRIND ? 100 : 4000;
int ret;
out_buf = t_buffer_create(sizeof(in_buf));
test_begin("istream base64 random I/O");
- for (i = 0; !test_has_failed() && i < 4000; i++) {
+ for (i = 0; !test_has_failed() && i < loop_count; i++) {
struct istream *input1, *input2, *input3, *input4, *input5;
struct istream *sinput1, *sinput2, *sinput3, *sinput4;
struct istream *top_input;