1bfacad7dSJoe Hershberger /* 2bfacad7dSJoe Hershberger * Copyright (c) 2015 National Instruments 3bfacad7dSJoe Hershberger * 4bfacad7dSJoe Hershberger * (C) Copyright 2015 5bfacad7dSJoe Hershberger * Joe Hershberger <joe.hershberger@ni.com> 6bfacad7dSJoe Hershberger * 7bfacad7dSJoe Hershberger * SPDX-License-Identifier: GPL-2.0 8bfacad7dSJoe Hershberger */ 9bfacad7dSJoe Hershberger 10bfacad7dSJoe Hershberger #include <common.h> 11bfacad7dSJoe Hershberger #include <dm.h> 12bfacad7dSJoe Hershberger #include <dm/test.h> 13bfacad7dSJoe Hershberger #include <dm/ut.h> 14bfacad7dSJoe Hershberger #include <fdtdec.h> 15bfacad7dSJoe Hershberger #include <malloc.h> 16bfacad7dSJoe Hershberger #include <net.h> 17bfacad7dSJoe Hershberger 18bfacad7dSJoe Hershberger DECLARE_GLOBAL_DATA_PTR; 19bfacad7dSJoe Hershberger 20bfacad7dSJoe Hershberger static int dm_test_eth(struct dm_test_state *dms) 21bfacad7dSJoe Hershberger { 22bfacad7dSJoe Hershberger NetPingIP = string_to_ip("1.1.2.2"); 23bfacad7dSJoe Hershberger 24bfacad7dSJoe Hershberger setenv("ethact", "eth@10002000"); 25bfacad7dSJoe Hershberger ut_assertok(NetLoop(PING)); 26bfacad7dSJoe Hershberger ut_asserteq_str("eth@10002000", getenv("ethact")); 27bfacad7dSJoe Hershberger 28bfacad7dSJoe Hershberger setenv("ethact", "eth@10003000"); 29bfacad7dSJoe Hershberger ut_assertok(NetLoop(PING)); 30bfacad7dSJoe Hershberger ut_asserteq_str("eth@10003000", getenv("ethact")); 31bfacad7dSJoe Hershberger 32bfacad7dSJoe Hershberger setenv("ethact", "eth@10004000"); 33bfacad7dSJoe Hershberger ut_assertok(NetLoop(PING)); 34bfacad7dSJoe Hershberger ut_asserteq_str("eth@10004000", getenv("ethact")); 35bfacad7dSJoe Hershberger 36bfacad7dSJoe Hershberger return 0; 37bfacad7dSJoe Hershberger } 38bfacad7dSJoe Hershberger DM_TEST(dm_test_eth, DM_TESTF_SCAN_FDT); 39*e58780dcSJoe Hershberger 40*e58780dcSJoe Hershberger static int dm_test_eth_alias(struct dm_test_state *dms) 41*e58780dcSJoe Hershberger { 42*e58780dcSJoe Hershberger NetPingIP = string_to_ip("1.1.2.2"); 43*e58780dcSJoe Hershberger setenv("ethact", "eth0"); 44*e58780dcSJoe Hershberger ut_assertok(NetLoop(PING)); 45*e58780dcSJoe Hershberger ut_asserteq_str("eth@10002000", getenv("ethact")); 46*e58780dcSJoe Hershberger 47*e58780dcSJoe Hershberger setenv("ethact", "eth1"); 48*e58780dcSJoe Hershberger ut_assertok(NetLoop(PING)); 49*e58780dcSJoe Hershberger ut_asserteq_str("eth@10004000", getenv("ethact")); 50*e58780dcSJoe Hershberger 51*e58780dcSJoe Hershberger /* Expected to fail since eth2 is not defined in the device tree */ 52*e58780dcSJoe Hershberger setenv("ethact", "eth2"); 53*e58780dcSJoe Hershberger ut_assertok(NetLoop(PING)); 54*e58780dcSJoe Hershberger ut_asserteq_str("eth@10002000", getenv("ethact")); 55*e58780dcSJoe Hershberger 56*e58780dcSJoe Hershberger setenv("ethact", "eth5"); 57*e58780dcSJoe Hershberger ut_assertok(NetLoop(PING)); 58*e58780dcSJoe Hershberger ut_asserteq_str("eth@10003000", getenv("ethact")); 59*e58780dcSJoe Hershberger 60*e58780dcSJoe Hershberger return 0; 61*e58780dcSJoe Hershberger } 62*e58780dcSJoe Hershberger DM_TEST(dm_test_eth_alias, DM_TESTF_SCAN_FDT); 63