Mercurial > dovecot > core-2.2
annotate src/lib-dict/test-dict.c @ 22652:09523ad05bef
director: Log whenever HOST-RESET-USERS is used
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sun, 05 Nov 2017 22:53:23 +0200 |
parents | 2e2563132d5f |
children | cb108f786fb4 |
rev | line source |
---|---|
21390
2e2563132d5f
Updated copyright notices to include the year 2017.
Stephan Bosch <stephan.bosch@dovecot.fi>
parents:
19552
diff
changeset
|
1 /* Copyright (c) 2010-2017 Dovecot authors, see the included COPYING file */ |
10637
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 #include "lib.h" |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 #include "dict-private.h" |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 #include "test-common.h" |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
7 struct dict dict_driver_client; |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
8 struct dict dict_driver_file; |
14808
b6df5871632a
lib-dict: Added memcached backend using its binary protocol.
Timo Sirainen <tss@iki.fi>
parents:
14786
diff
changeset
|
9 struct dict dict_driver_memcached; |
14906
96a9a086c052
lib-dict: Added memcached_ascii backend.
Timo Sirainen <tss@iki.fi>
parents:
14808
diff
changeset
|
10 struct dict dict_driver_memcached_ascii; |
14786
211fbc872ed4
lib-dict: Added initial version of Redis support.
Timo Sirainen <tss@iki.fi>
parents:
14133
diff
changeset
|
11 struct dict dict_driver_redis; |
10637
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 static void test_dict_escape(void) |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 { |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
15 static const char *input[] = { |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
16 "", "", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 "foo", "foo", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 "foo\\", "foo\\\\", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 "foo\\bar", "foo\\\\bar", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
20 "\\bar", "\\\\bar", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 "foo/", "foo\\|", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
22 "foo/bar", "foo\\|bar", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
23 "/bar", "\\|bar", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
24 "////", "\\|\\|\\|\\|", |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
25 "/", "\\|" |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
26 }; |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
27 unsigned int i; |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 test_begin("dict escape"); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
30 for (i = 0; i < N_ELEMENTS(input); i += 2) { |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
31 test_assert(strcmp(dict_escape_string(input[i]), input[i+1]) == 0); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
32 test_assert(strcmp(dict_unescape_string(input[i+1]), input[i]) == 0); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
33 } |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
34 test_assert(strcmp(dict_unescape_string("x\\"), "x") == 0); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
35 test_assert(strcmp(dict_unescape_string("\\"), "") == 0); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
36 test_end(); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
37 } |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
38 |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
39 int main(void) |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
40 { |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
41 static void (*test_functions[])(void) = { |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
42 test_dict_escape, |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
43 NULL |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
44 }; |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
45 return test_run(test_functions); |
2cfe01556d6c
lib-dict: Added dict_[un]escape_string().
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
46 } |