summaryrefslogtreecommitdiffstats
path: root/fluent-bit/tests/internal/slist.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:44 +0000
commit836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch)
tree1604da8f482d02effa033c94a84be42bc0c848c3 /fluent-bit/tests/internal/slist.c
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz
netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/tests/internal/slist.c')
-rw-r--r--fluent-bit/tests/internal/slist.c205
1 files changed, 0 insertions, 205 deletions
diff --git a/fluent-bit/tests/internal/slist.c b/fluent-bit/tests/internal/slist.c
deleted file mode 100644
index 8c786fc85..000000000
--- a/fluent-bit/tests/internal/slist.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-
-#include <fluent-bit/flb_info.h>
-#include <fluent-bit/flb_mem.h>
-#include <fluent-bit/flb_slist.h>
-
-#include "flb_tests_internal.h"
-
-void token_check(struct mk_list *list, int id, char *str)
-{
- int i = 0;
- int len;
- int ret;
- struct mk_list *head;
- struct flb_slist_entry *e = NULL;
-
- mk_list_foreach(head, list) {
- if (i == id) {
- e = mk_list_entry(head, struct flb_slist_entry, _head);
- break;
- }
- e = NULL;
- i++;
- }
- TEST_CHECK(e != NULL);
-
- len = strlen(str);
- ret = flb_sds_cmp(e->str, str, len);
- TEST_CHECK(ret == 0);
- if (ret != 0) {
- fprintf(stderr, "[token %i] expected '%s', got '%s'\n\n",
- i, str, e->str);
- exit(EXIT_FAILURE);
- }
-}
-
-void test_slist_add()
-{
- int ret;
- struct mk_list list;
- struct flb_slist_entry *e;
-
- ret = flb_slist_create(&list);
- TEST_CHECK(ret == 0);
-
- ret = flb_slist_add(&list, "");
- TEST_CHECK(ret == -1);
-
- ret = flb_slist_add(&list, NULL);
- TEST_CHECK(ret == -1);
-
- TEST_CHECK(mk_list_is_empty(&list) == 0);
-
- ret = flb_slist_add(&list, "test");
- TEST_CHECK(ret == 0);
-
- e = mk_list_entry_last(&list, struct flb_slist_entry, _head);
- TEST_CHECK(flb_sds_len(e->str) == 4);
-
- ret = flb_slist_add_n(&list, "test", 3);
- TEST_CHECK(ret == 0);
-
- e = mk_list_entry_last(&list, struct flb_slist_entry, _head);
- TEST_CHECK(flb_sds_len(e->str) == 3);
-
- flb_slist_destroy(&list);
-}
-
-void test_slist_split_string()
-{
- int ret;
- struct mk_list list;
- struct flb_slist_entry *e;
-
- ret = flb_slist_create(&list);
- TEST_CHECK(ret == 0);
-
- /* Simple string without separator */
- ret = flb_slist_split_string(&list, "abcdefg", ' ', -1);
- TEST_CHECK(ret == 1);
- TEST_CHECK(mk_list_size(&list) == 1);
- token_check(&list, 0, "abcdefg");
- flb_slist_destroy(&list);
-
- /* Separated strings */
- ret = flb_slist_split_string(&list, "a bc defg", ' ', -1);
- TEST_CHECK(ret == 3);
- TEST_CHECK(mk_list_size(&list) == 3);
- token_check(&list, 0, "a");
- token_check(&list, 1, "bc");
- token_check(&list, 2, "defg");
- flb_slist_destroy(&list);
-
- /* One char with empty spaces */
- ret = flb_slist_split_string(&list, " a ", ' ', 2);
- TEST_CHECK(ret == 1);
- TEST_CHECK(mk_list_size(&list) == 1);
- token_check(&list, 0, "a");
- flb_slist_destroy(&list);
-
- /* Two separated characters */
- ret = flb_slist_split_string(&list, " a b ", ' ', 2);
- TEST_CHECK(ret == 2);
- TEST_CHECK(mk_list_size(&list) == 2);
- token_check(&list, 0, "a");
- token_check(&list, 1, "b");
- flb_slist_destroy(&list);
-
- /* Comma separated strings */
- ret = flb_slist_split_string(&list, ",,,a ,, b,c ,d,,e ,f,g, , ,", ',', -1);
- TEST_CHECK(ret == 7);
- TEST_CHECK(mk_list_size(&list) == 7);
- token_check(&list, 0, "a");
- token_check(&list, 1, "b");
- token_check(&list, 2, "c");
- token_check(&list, 3, "d");
- token_check(&list, 4, "e");
- token_check(&list, 5, "f");
- token_check(&list, 6, "g");
- flb_slist_destroy(&list);
-
- /* Comma seperated strings for real world NO_PROXY example */
- ret = flb_slist_split_string(&list, "127.0.0.1, localhost, kubernetes.default.svc.cluster.local", ',', -1);
- TEST_CHECK(ret == 3);
- TEST_CHECK(mk_list_size(&list) == 3);
- token_check(&list, 0, "127.0.0.1");
- token_check(&list, 1, "localhost");
- token_check(&list, 2, "kubernetes.default.svc.cluster.local");
- flb_slist_destroy(&list);
-
- /* Comma separated strings with limit */
- ret = flb_slist_split_string(&list, ",,,a ,, b, c ,d,,e ,f,g, , ,", ',', 2);
- TEST_CHECK(ret == 3);
- TEST_CHECK(mk_list_size(&list) == 3);
- e = mk_list_entry_last(&list, struct flb_slist_entry, _head);
- TEST_CHECK(flb_sds_len(e->str) == 22);
- flb_slist_destroy(&list);
-
- /* Nothing */
- ret = flb_slist_split_string(&list, ",,, ,, , , , ", ',', 2);
- TEST_CHECK(ret == 0);
- TEST_CHECK(mk_list_size(&list) == 0);
-}
-
-void test_slist_split_tokens()
-{
- struct mk_list list;
- char *txt = \
- " this \"is a tokens parser\" \" apples \", "
- "no\"quoted \"this is \\\"quoted\\\"\" "
- "don't escape insi\\\"de q\\\"uoted strings\\\"";
-
- mk_list_init(&list);
- flb_slist_split_tokens(&list, txt, -1);
-
- token_check(&list, 0, "this");
- token_check(&list, 1, "is a tokens parser");
- token_check(&list, 2, " apples ");
- token_check(&list, 3, ",");
- token_check(&list, 4, "no\"quoted");
- token_check(&list, 5, "this is \"quoted\"");
- token_check(&list, 6, "don't");
- token_check(&list, 7, "escape");
- token_check(&list, 8, "insi\\\"de");
- token_check(&list, 9, "q\\\"uoted");
- token_check(&list, 10, "strings\\\"");
-
- flb_slist_destroy(&list);
-
- mk_list_init(&list);
- flb_slist_split_string(&list, "aaa bbb ccc ddd eee", ' ', 3);
- token_check(&list, 3, "ddd eee");
- flb_slist_destroy(&list);
-
- mk_list_init(&list);
- flb_slist_split_tokens(&list, "aaa bbb ccc ddd eee", 3);
- token_check(&list, 3, "ddd eee");
- flb_slist_destroy(&list);
-
-}
-
-void test_bugs()
-{
- int ret;
- struct mk_list list;
- struct flb_slist_entry *e;
-
- ret = flb_slist_create(&list);
-
- /* Bug found during #293 development */
- ret = flb_slist_split_string(&list, "$key2 ab final-tag true", ' ', 4);
- TEST_CHECK(ret == 4);
- e = flb_slist_entry_get(&list, 2);
- TEST_CHECK(*e->str == 'f');
-
- flb_slist_destroy(&list);
-}
-
-TEST_LIST = {
- { "add" , test_slist_add},
- { "split_string", test_slist_split_string},
- { "split_tokens", test_slist_split_tokens},
- { "bugs" , test_bugs},
- { 0 }
-};