[U-Boot] [PATCH V3 4/4] dm: test: Add tests for get/find uclass devices
Przemyslaw Marczak
p.marczak at samsung.com
Thu Apr 9 08:54:18 CEST 2015
Hello Simon,
On 04/09/2015 03:47 AM, Simon Glass wrote:
> On 8 April 2015 at 11:06, Przemyslaw Marczak <p.marczak at samsung.com> 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 <p.marczak at samsung.com>
>> Cc: Simon Glass <sjg at chromium.org>
>>
>> Changes V3:
>> - new commit
>> ---
>> test/dm/core.c | 34 +++++++++++++++++++++++++++++++++-
>> 1 file changed, 33 insertions(+), 1 deletion(-)
>
> Acked-by: Simon Glass <sjg at chromium.org>
>
> 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
More information about the U-Boot
mailing list