Commit 7ece1c61 authored by Joe Hershberger's avatar Joe Hershberger Committed by Simon Glass
Browse files

test: dm: net: Add a test of the netretry behavior



The effect of the "netretry" env var was recently changed. This test
checks that behavior.
Signed-off-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
parent 2eede1f3
......@@ -14,6 +14,7 @@
#include <fdtdec.h>
#include <malloc.h>
#include <net.h>
#include <asm/eth.h>
DECLARE_GLOBAL_DATA_PTR;
......@@ -122,3 +123,34 @@ static int dm_test_eth_rotate(struct dm_test_state *dms)
return 0;
}
DM_TEST(dm_test_eth_rotate, DM_TESTF_SCAN_FDT);
static int dm_test_net_retry(struct dm_test_state *dms)
{
NetPingIP = string_to_ip("1.1.2.2");
/*
* eth1 is disabled and netretry is yes, so the ping should succeed and
* the active device should be eth0
*/
sandbox_eth_disable_response(1, true);
setenv("ethact", "eth@10004000");
setenv("netretry", "yes");
ut_assertok(NetLoop(PING));
ut_asserteq_str("eth@10002000", getenv("ethact"));
/*
* eth1 is disabled and netretry is no, so the ping should fail and the
* active device should be eth1
*/
setenv("ethact", "eth@10004000");
setenv("netretry", "no");
ut_asserteq(-1, NetLoop(PING));
ut_asserteq_str("eth@10004000", getenv("ethact"));
/* Restore the env */
setenv("netretry", NULL);
sandbox_eth_disable_response(1, false);
return 0;
}
DM_TEST(dm_test_net_retry, DM_TESTF_SCAN_FDT);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment