From 4abda9ea26403e24b2d91b83a1e4c81f5fb4b003 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Thu, 21 Nov 2019 00:19:36 +0700 Subject: logging/vty: fix: actually ignore deprecated logging commands We shall not prevent programs from starting if their configuration files contain deprecated 'logging level ...' commands. Just print a warning and return CMD_SUCCESS instead of CMD_WARNING. While writing a unit test, another funny bug has been uncovered. Parsing of a deprecated command indeed triggers a deprecation warning, originated from libosmovty's log_deprecated_func(). This function simply calls vty_out(), but... Since the invocation of the vty_out() happens _before_ the VTY is initialized, the process is actually writing that warning to its own stdin! Most likely, because we use talloc_zero() to allocate a new instance of struct 'vty'. As a side effect, the evil warning magically appears in the output of 'make check', breaking the test statistics. Let's work around this bug for now by redirecting stdin to /dev/null. Change-Id: Ia934581410cd41594791d4e14ee74c16abe1009a Fixes: Ic9c1b566ec4a459f03e6319cf369691903cf9d00 --- tests/vty/ok_deprecated_logging.cfg | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 tests/vty/ok_deprecated_logging.cfg (limited to 'tests/vty/ok_deprecated_logging.cfg') diff --git a/tests/vty/ok_deprecated_logging.cfg b/tests/vty/ok_deprecated_logging.cfg new file mode 100644 index 00000000..2699719e --- /dev/null +++ b/tests/vty/ok_deprecated_logging.cfg @@ -0,0 +1,3 @@ +log stderr + logging filter all 1 + logging level depr debug -- cgit v1.2.3