Add autodetection integration test 45/266845/1
authorMateusz Majewski <m.majewski2@samsung.com>
Fri, 19 Nov 2021 09:21:17 +0000 (10:21 +0100)
committerMateusz Majewski <m.majewski2@samsung.com>
Fri, 19 Nov 2021 09:21:17 +0000 (10:21 +0100)
Change-Id: I0bdf9dca347c9996c8b46d6ab8c469b64609349e

Makefile.am
configs/dlog-logger.conf.autodetect [new file with mode: 0644]
configs/dlog-pipe.conf.autodetect [new file with mode: 0644]
packaging/dlog.spec
tests/dlog_test.in

index 409881d..d9fa7ca 100644 (file)
@@ -783,7 +783,9 @@ data_DATA = \
        configs/dlog-pipe.conf.cpu \
        configs/dlog-logger.conf.cpu \
        configs/dlog-pipe.conf.qos \
-       configs/dlog-logger.conf.qos
+       configs/dlog-logger.conf.qos \
+       configs/dlog-pipe.conf.autodetect \
+       configs/dlog-logger.conf.autodetect
 
 unitdir = $(prefix)/lib/systemd/system
 nodist_unit_DATA = configs/dlog_logger.service \
diff --git a/configs/dlog-logger.conf.autodetect b/configs/dlog-logger.conf.autodetect
new file mode 100644 (file)
index 0000000..5503156
--- /dev/null
@@ -0,0 +1,41 @@
+##### Settings used by the logging library
+#backend=logger
+main=/dev/log_main
+apps=/dev/log_apps:/dev/log_events:
+system=/dev/log_system:
+radio=/dev/log_radio:
+
+main_size=1048576
+apps_size=1048576
+system_size=1048576
+radio_size=1048576
+
+plog=1
+debugmode=1
+limiter=1
+limiter|*|*=allow
+kmsg=:
+syslog=:
+
+kmsg_conn_sock=/var/lib/dlog-tests/kmsg.conn
+syslog_conn_sock=/var/lib/dlog-tests/syslog.conn
+
+kmsg_ctl_sock=/var/lib/dlog-tests/kmsg.ctl
+syslog_ctl_sock=/var/lib/dlog-tests/syslog.ctl
+
+kmsg_conn_sock_rights=0222
+syslog_conn_sock_rights=0222
+
+kmsg_ctl_sock_rights=0222
+syslog_ctl_sock_rights=0222
+
+kmsg_size=1048576
+syslog_size=1048576
+
+util_sorting_time_window=1000
+util_sorting_buffer_size=8192
+dynamic_config_path=/tmp/dlog-filters/
+
+dlog_logger_conf_test0=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test0 -v threadtime *:I
+dlog_logger_conf_test1=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test1 -v threadtime
+dlog_logger_conf_test2=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test2 -v threadtime *:E
diff --git a/configs/dlog-pipe.conf.autodetect b/configs/dlog-pipe.conf.autodetect
new file mode 100644 (file)
index 0000000..76b5c4e
--- /dev/null
@@ -0,0 +1,96 @@
+# Lines starting with # are comments and are ignored.
+# Empty lines are also ignored.
+# Every other line is a config value and has to be in key=value format
+
+#backend=pipe
+
+# For autodetection (to be more exact: to detect not to use the logger backend)
+main=/dev/log_lol
+
+##### Settings used by the logging library
+
+# Platform logging. Whether logging happens at all.
+plog=1
+
+# Debugmode - whether write platform debug log or not
+debugmode=1
+
+# Limiter - whether it's enabled and the rules (check the documentation for how to create rules).
+limiter=1
+limiter|*|*=allow
+
+##### Settings used by the logging daemon
+
+# Sockets that all programs connect to to receive a logging pipe.
+main_conn_sock=/var/lib/dlog-tests/main.conn
+apps_conn_sock=/var/lib/dlog-tests/apps.conn
+system_conn_sock=/var/lib/dlog-tests/system.conn
+radio_conn_sock=/var/lib/dlog-tests/radio.conn
+kmsg_conn_sock=/var/lib/dlog-tests/kmsg.conn
+syslog_conn_sock=/var/lib/dlog-tests/syslog.conn
+
+# Sockets that administrative programs connect to to manipulate the daemon.
+main_ctl_sock=/var/lib/dlog-tests/main.ctl
+apps_ctl_sock=/var/lib/dlog-tests/apps.ctl
+system_ctl_sock=/var/lib/dlog-tests/system.ctl
+radio_ctl_sock=/var/lib/dlog-tests/radio.ctl
+kmsg_ctl_sock=/var/lib/dlog-tests/kmsg.ctl
+syslog_ctl_sock=/var/lib/dlog-tests/syslog.ctl
+
+# Permissions for the relevant sockets.
+main_conn_sock_rights=0222
+apps_conn_sock_rights=0222
+system_conn_sock_rights=0222
+radio_conn_sock_rights=0222
+kmsg_conn_sock_rights=0222
+syslog_conn_sock_rights=0222
+
+main_ctl_sock_rights=0222
+apps_ctl_sock_rights=0222
+system_ctl_sock_rights=0222
+radio_ctl_sock_rights=0222
+kmsg_ctl_sock_rights=0222
+syslog_ctl_sock_rights=0222
+
+main_conn_sock_owner=log
+apps_conn_sock_owner=log
+system_conn_sock_owner=log
+radio_conn_sock_owner=log
+kmsg_conn_sock_owner=log
+syslog_conn_sock_owner=log
+
+main_ctl_sock_owner=log
+apps_ctl_sock_owner=log
+system_ctl_sock_owner=log
+radio_ctl_sock_owner=log
+kmsg_ctl_sock_owner=log
+syslog_ctl_sock_owner=log
+
+main_conn_sock_group=log
+apps_conn_sock_group=log
+system_conn_sock_group=log
+radio_conn_sock_group=log
+kmsg_conn_sock_group=log
+syslog_conn_sock_group=log
+
+main_ctl_sock_group=log
+apps_ctl_sock_group=log
+system_ctl_sock_group=log
+radio_ctl_sock_group=log
+kmsg_ctl_sock_group=log
+syslog_ctl_sock_group=log
+
+main_size=1048576
+apps_size=1048576
+system_size=1048576
+radio_size=1048576
+kmsg_size=1048576
+syslog_size=1048576
+
+dlog_logger_conf_test0=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test0 -v threadtime *:I
+dlog_logger_conf_test1=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test1 -v threadtime
+dlog_logger_conf_test2=dlogutil -b main -r 512 -n 10 -f /var/lib/dlog-tests/test2 -v threadtime *:E
+
+util_sorting_time_window=5000
+util_sorting_buffer_size=32000
+dynamic_config_path=/tmp/dlog-filters/
index ce6b2f9..e8072fe 100644 (file)
@@ -304,6 +304,8 @@ chsmack -e 'System' %{_libexecdir}/dlog-log-critical
 %{_datadir}/dlog-logger.conf.cpu
 %{_datadir}/dlog-pipe.conf.qos
 %{_datadir}/dlog-logger.conf.qos
