From 6e1fb7e169c2363c78819b40869e1b47ebf3189d Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Fri, 1 Feb 2013 10:25:25 -0800 Subject: [PATCH] ofproto-macros: Fail a test that logs a WARN or higher level message. It is necessary to whitelist a couple of tests that appear to legitimately have WARN messages. Signed-off-by: Ben Pfaff Acked-by: Ethan Jackson --- tests/ofproto-macros.at | 20 +++++++++++++++++++- tests/tunnel.at | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/tests/ofproto-macros.at b/tests/ofproto-macros.at index b9356d331..9a6d5ab21 100644 --- a/tests/ofproto-macros.at +++ b/tests/ofproto-macros.at @@ -64,8 +64,26 @@ m4_define([OVS_VSWITCHD_START], AT_CHECK([ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[[OpenFlow10,OpenFlow12,OpenFlow13]] fail-mode=secure -- $1 m4_if([$2], [], [], [| perl $srcdir/uuidfilt.pl])], [0], [$2]) ]) +m4_divert_push([PREPARE_TESTS]) +check_logs () { + sed -n "$1 +/|WARN|/p +/|ERR|/p +/|EMER|/p" ovs-vswitchd.log ovsdb-server.log +} +m4_divert_pop([PREPARE_TESTS]) + +# OVS_VSWITCHD_STOP([WHITELIST]) +# +# Gracefully stops ovs-vswitchd and ovsdb-server, checking their log files +# for messages with severity WARN or higher and signaling an error if any +# is present. The optional WHITELIST may contain shell-quoted "sed" +# commands to delete any warnings that are actually expected, e.g.: +# +# OVS_VSWITCHD_STOP(["/expected error/d"]) m4_define([OVS_VSWITCHD_STOP], - [AT_CHECK([ovs-appctl -t ovs-vswitchd exit]) + [AT_CHECK([check_logs $1]) + AT_CHECK([ovs-appctl -t ovs-vswitchd exit]) AT_CHECK([ovs-appctl -t ovsdb-server exit])]) # ADD_OF_PORTS(BRIDGE, OF_PORT[, OF_PORT...]) diff --git a/tests/tunnel.at b/tests/tunnel.at index c708b3015..55fd5b3c7 100644 --- a/tests/tunnel.at +++ b/tests/tunnel.at @@ -64,7 +64,7 @@ Invalid flow ovs-appctl: ovs-vswitchd: server returned an error ]) -OVS_VSWITCHD_STOP +OVS_VSWITCHD_STOP(["/receive tunnel port not found/d"]) AT_CLEANUP AT_SETUP([tunnel - ECN decapsulation]) @@ -256,7 +256,7 @@ AT_CHECK([ovs-appctl ofproto/trace br0 'tunnel(tun_id=0xf,src=1.1.1.1,dst=2.2.2. Invalid flow ovs-appctl: ovs-vswitchd: server returned an error ]) -OVS_VSWITCHD_STOP +OVS_VSWITCHD_STOP(["/receive tunnel port not found/d"]) AT_CLEANUP AT_SETUP([tunnel - key match]) -- 2.43.0