pkgconfig_DATA = dlog.pc dlogutil.pc dlog-redirect-stdout.pc
data_DATA = \
+ configs/dlog-coverage.conf \
configs/dlog-pipe.conf.test \
configs/dlog-logger.conf.test \
configs/dlog-zero-copy.conf.test \
bin_SCRIPTS = dlog_test dlog_test_header dlog_cpu
+coveragetestsdir = $(bindir)/tizen-unittests/dlog
+coveragetests_SCRIPTS = run-unittest.sh
+
docdir = $(datadir)/doc/dlog
doc_DATA = \
README.testsuite
--- /dev/null
+backend=pipe
+enable_main=1
+enable_radio=1
+enable_system=1
+enable_apps=1
+stdout_enable_main=1
+stdout_enable_radio=1
+stdout_enable_system=1
+stdout_enable_apps=1
+enable_critical=1
+enable_dotnet_api=1
+enable_native_api=1
+debugmode=1
+limiter=1
+limiter|*|*=allow
+limiter|FLOOD|*=deny
+limiter_apply_to_all_buffers=1
+dynamic_config_path=
+enable_secure_logs=1
+kmsg=:
+syslog=:
+kmsg_conn_sock_rights=0222
+syslog_conn_sock_rights=0222
+kmsg_ctl_sock_rights=0220
+syslog_ctl_sock_rights=0220
+kmsg_size=1048576
+syslog_size=1048576
+handle_kmsg=1
+epoll_time_ms=1000
+util_sorting_time_window=1000
+deduplicate_method=all_identical_logs
+deduplicate_interval_ms=1
+stash_failed_log_method=critical
+main_conn_sock=/var/lib/dlog-unittests/main.conn
+apps_conn_sock=/var/lib/dlog-unittests/apps.conn
+system_conn_sock=/var/lib/dlog-unittests/system.conn
+radio_conn_sock=/var/lib/dlog-unittests/radio.conn
+kmsg_conn_sock=/var/lib/dlog-unittests/kmsg.conn
+syslog_conn_sock=/var/lib/dlog-unittests/syslog.conn
+main_ctl_sock=/var/lib/dlog-unittests/main.ctl
+apps_ctl_sock=/var/lib/dlog-unittests/apps.ctl
+system_ctl_sock=/var/lib/dlog-unittests/system.ctl
+radio_ctl_sock=/var/lib/dlog-unittests/radio.ctl
+kmsg_ctl_sock=/var/lib/dlog-unittests/kmsg.ctl
+syslog_ctl_sock=/var/lib/dlog-unittests/syslog.ctl
+main_conn_sock_rights=0222
+apps_conn_sock_rights=0222
+system_conn_sock_rights=0222
+radio_conn_sock_rights=0222
+main_ctl_sock_rights=0220
+apps_ctl_sock_rights=0220
+system_ctl_sock_rights=0220
+radio_ctl_sock_rights=0220
+main_size=1048576
+apps_size=1048576
+system_size=1048576
+radio_size=1048576
+sort_by=recv_mono+dlog_logger_conf_main=dlogutil -b main -r 8192 -n 1 -f /var/lib/dlog-unittests/main.log -v threadtime *:V
+qos_file_path=/var/lib/dlog-unittests/qos.output
+qos_method=proportional_talmud
+qos_refresh_rate_s=5
+qos_max_throughput_logs=999
+qos_threshold_logs=40
+qos_threshold_reapply_logs=5
AC_SUBST([libexecdir])
AC_CONFIG_FILES([Makefile dlog.pc dlogutil.pc dlog-redirect-stdout.pc]
[dlog_test:tests/dlog_test.in]
+ [run-unittest.sh:tests/dlog_coverage.in]
[dlog_test_header:tests/dlog_test_header.in]
[dlog_cpu:tests/dlog_cpu.in]
[README.testsuite:tests/README.testsuite.in]
This package contains gcov code coverage/profiling files for libdlog.
%endif
+%package unittests
+Summary: Coverage tests
+
+%description unittests
+Not actually unit tests, named that way just to conform to specification
+
%isu_package
%prep
mkdir -p %{buildroot}/var/lib/dlog-tests
mkdir -p %{buildroot}/usr/share/dlog-filters.conf.test
+mkdir -p %{buildroot}/var/lib/dlog-unittests
+mkdir -p %{buildroot}/usr/share/dlog-filters.conf.unittest
%if 0%{?gcov:1}
builddir=$(basename $PWD)
%{_libdir}/pkgconfig/dlogutil.pc
%{_libdir}/pkgconfig/dlog-redirect-stdout.pc
+%files unittests
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
+%{_datadir}/dlog-coverage.conf
+%dir %attr(755,log,log) /var/lib/dlog-unittests
+%dir %attr(755,log,log) /usr/share/dlog-filters.conf.unittest
+
%files logger
%manifest dlog.manifest
%license LICENSE.APACHE2.0
--- /dev/null
+#!/bin/sh
+
+# dlog is a very low-level system piece so it makes sense that a test
+# would involve touching the system. We've got a fairly comprehensive
+# integration test (see `dlog_test.in`) which does that. However, the
+# process of gathering test coverage really wants us to run something
+# isolated and we don't have the mana to deal with that properly. So,
+# here I am going to run a bunch of useless commands in hopes that it
+# hits as many lines as possible.
+
+dlogsend -b main -b radio -b apps -b dotnet -b dotnet_api -b native -b native_api bla
+dlogsend -h
+dlogsend -kszc 1 -d 1 -f 1 -x
+dlogsend -k kritzkrieg
+echo "bla" | dlogsend
+dlogsend -b main "🚽🥌⚱️🚱"
+
+dlogutil --help
+dlogutil --chlep
+dlogutil -b rutal
+dlogutil -de 2 -n 2 -r 2 -f '/tmp/dlogutil-testing-chaff'
+dlogutil -db main --color never --pid 42 --tid 1337
+dlogutil -b main -c
+dlogutil -b main -g
+dlogutil -dv threadtime --color always
+dlogutil -dv json
+
+ORIGINAL_CONFIG_PATH="$DLOG_CONFIG_PATH"
+export DLOG_CONFIG_PATH="@datadir@/dlog-coverage.conf"
+PATH=$PATH:@libexecdir@/libdlog/
+
+dlog_logger -t 0 &
+LOGGER=$!
+sleep 5
+echo "blabla" > /dev/kmsg
+dlogsend -b main "blablabla"
+dlogsend -c 999 -b main "blablabla999"
+dlogsend -t FLOOD -b main "blablabla"
+sleep 0.3233
+dlogutil -db main
+dlogutil -u 10 -db main
+dlogutil -u 1 -db main
+dlogutil --sort-by recv_real -db main
+dlogutil --sort-by recv_mono -db main
+dlogutil --sort-by sent_real -db main
+dlogutil --sort-by sent_mono -db main
+sleep 0.42
+kill $LOGGER
+
+DLOG_CONFIG_PATH="$ORIGINAL_CONFIG_PATH"
+