From 2f9a659926f5d91683f740bd527c4e9fe1cdda5c Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 13 Jan 2017 11:23:18 +0100 Subject: [PATCH] tests: ignore stderr for expect expect redirects both stdout and stderr to its input. This causes serious problems when libzebra prints log messages to stderr, which are then asynchronously inserted in the middle of lines of stdout test output. Ultimately this makes testbgpmpattr fail on FreeBSD. (The stdio buffering seems to be slightly different on FreeBSD, triggering the bug.) Just ignore stderr for expect. Signed-off-by: David Lamparter --- tests/bgpd.tests/aspathtest.exp | 2 +- tests/bgpd.tests/ecommtest.exp | 2 +- tests/bgpd.tests/testbgpcap.exp | 2 +- tests/bgpd.tests/testbgpmpath.exp | 2 +- tests/bgpd.tests/testbgpmpattr.exp | 2 +- tests/libzebra.tests/tabletest.exp | 2 +- tests/libzebra.tests/test-timer-correctness.exp | 2 +- tests/libzebra.tests/testnexthopiter.exp | 2 +- tests/libzebra.tests/teststream.exp | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/bgpd.tests/aspathtest.exp b/tests/bgpd.tests/aspathtest.exp index dfecec7801..f5f262f80a 100644 --- a/tests/bgpd.tests/aspathtest.exp +++ b/tests/bgpd.tests/aspathtest.exp @@ -3,7 +3,7 @@ set testprefix "aspathtest " set aborted 0 set color 1 -spawn "./aspathtest" +spawn sh -c "exec ./aspathtest 2>/dev/null" # proc onetest { test_name note start } { # proc headerline { line } { diff --git a/tests/bgpd.tests/ecommtest.exp b/tests/bgpd.tests/ecommtest.exp index 074952fab8..cbeb03af52 100644 --- a/tests/bgpd.tests/ecommtest.exp +++ b/tests/bgpd.tests/ecommtest.exp @@ -3,7 +3,7 @@ set testprefix "ecommtest " set aborted 0 set color 0 -spawn "./ecommtest" +spawn sh -c "exec ./ecommtest 2>/dev/null" # proc simpletest { start } { diff --git a/tests/bgpd.tests/testbgpcap.exp b/tests/bgpd.tests/testbgpcap.exp index 2572623f06..aba6906bc0 100644 --- a/tests/bgpd.tests/testbgpcap.exp +++ b/tests/bgpd.tests/testbgpcap.exp @@ -3,7 +3,7 @@ set testprefix "testbgpcap " set aborted 0 set color 1 -spawn "./testbgpcap" +spawn sh -c "exec ./testbgpcap 2>/dev/null" # proc simpletest { start } { diff --git a/tests/bgpd.tests/testbgpmpath.exp b/tests/bgpd.tests/testbgpmpath.exp index 96a51e390c..6820f636a4 100644 --- a/tests/bgpd.tests/testbgpmpath.exp +++ b/tests/bgpd.tests/testbgpmpath.exp @@ -3,7 +3,7 @@ set testprefix "testbgpmpath " set aborted 0 set color 1 -spawn "./testbgpmpath" +spawn sh -c "exec ./testbgpmpath 2>/dev/null" # proc simpletest { start } { diff --git a/tests/bgpd.tests/testbgpmpattr.exp b/tests/bgpd.tests/testbgpmpattr.exp index e6d7305a68..1abce3fc9a 100644 --- a/tests/bgpd.tests/testbgpmpattr.exp +++ b/tests/bgpd.tests/testbgpmpattr.exp @@ -3,7 +3,7 @@ set testprefix "testbgpmpattr " set aborted 0 set color 1 -spawn "./testbgpmpattr" +spawn sh -c "exec ./testbgpmpattr 2>/dev/null" # proc simpletest { start } { diff --git a/tests/libzebra.tests/tabletest.exp b/tests/libzebra.tests/tabletest.exp index 5838d4fc7c..7496994b7f 100644 --- a/tests/libzebra.tests/tabletest.exp +++ b/tests/libzebra.tests/tabletest.exp @@ -2,7 +2,7 @@ set timeout 10 set testprefix "tabletest " set aborted 0 -spawn "./tabletest" +spawn sh -c "exec ./tabletest 2>/dev/null" for {set i 0} {$i < 6} {incr i 1} { onesimple "cmp $i" "Verifying cmp"; } for {set i 0} {$i < 11} {incr i 1} { onesimple "succ $i" "Verifying successor"; } diff --git a/tests/libzebra.tests/test-timer-correctness.exp b/tests/libzebra.tests/test-timer-correctness.exp index 83531c7df8..570150cd51 100644 --- a/tests/libzebra.tests/test-timer-correctness.exp +++ b/tests/libzebra.tests/test-timer-correctness.exp @@ -2,6 +2,6 @@ set timeout 10 set testprefix "test-timer-correctness" set aborted 0 -spawn "./test-timer-correctness" +spawn sh -c "exec ./test-timer-correctness 2>/dev/null" onesimple "" "Expected output and actual output match." diff --git a/tests/libzebra.tests/testnexthopiter.exp b/tests/libzebra.tests/testnexthopiter.exp index be35a0a2b8..777b753995 100644 --- a/tests/libzebra.tests/testnexthopiter.exp +++ b/tests/libzebra.tests/testnexthopiter.exp @@ -2,7 +2,7 @@ set timeout 10 set testprefix "testnexthopiter " set aborted 0 -spawn "./testnexthopiter" +spawn sh -c "exec ./testnexthopiter 2>/dev/null" onesimple "simple" "Simple test passed." onesimple "prng" "PRNG test passed." diff --git a/tests/libzebra.tests/teststream.exp b/tests/libzebra.tests/teststream.exp index ca602e305b..c977bb4417 100644 --- a/tests/libzebra.tests/teststream.exp +++ b/tests/libzebra.tests/teststream.exp @@ -1,5 +1,5 @@ set timeout 10 -spawn "./teststream" +spawn sh -c "exec ./teststream 2>/dev/null" expect { "endp: 15, readable: 15, writeable: 1009" { }