#include <criterion/criterion.h>#include "libtest/stopwatch.h"#include "scratch-buffers.h"#include "apphook.h"#include "kv-scanner.h"#include <stdio.h>
Classes | |
| struct | ScannerConfig |
| struct | KVQElement |
| struct | KVQContainer |
| struct | KVElement |
| struct | KVContainer |
| struct | Testcase |
Macros | |
| #define | VARARG_STRUCT(VARARG_STRUCT_cont, VARARG_STRUCT_elem, ...) |
| #define | INIT_KVQCONTAINER(...) VARARG_STRUCT(KVQContainer, KVQElement, __VA_ARGS__) |
| #define | _IMPL_EXPECT_KVQ(SCANNER_config, TEST_KV_SCAN_input, ...) |
| #define | _EXPECT_KVQ_TRIPLETS(...) |
| #define | INIT_KVCONTAINER(...) VARARG_STRUCT(KVContainer, KVElement, __VA_ARGS__) |
| #define | _IMPL_EXPECT_KV(TEST_KV_SCAN_config, TEST_KV_SCAN_input, ...) |
| #define | _EXPECT_KV_PAIRS(...) |
| #define | _EXPECT_KV_PAIRS_WITH_CONFIG(TEST_KV_SCAN_config, ...) |
| #define | _EXPECT_KV_AND_STRAY_WORDS(INPUT, STRAY, ...) |
| #define | ITERATION_NUMBER 100000 |
Functions | |
| Test (kv_scanner, incomplete_string_returns_no_pairs) | |
| Test (kv_scanner, name_equals_value_returns_a_pair) | |
| Test (kv_scanner, allowed_characters_in_a_key_are_letters_digits_dash_underscore_and_dot) | |
| Test (kv_scanner, initial_stray_words_are_ignored) | |
| Test (kv_scanner, non_initial_stray_words_are_added_to_the_last_value) | |
| Test (kv_scanner, empty_values_in_a_series_of_key_values) | |
| Test (kv_scanner, multiple_key_values_return_multiple_pairs) | |
| Test (kv_scanner, spaces_between_values_are_ignored) | |
| Test (kv_scanner, comma_separated_values) | |
| Test (kv_scanner, tab_is_not_considered_a_separator) | |
| Test (kv_scanner, quoted_values_are_unquoted_like_c_strings) | |
| Test (kv_scanner, quotes_embedded_in_an_unquoted_value_are_left_intact) | |
| Test (kv_scanner, separator_in_an_unquoted_value_is_taken_literally) | |
| Test (kv_scanner, keys_without_value_separator_are_ignored) | |
| Test (kv_scanner, quoted_values_are_considered_one_token_thus_space_based_concatenation_does_not_happen) | |
| Test (kv_scanner, transforms_values_if_transform_value_is_set) | |
| Test (kv_scanner, pair_separator_space_disables_space_related_heuristics) | |
| Test (kv_scanner, pair_separator_causes_values_to_be_split_at_that_character) | |
| Test (kv_scanner, quotation_is_stored_in_the_was_quoted_value_member) | |
| Test (kv_scanner, spaces_around_value_separator_are_ignored) | |
| Test (kv_scanner, value_separator_is_used_to_separate_key_from_value) | |
| Test (kv_scanner, invalid_value_encoding_is_copied_literally) | |
| Test (kv_scanner, separator_in_key) | |
| Test (kv_scanner, empty_keys) | |
| Test (kv_scanner, unclosed_quotes) | |
| Test (kv_scanner, comma_separator) | |
| Test (kv_scanner, multiple_separators) | |
| Test (kv_scanner, keys_only_use_a_restricted_set_of_characters) | |
| Test (kv_scanner, unquoted_values_can_have_embedded_control_characters) | |
| Test (kv_scanner, spaces_are_trimmed_between_key_and_separator) | |
| Test (kv_scanner, space_is_only_a_delimiter_if_a_key_follows) | |
| Test (kv_scanner, spaces_are_trimmed_from_key_names) | |
| Test (kv_scanner, initial_spaces_are_trimmed_from_values) | |
| Test (kv_scanner, stray_words_are_stored) | |
| Test (kv_scanner, key_buffer_underrun) | |
| Test (kv_scanner, performance_tests) | |
| TestSuite (kv_scanner,.init=setup,.fini=teardown) | |
| #define _EXPECT_KV_AND_STRAY_WORDS | ( | INPUT, | |
| STRAY, | |||
| ... | |||
| ) |
| #define _EXPECT_KV_PAIRS | ( | ... | ) |
| #define _EXPECT_KV_PAIRS_WITH_CONFIG | ( | TEST_KV_SCAN_config, | |
| ... | |||
| ) |
| #define _EXPECT_KVQ_TRIPLETS | ( | ... | ) |
| #define _IMPL_EXPECT_KV | ( | TEST_KV_SCAN_config, | |
| TEST_KV_SCAN_input, | |||
| ... | |||
| ) |
| #define _IMPL_EXPECT_KVQ | ( | SCANNER_config, | |
| TEST_KV_SCAN_input, | |||
| ... | |||
| ) |
| #define INIT_KVCONTAINER | ( | ... | ) | VARARG_STRUCT(KVContainer, KVElement, __VA_ARGS__) |
| #define INIT_KVQCONTAINER | ( | ... | ) | VARARG_STRUCT(KVQContainer, KVQElement, __VA_ARGS__) |
| #define ITERATION_NUMBER 100000 |
| #define VARARG_STRUCT | ( | VARARG_STRUCT_cont, | |
| VARARG_STRUCT_elem, | |||
| ... | |||
| ) |
| Test | ( | kv_scanner | , |
| allowed_characters_in_a_key_are_letters_digits_dash_underscore_and_dot | |||
| ) |
| Test | ( | kv_scanner | , |
| comma_separated_values | |||
| ) |
| Test | ( | kv_scanner | , |
| comma_separator | |||
| ) |
| Test | ( | kv_scanner | , |
| empty_keys | |||
| ) |
| Test | ( | kv_scanner | , |
| empty_values_in_a_series_of_key_values | |||
| ) |
| Test | ( | kv_scanner | , |
| incomplete_string_returns_no_pairs | |||
| ) |
| Test | ( | kv_scanner | , |
| initial_spaces_are_trimmed_from_values | |||
| ) |
| Test | ( | kv_scanner | , |
| initial_stray_words_are_ignored | |||
| ) |
| Test | ( | kv_scanner | , |
| invalid_value_encoding_is_copied_literally | |||
| ) |
| Test | ( | kv_scanner | , |
| key_buffer_underrun | |||
| ) |
| Test | ( | kv_scanner | , |
| keys_only_use_a_restricted_set_of_characters | |||
| ) |
| Test | ( | kv_scanner | , |
| keys_without_value_separator_are_ignored | |||
| ) |
| Test | ( | kv_scanner | , |
| multiple_key_values_return_multiple_pairs | |||
| ) |
| Test | ( | kv_scanner | , |
| multiple_separators | |||
| ) |
| Test | ( | kv_scanner | , |
| name_equals_value_returns_a_pair | |||
| ) |
| Test | ( | kv_scanner | , |
| non_initial_stray_words_are_added_to_the_last_value | |||
| ) |
| Test | ( | kv_scanner | , |
| pair_separator_causes_values_to_be_split_at_that_character | |||
| ) |
| Test | ( | kv_scanner | , |
| pair_separator_space_disables_space_related_heuristics | |||
| ) |
| Test | ( | kv_scanner | , |
| performance_tests | |||
| ) |
| Test | ( | kv_scanner | , |
| quotation_is_stored_in_the_was_quoted_value_member | |||
| ) |
| Test | ( | kv_scanner | , |
| quoted_values_are_considered_one_token_thus_space_based_concatenation_does_not_happen | |||
| ) |
| Test | ( | kv_scanner | , |
| quoted_values_are_unquoted_like_c_strings | |||
| ) |
| Test | ( | kv_scanner | , |
| quotes_embedded_in_an_unquoted_value_are_left_intact | |||
| ) |
| Test | ( | kv_scanner | , |
| separator_in_an_unquoted_value_is_taken_literally | |||
| ) |
| Test | ( | kv_scanner | , |
| separator_in_key | |||
| ) |
| Test | ( | kv_scanner | , |
| space_is_only_a_delimiter_if_a_key_follows | |||
| ) |
| Test | ( | kv_scanner | , |
| spaces_are_trimmed_between_key_and_separator | |||
| ) |
| Test | ( | kv_scanner | , |
| spaces_are_trimmed_from_key_names | |||
| ) |
| Test | ( | kv_scanner | , |
| spaces_around_value_separator_are_ignored | |||
| ) |
| Test | ( | kv_scanner | , |
| spaces_between_values_are_ignored | |||
| ) |
| Test | ( | kv_scanner | , |
| stray_words_are_stored | |||
| ) |
| Test | ( | kv_scanner | , |
| tab_is_not_considered_a_separator | |||
| ) |
| Test | ( | kv_scanner | , |
| transforms_values_if_transform_value_is_set | |||
| ) |
| Test | ( | kv_scanner | , |
| unclosed_quotes | |||
| ) |
| Test | ( | kv_scanner | , |
| unquoted_values_can_have_embedded_control_characters | |||
| ) |
| Test | ( | kv_scanner | , |
| value_separator_is_used_to_separate_key_from_value | |||
| ) |
| TestSuite | ( | kv_scanner | , |
| . | init = setup, |
||
| . | fini = teardown |
||
| ) |