diff options
author | Gergely Nagy <algernon@balabit.hu> | 2012-08-10 15:58:30 +0200 |
---|---|---|
committer | Gergely Nagy <algernon@balabit.hu> | 2012-08-10 16:53:06 +0200 |
commit | 8f7cfb8658fc3b2714a5b1c15dd350d5466ef947 (patch) | |
tree | 79add3202492d506b964f693558b8958aad4cbad /t | |
parent | 8af1d67bd3e8a1766cb9984b3771162cc4c19669 (diff) | |
download | libumberlog-8f7cfb8658fc3b2714a5b1c15dd350d5466ef947.tar.gz libumberlog-8f7cfb8658fc3b2714a5b1c15dd350d5466ef947.tar.xz libumberlog-8f7cfb8658fc3b2714a5b1c15dd350d5466ef947.zip |
Introduce ul_set_log_flags()
Instead of piggy-backing on ul_openlog(), and accepting new flags at
openlog()-time, use a separate function, ul_set_log_flags() to achieve
the same.
This way, anyone who wants to flip any of the new flags, will have to
use ul_set_log_flags(), as ul_openlog() ignores them from now on.
This is based on work done by Miloslav Trmač <mitr@redhat.com>, and is
both an API and an ABI breakage.
Signed-off-by: Gergely Nagy <algernon@balabit.hu>
Diffstat (limited to 't')
-rw-r--r-- | t/test_umberlog.c | 142 | ||||
-rw-r--r-- | t/test_umberlog_preload.c | 97 |
2 files changed, 142 insertions, 97 deletions
diff --git a/t/test_umberlog.c b/t/test_umberlog.c index 21ac50d..07b2d17 100644 --- a/t/test_umberlog.c +++ b/t/test_umberlog.c @@ -80,6 +80,144 @@ START_TEST (test_ul_openlog) } END_TEST +START_TEST (test_ul_openlog_flag_ignore) +{ + char *msg; + struct json_object *jo; + + ul_openlog ("umberlog/test_ul_openlog_flag_ignore", LOG_UL_NODISCOVER, + LOG_LOCAL0); + + msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value_exists (jo, "pid"); + verify_value_exists (jo, "uid"); + verify_value_exists (jo, "gid"); + verify_value_exists (jo, "host"); + + json_object_put (jo); + + ul_closelog (); +} +END_TEST + +START_TEST (test_ul_set_log_flags) +{ + char *msg; + struct json_object *jo; + + ul_openlog ("umberlog/test_ul_set_log_flags", 0, LOG_LOCAL0); + ul_set_log_flags (LOG_UL_NODISCOVER); + + msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value_missing (jo, "pid"); + verify_value_missing (jo, "uid"); + verify_value_missing (jo, "gid"); + verify_value_missing (jo, "host"); + + json_object_put (jo); + + ul_closelog (); +} +END_TEST + +START_TEST (test_no_discover) +{ + char *msg; + struct json_object *jo; + + ul_openlog ("umberlog/test_no_discover", 0, LOG_LOCAL0); + ul_set_log_flags (LOG_UL_NODISCOVER); + + msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value (jo, "msg", "hello, I'm test_no_discover!"); + verify_value_missing (jo, "facility"); + verify_value_missing (jo, "priority"); + verify_value_missing (jo, "program"); + verify_value_missing (jo, "pid"); + verify_value_missing (jo, "uid"); + verify_value_missing (jo, "gid"); + verify_value_missing (jo, "host"); + verify_value_missing (jo, "timestamp"); + + json_object_put (jo); + + ul_closelog (); +} +END_TEST + +START_TEST (test_no_timestamp) +{ + char *msg; + struct json_object *jo; + + ul_openlog ("umberlog/test_no_timestamp", 0, LOG_LOCAL0); + ul_set_log_flags (LOG_UL_NOTIME); + + msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value (jo, "msg", "hello, I'm test_no_timestamp!"); + verify_value (jo, "facility", "local0"); + verify_value (jo, "priority", "debug"); + verify_value (jo, "program", "umberlog/test_no_timestamp"); + verify_value_exists (jo, "pid"); + verify_value_exists (jo, "uid"); + verify_value_exists (jo, "gid"); + verify_value_missing (jo, "timestamp"); + verify_value_exists (jo, "host"); + + json_object_put (jo); + + ul_closelog (); +} +END_TEST + +START_TEST (test_closelog) +{ + char *msg; + struct json_object *jo; + + ul_openlog ("umberlog/test_closelog", 0, LOG_LOCAL0); + ul_set_log_flags (LOG_UL_NODISCOVER); + ul_closelog (); + + msg = ul_format (LOG_DEBUG, "%s", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value_missing (jo, "facility"); + + json_object_put (jo); + + ul_openlog ("umberlog/test_closelog", 0, LOG_LOCAL0); + ul_closelog (); + + msg = ul_format (LOG_DEBUG, "%s", __FUNCTION__, NULL); + jo = parse_msg (msg); + free (msg); + + verify_value_missing (jo, "facility"); + verify_value_missing (jo, "program"); + + verify_value_missing (jo, "pid"); + verify_value_missing (jo, "uid"); + verify_value_missing (jo, "gid"); + verify_value_missing (jo, "host"); + + json_object_put (jo); +} +END_TEST + int main (void) { @@ -93,6 +231,10 @@ main (void) ft = tcase_create ("Basic tests"); tcase_add_test (ft, test_overrides); tcase_add_test (ft, test_ul_openlog); + tcase_add_test (ft, test_ul_openlog_flag_ignore); + tcase_add_test (ft, test_ul_set_log_flags); + tcase_add_test (ft, test_closelog); + tcase_add_test (ft, test_no_discover); suite_add_tcase (s, ft); sr = srunner_create (s); diff --git a/t/test_umberlog_preload.c b/t/test_umberlog_preload.c index e931210..09d3210 100644 --- a/t/test_umberlog_preload.c +++ b/t/test_umberlog_preload.c @@ -44,33 +44,6 @@ START_TEST (test_simple) } END_TEST -START_TEST (test_no_discover) -{ - char *msg; - struct json_object *jo; - - openlog ("umberlog/test_no_discover", LOG_UL_NODISCOVER, LOG_LOCAL0); - - msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); - jo = parse_msg (msg); - free (msg); - - verify_value (jo, "msg", "hello, I'm test_no_discover!"); - verify_value_missing (jo, "facility"); - verify_value_missing (jo, "priority"); - verify_value_missing (jo, "program"); - verify_value_missing (jo, "pid"); - verify_value_missing (jo, "uid"); - verify_value_missing (jo, "gid"); - verify_value_missing (jo, "host"); - verify_value_missing (jo, "timestamp"); - - json_object_put (jo); - - closelog (); -} -END_TEST - START_TEST (test_additional_fields) { char *msg; @@ -121,33 +94,6 @@ START_TEST (test_discover_priority) } END_TEST -START_TEST (test_no_timestamp) -{ - char *msg; - struct json_object *jo; - - openlog ("umberlog/test_no_timestamp", LOG_UL_NOTIME, LOG_LOCAL0); - - msg = ul_format (LOG_DEBUG, "hello, I'm %s!", __FUNCTION__, NULL); - jo = parse_msg (msg); - free (msg); - - verify_value (jo, "msg", "hello, I'm test_no_timestamp!"); - verify_value (jo, "facility", "local0"); - verify_value (jo, "priority", "debug"); - verify_value (jo, "program", "umberlog/test_no_timestamp"); - verify_value_exists (jo, "pid"); - verify_value_exists (jo, "uid"); - verify_value_exists (jo, "gid"); - verify_value_missing (jo, "timestamp"); - verify_value_exists (jo, "host"); - - json_object_put (jo); - - closelog (); -} -END_TEST - START_TEST (test_json_escape) { static const char control_chars[] = @@ -201,46 +147,6 @@ START_TEST (test_facprio) } END_TEST -START_TEST (test_closelog) -{ - char *msg; - struct json_object *jo; - - openlog ("umberlog/test_closelog", LOG_UL_NODISCOVER, LOG_LOCAL0); - closelog (); - - msg = ul_format (LOG_DEBUG, "%s", __FUNCTION__, NULL); - jo = parse_msg (msg); - free (msg); - - verify_value_missing (jo, "facility"); - - json_object_put (jo); - - openlog ("umberlog/test_closelog", 0, LOG_LOCAL0); - closelog (); - - msg = ul_format (LOG_DEBUG, "%s", __FUNCTION__, NULL); - jo = parse_msg (msg); - free (msg); - - verify_value (jo, "facility", "local0"); -#ifdef HAVE_PROGRAM_INVOCATION_SHORT_NAME - verify_value (jo, "program", "test_umberlog_preload"); -#else - verify_value_missing (jo, "program"); -#endif - verify_value_differs (jo, "pid", "0"); - if (getuid () != 0) - verify_value_differs (jo, "uid", "0"); - if (getgid () != 0) - verify_value_differs (jo, "gid", "0"); - verify_value_differs (jo, "host", ""); - - json_object_put (jo); -} -END_TEST - #ifdef HAVE_PARSE_PRINTF_FORMAT START_TEST (test_positional_params) { @@ -315,10 +221,8 @@ main (void) ft = tcase_create ("Basic tests"); tcase_add_test (ft, test_openlog_defaults); tcase_add_test (ft, test_simple); - tcase_add_test (ft, test_no_discover); tcase_add_test (ft, test_additional_fields); tcase_add_test (ft, test_discover_priority); - tcase_add_test (ft, test_no_timestamp); #ifdef HAVE_PARSE_PRINTF_FORMAT tcase_add_test (ft, test_positional_params); #endif @@ -327,7 +231,6 @@ main (void) bt = tcase_create ("Bug tests"); tcase_add_test (bt, test_json_escape); tcase_add_test (bt, test_facprio); - tcase_add_test (bt, test_closelog); suite_add_tcase (s, bt); sr = srunner_create (s); |