+%{_datadir}/dlog-pipe.conf.autodetect
+%{_datadir}/dlog-logger.conf.autodetect
 %{_sysconfdir}/dlog.conf.d/99-dlog-logger.disable-platform-logging-for-testsuite.conf
 %dir %attr(755,log,log) /var/lib/dlog-tests
 %dir %attr(755,log,log) /usr/share/dlog-filters.conf.test
index 064a21b..98d7cfc 100644 (file)
@@ -1057,6 +1057,25 @@ LOG_DETAILS="testing if libdlogutil clears the buffer correctly"
 test_libdlogutil clear $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 
 if [ "$quick" -ne 1 ]; then
+       PREAUTODETECT_CONFIG_PATH=$DLOG_CONFIG_PATH
+       DLOG_CONFIG_PATH="@datadir@/dlog-$type.conf.autodetect"
+       kill $LOGGER > /dev/null
+       sleep 1
+       if [ "$type" = "logger" ]; then
+               dlogutil -cb main
+       fi
+       dlog_logger -t 0 &
+       LOGGER=$!
+       sleep 1
+
+       LOG_DETAILS="testing if backend autodetection works properly (1/2)"
+       dlogsend -b main -t DLOG_AUTODETECT "xd" && ok || fail
+       sleep 1
+
+       DLOG_CONFIG_PATH=$PREAUTODETECT_CONFIG_PATH
+       LOG_DETAILS="testing if backend autodetection works properly (2/2)"
+       [ "$(dlogutil -db main -v raw)" = "xd" ] && ok || fail
+
        kill $LOGGER > /dev/null
        sleep 1
        rm "$TESTDIR"/test*