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/test_umberlog.c | |
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/test_umberlog.c')
-rw-r--r-- | t/test_umberlog.c | 142 |
1 files changed, 142 insertions, 0 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); |