summaryrefslogtreecommitdiff
path: root/test/dm/usb.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-02-29 15:26:02 -0700
committerSimon Glass <sjg@chromium.org>2016-03-14 15:34:50 -0600
commit61ccd886e2b3751da40a3ecf0e3cd6c91557e9e3 (patch)
treec489818cc35226843c4d624c60da17fe13a3a240 /test/dm/usb.c
parent07b2b78ce4bc8ae25e066c65245eaf58c0d9a67c (diff)
downloadu-boot-61ccd886e2b3751da40a3ecf0e3cd6c91557e9e3.tar.gz
dm: usb: Clean up USB after each test
The USB subsystem has a few counters that need to be reset since they are stored in static variables rather than driver-model data. An example is usb_max_devs. Ultimately we should move this data into the USB uclass. For now, make sure that USB is reset after each test, so that the counters go back to zero. Note: this is not a perfect solution: It a USB test fails it will exit immediately and leave USB un-reset. The impact here is that it may cause subsequence test failures in the same run. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test/dm/usb.c')
-rw-r--r--test/dm/usb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/dm/usb.c b/test/dm/usb.c
index 2d20354178..b46ae60602 100644
--- a/test/dm/usb.c
+++ b/test/dm/usb.c
@@ -52,6 +52,7 @@ static int dm_test_usb_flash(struct unit_test_state *uts)
memset(cmp, '\0', sizeof(cmp));
ut_asserteq(2, blk_dread(dev_desc, 0, 2, cmp));
ut_assertok(strcmp(cmp, "this is a test"));
+ ut_assertok(usb_stop());
return 0;
}
@@ -67,6 +68,7 @@ static int dm_test_usb_multi(struct unit_test_state *uts)
ut_assertok(uclass_get_device(UCLASS_MASS_STORAGE, 0, &dev));
ut_assertok(uclass_get_device(UCLASS_MASS_STORAGE, 1, &dev));
ut_assertok(uclass_get_device(UCLASS_MASS_STORAGE, 2, &dev));
+ ut_assertok(usb_stop());
return 0;
}