[ipset] tests/check_klog.sh: Try dmesg too, don't let shell terminate script

Message ID f7bcd843750c04b6a741967caa471b2891003a78.1525794126.git.sbrivio@redhat.com
State Under Review
Delegated to: Jozsef Kadlecsik
Headers show
Series
  • [ipset] tests/check_klog.sh: Try dmesg too, don't let shell terminate script
Related show

Commit Message

Stefano Brivio May 8, 2018, 3:43 p.m.
Some hosts might not use /var/log/kern.log for kernel messages,
so if we can't find a match there, try dmesg next.

If no matches are found, don't let the shell terminate the
script, so that we have a chance to try dmesg and actually echo
"no match!" if no matches are found: set +e before the setname
loop.

Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
---
 tests/check_klog.sh | 4 ++++
 1 file changed, 4 insertions(+)

Patch

diff --git a/tests/check_klog.sh b/tests/check_klog.sh
index 146e492b2770..9af5f66f28eb 100755
--- a/tests/check_klog.sh
+++ b/tests/check_klog.sh
@@ -42,8 +42,12 @@  ipaddr=`expand_ipv6 $1`; shift
 proto=`echo $1 | tr a-z A-Z`; shift
 port=$1; shift
 
+set +e
 for setname in $@; do
 	match=`tail -n +$loglines /var/log/kern.log | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
+	if [ -z "$match" ]; then
+		match=`dmesg | tail -n +$loglines | grep -e "in set $setname: .* SRC=$ipaddr .* PROTO=$proto SPT=$port .*"`
+	fi
 	if [ -z "$match" ]; then
 		echo "no match!"
 		exit 1