syslog-ng source
test_log_message.c File Reference
#include <criterion/criterion.h>
#include "libtest/msg_parse_lib.h"
#include "libtest/persist_lib.h"
#include "apphook.h"
#include "logpipe.h"
#include "scratch-buffers.h"
#include "rcptid.h"
Include dependency graph for test_log_message.c:

Classes

struct  LogMessageTestParams
 
struct  sizes_t
 

Macros

#define DEFUN_KEY_VALUE(name, key, value, size)
 
#define SMALL_LENGTH   10
 
#define LARGE_LENGTH   256
 

Functions

void log_message_test_params_free (LogMessageTestParams *params)
 
LogMessage * log_message_test_params_clone_message (LogMessageTestParams *params)
 
void setup (void)
 
void teardown (void)
 
 TestSuite (log_message,.init=setup,.fini=teardown)
 
 Test (log_message, test_log_message_can_be_created_and_freed)
 
 Test (log_message, test_log_message_can_be_cleared)
 
 Test (log_message, test_log_message_clear_sdata_unsets_all_sdata)
 
 Test (log_message, test_log_msg_clear_handles_cloned_noninline_tags_properly)
 
 Test (log_message, test_rcptid_is_automatically_assigned_to_a_newly_created_log_message)
 
 Test (log_message, test_log_message_merge_with_empty_context)
 
 Test (log_message, test_log_message_merge_unset_value)
 
 Test (log_message, test_log_message_merge_doesnt_overwrite_already_set_values)
 
 Test (log_message, test_log_message_merge_merges_the_closest_value_in_the_context)
 
 Test (log_message, test_log_message_merge_merges_from_all_messages_in_the_context)
 
 Test (log_message, test_log_message_merge_leaves_base_tags_intact)
 
 Test (log_message, test_log_msg_set_value_indirect_with_self_referencing_handle_results_in_a_nonindirect_value)
 
 Test (log_message, test_log_msg_get_value_with_time_related_macro)
 
 Test (log_message, test_local_logmsg_created_with_the_right_flags_and_timestamps)
 
 Test (log_message, test_sdata_sanitization)
 
 Test (log_message, test_sdata_value_is_updated_by_sdata_name_value_pairs)
 
 Test (log_message, test_sdata_seqnum_adds_meta_sequence_id)
 
 Test (log_message, test_sdata_value_omits_unset_values)
 
 Test (log_message, test_value_retains_type_information)
 
 Test (log_message, test_macro_is_always_a_string)
 
 Test (log_message, test_macro_value_is_set_and_is_a_string)
 
 Test (log_message, test_set_match_returns_the_same_value_in_get)
 
 Test (log_message, test_unset_match_returns_null)
 
 Test (log_message, test_match_alias_numbered_macros)
 
 Test (log_message, test_set_match_access_out_of_range_are_ignored)
 
 Test (log_message, test_value_that_looks_like_out_of_range_match_behaves_like_a_regular_nv_pair_and_cannot_be_accessed_as_a_match)
 
 Test (log_message, test_log_message_updates_num_matches_according_to_matches_being_set)
 
 Test (log_message, test_format_matches_produces_a_list_of_matches_even_if_populated_via_explicit_set)
 
 Test (log_message, test_format_matches_resets_match_values_if_an_out_of_range_element_is_set)
 
 Test (log_message, test_changing_num_matches_causes_numbered_matches_to_become_undefined)
 
 Test (log_message, test_clear_matches_call_resets_all_matches_to_unset)
 
 Test (log_message, test_message_size)
 
 Test (log_message, when_get_indirect_value_with_null_value_len_abort_instead_of_sigsegv,.signal=SIGABRT)
 
 Test (log_message, test_cow_writing_cloned_message)
 
 Test (log_message, test_cow_make_writable)
 
 Test (log_message, test_cow_unset_value)
 

Macro Definition Documentation

◆ DEFUN_KEY_VALUE

