From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Thu, 09 Apr 2015 08:54:18 +0200 Subject: [U-Boot] [PATCH V3 4/4] dm: test: Add tests for get/find uclass devices In-Reply-To: References: <1428507149-19232-1-git-send-email-p.marczak@samsung.com> <1428512810-21566-1-git-send-email-p.marczak@samsung.com> <1428512810-21566-5-git-send-email-p.marczak@samsung.com> Message-ID: <5526221A.509@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Simon, On 04/09/2015 03:47 AM, Simon Glass wrote: > On 8 April 2015 at 11:06, Przemyslaw Marczak wrote: >> This commit introduces simple tests for functions: >> - uclass_find_first_device() >> - uclass_find_next_device() >> - uclass_first_device() >> - uclass_next_device() >> >> Tests added by this commit: >> - Test: dm_test_uclass_devices_find: >> * call uclass_find_first_device(), then check if: (dev != NULL), (ret == 0) >> * for the rest devices, call uclass_find_next_device() and do the same check >> >> - Test: dm_test_uclass_devices_get: >> * call uclass_first_device(), then check if: >> -- (dev != NULL), (ret == 0), device_active() >> * for the rest devices, call uclass_next_device() and do the same check >> >> Signed-off-by: Przemyslaw Marczak >> Cc: Simon Glass >> >> Changes V3: >> - new commit >> --- >> test/dm/core.c | 34 +++++++++++++++++++++++++++++++++- >> 1 file changed, 33 insertions(+), 1 deletion(-) > > Acked-by: Simon Glass > > See below. > >> >> diff --git a/test/dm/core.c b/test/dm/core.c >> index 009ad36..3a8dd1d 100644 >> --- a/test/dm/core.c >> +++ b/test/dm/core.c >> @@ -656,9 +656,41 @@ static int dm_test_uclass_before_ready(struct dm_test_state *dms) >> >> return 0; >> } >> - >> DM_TEST(dm_test_uclass_before_ready, 0); >> >> +static int dm_test_uclass_devices_find(struct dm_test_state *dms) >> +{ >> + struct udevice *dev; >> + int ret; >> + >> + for (ret = uclass_find_first_device(UCLASS_TEST, &dev); >> + dev; >> + ret = uclass_find_next_device(&dev)) { >> + ut_assert(!ret); >> + ut_assert(dev); > > ut_assert(!device_active(dev)); > > If you like I can add that when I apply. > I don't think it's a good idea. Those calls above, don't probe the device, but also don't guarantee that, the returned device was not probed, before the call. >> + } >> + >> + return 0; >> +} >> +DM_TEST(dm_test_uclass_devices_find, DM_TESTF_SCAN_PDATA); >> + >> +static int dm_test_uclass_devices_get(struct dm_test_state *dms) >> +{ >> + struct udevice *dev; >> + int ret; >> + >> + for (ret = uclass_first_device(UCLASS_TEST, &dev); >> + dev; >> + ret = uclass_next_device(&dev)) { >> + ut_assert(!ret); >> + ut_assert(dev); >> + ut_assert(device_active(dev)); >> + } >> + >> + return 0; >> +} >> +DM_TEST(dm_test_uclass_devices_get, DM_TESTF_SCAN_PDATA); >> + >> static int dm_test_device_get_uclass_id(struct dm_test_state *dms) >> { >> struct udevice *dev; >> -- >> 1.9.1 >> > > Regards, > Simon > Best regards, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com