[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