annotate src/lib/test-hex-binary.c @ 22955:812e5c961328

fts: Indexing virtual mailbox didn't always index the last mails
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 03 May 2018 18:33:00 +0300
parents cb108f786fb4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22713
cb108f786fb4 Updated copyright notices to include the year 2018.
Stephan Bosch <stephan.bosch@dovecot.fi>
parents: 21390
diff changeset
1 /* Copyright (c) 2009-2018 Dovecot authors, see the included COPYING file */
9637
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 #include "test-lib.h"
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 #include "buffer.h"
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 #include "str.h"
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 #include "hex-binary.h"
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 static void test_binary_to_hex(void)
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 {
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 static unsigned char input[] = { 0xff, 0x00, 0x01, 0xb3 };
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 static char *output_lcase = "ff0001b3";
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 static char *output_ucase = "FF0001B3";
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 string_t *str;
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15 test_begin("binary to hex");
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 test_assert(strcmp(binary_to_hex(input, sizeof(input)), output_lcase) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17 test_end();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 test_begin("binary to hex ucase");
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 test_assert(strcmp(binary_to_hex_ucase(input, sizeof(input)), output_ucase) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 test_end();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23 test_begin("binary to hex ucase");
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 str = t_str_new(32);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25 str_append_c(str, '<');
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 binary_to_hex_append(str, input, sizeof(input));
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
27 str_append_c(str, '>');
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 test_assert(strcmp(str_c(str), t_strconcat("<", output_lcase, ">", NULL)) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29 test_end();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30 }
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
31
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32 static void test_hex_to_binary(void)
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33 {
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 static const char *ok_input = "0001fEFf";
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
35 static unsigned char ok_output[] = { 0x00, 0x01, 0xfe, 0xff };
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
36 static const char *error_input[] = {
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
37 "00 01",
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
38 "0x01",
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
39 "0g"
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
40 };
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41 buffer_t *buf = buffer_create_dynamic(pool_datastack_create(), 10);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
42 unsigned int i;
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
44 test_begin("hex to binary");
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45 test_assert(hex_to_binary("", buf) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 test_assert(buf->used == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48 test_assert(hex_to_binary(ok_input, buf) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 test_assert(buf->used == N_ELEMENTS(ok_output));
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50 test_assert(memcmp(buf->data, ok_output, buf->used) == 0);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 for (i = 0; i < N_ELEMENTS(error_input); i++)
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53 test_assert(hex_to_binary(error_input[i], buf) == -1);
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54 test_end();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
55 }
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57 void test_hex_binary(void)
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
58 {
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
59 test_binary_to_hex();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
60 test_hex_to_binary();
c4118cfa1085 Added missing test-hex-binary.c from earlier commit.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
61 }