From c6f33fc0d2badab78f7f3dd88797da2b5504c4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 16 Mar 2015 11:18:36 +0100 Subject: [PATCH] netperf: adapt to link-state change changes Change the matching mechanism because the IP address message may appear at any time after starting the netserver when using lwip. Issue #1327. --- repos/ports/run/netperf.inc | 10 +++++++++- repos/ports/run/netperf_lwip.inc | 2 +- repos/ports/run/netperf_lxip.inc | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/repos/ports/run/netperf.inc b/repos/ports/run/netperf.inc index dddc441eba..a13cd3c392 100644 --- a/repos/ports/run/netperf.inc +++ b/repos/ports/run/netperf.inc @@ -324,7 +324,12 @@ append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 " append qemu_args " -net user -redir tcp:12865::12865 -redir tcp:49153::49153 " -run_genode_until {.*and family AF_INET.*} 30 +if {[have_spec linux]} { + run_genode_until {.*family AF_INET.*\n} 60 +} else { + run_genode_until $ip_match_string 60 +} + set serial_id [output_spawn_id] set force_ports "" @@ -338,6 +343,9 @@ if {[have_include "power_on/qemu"]} { puts "" } +# give the TCP/IP stack some time to settle down +sleep 3 + # start netperf client connecting to netperf server running native on Genode foreach netperf_test $netperf_tests { puts "\n---------------------------- $netperf_test -----------------------" diff --git a/repos/ports/run/netperf_lwip.inc b/repos/ports/run/netperf_lwip.inc index f897870872..1871f72a2e 100644 --- a/repos/ports/run/netperf_lwip.inc +++ b/repos/ports/run/netperf_lwip.inc @@ -1,4 +1,4 @@ set netperf_target app/netperf/lwip set netperf_app netserver_lwip set netperf_stack lwip.lib.so -set ip_match_string "got IP address (\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+)" +set ip_match_string "got IP address (\[0-9]{1,3}.\[0-9]{1,3}.\[0-9]{1,3}.\[0-9]{1,3}).*\n" diff --git a/repos/ports/run/netperf_lxip.inc b/repos/ports/run/netperf_lxip.inc index b301642926..a140ec8316 100644 --- a/repos/ports/run/netperf_lxip.inc +++ b/repos/ports/run/netperf_lxip.inc @@ -1,4 +1,4 @@ set netperf_target app/netperf/lxip set netperf_app netserver_lxip set netperf_stack { lxip.lib.so libc_resolv.lib.so } -set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+)" +set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"