From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Hershberger Date: Wed, 11 Mar 2015 18:44:16 -0500 Subject: [U-Boot] [PATCH v6 18/27] test: dm: eth: Add tests for the eth dm implementation In-Reply-To: <1426117465-16072-1-git-send-email-joe.hershberger@ni.com> References: <1425436881-10323-1-git-send-email-joe.hershberger@ni.com> <1426117465-16072-1-git-send-email-joe.hershberger@ni.com> Message-ID: <1426117465-16072-19-git-send-email-joe.hershberger@ni.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Add a test for the eth uclass using the sandbox eth driver. Verify basic functionality of the network stack / eth uclass by exercising the ping function. Signed-off-by: Joe Hershberger Reviewed-by: Simon Glass --- Changes in v6: None Changes in v5: None Changes in v4: None Changes in v3: -Added dm eth testing Changes in v2: None test/dm/Makefile | 1 + test/dm/eth.c | 38 ++++++++++++++++++++++++++++++++++++++ test/dm/test.dts | 18 ++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 test/dm/eth.c diff --git a/test/dm/Makefile b/test/dm/Makefile index 1d9148f..b2eb989 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -17,6 +17,7 @@ obj-$(CONFIG_DM_TEST) += ut.o obj-$(CONFIG_DM_TEST) += core.o obj-$(CONFIG_DM_TEST) += ut.o ifneq ($(CONFIG_SANDBOX),) +obj-$(CONFIG_DM_ETH) += eth.o obj-$(CONFIG_DM_GPIO) += gpio.o obj-$(CONFIG_DM_I2C) += i2c.o obj-$(CONFIG_DM_SPI_FLASH) += sf.o diff --git a/test/dm/eth.c b/test/dm/eth.c new file mode 100644 index 0000000..04ccf49 --- /dev/null +++ b/test/dm/eth.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2015 National Instruments + * + * (C) Copyright 2015 + * Joe Hershberger + * + * SPDX-License-Identifier: GPL-2.0 + */ + +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +static int dm_test_eth(struct dm_test_state *dms) +{ + NetPingIP = string_to_ip("1.1.2.2"); + + setenv("ethact", "eth at 10002000"); + ut_assertok(NetLoop(PING)); + ut_asserteq_str("eth at 10002000", getenv("ethact")); + + setenv("ethact", "eth at 10003000"); + ut_assertok(NetLoop(PING)); + ut_asserteq_str("eth at 10003000", getenv("ethact")); + + setenv("ethact", "eth at 10004000"); + ut_assertok(NetLoop(PING)); + ut_asserteq_str("eth at 10004000", getenv("ethact")); + + return 0; +} +DM_TEST(dm_test_eth, DM_TESTF_SCAN_FDT); diff --git a/test/dm/test.dts b/test/dm/test.dts index 84024a4..2f68cdf 100644 --- a/test/dm/test.dts +++ b/test/dm/test.dts @@ -149,4 +149,22 @@ }; }; + eth at 10002000 { + compatible = "sandbox,eth"; + reg = <0x10002000 0x1000>; + fake-host-hwaddr = <0x00 0x00 0x66 0x44 0x22 0x00>; + }; + + eth at 10003000 { + compatible = "sandbox,eth"; + reg = <0x10003000 0x1000>; + fake-host-hwaddr = <0x00 0x00 0x66 0x44 0x22 0x11>; + }; + + eth at 10004000 { + compatible = "sandbox,eth"; + reg = <0x10004000 0x1000>; + fake-host-hwaddr = <0x00 0x00 0x66 0x44 0x22 0x22>; + }; + }; -- 1.7.11.5