#define DEFUN_KEY_VALUE (   name,
  key,
  value,
  size 
)
Value:
gchar name ## _key[size]; \
gchar name ## _value[size]; \
name ## _key[size-1] = name ## _value[size-1] = 0; \
memset(name ## _key, key, sizeof(name ##_key)-1); \
memset(name ## _value, value, sizeof(name ##_value)-1); \
const gchar * name
Definition: debugger.c:265
GString * value
Definition: test_decode.c:28
struct tm key
Definition: cache.c:63

◆ LARGE_LENGTH

#define LARGE_LENGTH   256

◆ SMALL_LENGTH

#define SMALL_LENGTH   10

Function Documentation

◆ log_message_test_params_clone_message()

LogMessage* log_message_test_params_clone_message ( LogMessageTestParams params)

◆ log_message_test_params_free()

void log_message_test_params_free ( LogMessageTestParams params)

◆ setup()

void setup ( void  )

◆ teardown()

void teardown ( void  )

◆ Test() [1/36]

Test ( log_message  ,
test_changing_num_matches_causes_numbered_matches_to_become_undefined   
)

◆ Test() [2/36]

Test ( log_message  ,
test_clear_matches_call_resets_all_matches_to_unset   
)

◆ Test() [3/36]

Test ( log_message  ,
test_cow_make_writable   
)

◆ Test() [4/36]

Test ( log_message  ,
test_cow_unset_value   
)

◆ Test() [5/36]

Test ( log_message  ,
test_cow_writing_cloned_message   
)

◆ Test() [6/36]

Test ( log_message  ,
test_format_matches_produces_a_list_of_matches_even_if_populated_via_explicit_set   
)

◆ Test() [7/36]

Test ( log_message  ,
test_format_matches_resets_match_values_if_an_out_of_range_element_is_set   
)

◆ Test() [8/36]

Test ( log_message  ,
test_local_logmsg_created_with_the_right_flags_and_timestamps   
)

◆ Test() [9/36]

Test ( log_message  ,
test_log_message_can_be_cleared   
)

◆ Test() [10/36]

Test ( log_message  ,
test_log_message_can_be_created_and_freed   
)

◆ Test() [11/36]

Test ( log_message  ,
test_log_message_clear_sdata_unsets_all_sdata   
)

◆ Test() [12/36]

Test ( log_message  ,
test_log_message_merge_doesnt_overwrite_already_set_values   
)

◆ Test() [13/36]

Test ( log_message  ,
test_log_message_merge_leaves_base_tags_intact   
)

◆ Test() [14/36]

Test ( log_message  ,
test_log_message_merge_merges_from_all_messages_in_the_context   
)

◆ Test() [15/36]

Test ( log_message  ,
test_log_message_merge_merges_the_closest_value_in_the_context   
)

◆ Test() [16/36]

Test ( log_message  ,
test_log_message_merge_unset_value   
)

◆ Test() [17/36]

Test ( log_message  ,
test_log_message_merge_with_empty_context   
)

◆ Test() [18/36]

Test ( log_message  ,
test_log_message_updates_num_matches_according_to_matches_being_set   
)

◆ Test() [19/36]

Test ( log_message  ,
test_log_msg_clear_handles_cloned_noninline_tags_properly   
)

◆ Test() [20/36]

Test ( log_message  ,
test_log_msg_get_value_with_time_related_macro   
)

◆ Test() [21/36]

Test ( log_message  ,
test_log_msg_set_value_indirect_with_self_referencing_handle_results_in_a_nonindirect_value   
)

◆ Test() [22/36]

Test ( log_message  ,
test_macro_is_always_a_string   
)

◆ Test() [23/36]

Test ( log_message  ,
test_macro_value_is_set_and_is_a_string   
)

◆ Test() [24/36]

Test ( log_message  ,
test_match_alias_numbered_macros   
)

◆ Test() [25/36]

Test ( log_message  ,
test_message_size   
)

◆ Test() [26/36]

Test ( log_message  ,
test_rcptid_is_automatically_assigned_to_a_newly_created_log_message   
)

◆ Test() [27/36]

Test ( log_message  ,
test_sdata_sanitization   
)

◆ Test() [28/36]

Test ( log_message  ,
test_sdata_seqnum_adds_meta_sequence_id   
)

◆ Test() [29/36]

Test ( log_message  ,
test_sdata_value_is_updated_by_sdata_name_value_pairs   
)

◆ Test() [30/36]

Test ( log_message  ,
test_sdata_value_omits_unset_values   
)

◆ Test() [31/36]

Test ( log_message  ,
test_set_match_access_out_of_range_are_ignored   
)

◆ Test() [32/36]

Test ( log_message  ,
test_set_match_returns_the_same_value_in_get   
)

◆ Test() [33/36]

Test ( log_message  ,
test_unset_match_returns_null   
)

◆ Test() [34/36]

Test ( log_message  ,
test_value_retains_type_information   
)

◆ Test() [35/36]

Test ( log_message  ,
test_value_that_looks_like_out_of_range_match_behaves_like_a_regular_nv_pair_and_cannot_be_accessed_as_a_match   
)

◆ Test() [36/36]

Test ( log_message  ,
when_get_indirect_value_with_null_value_len_abort_instead_of_sigsegv  ,
signal = SIGABRT 
)

◆ TestSuite()

TestSuite ( log_message  ,
init = setup,
fini = teardown 
)