summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-03-07 17:35:01 -0700
committerTom Rini <trini@konsulko.com>2021-03-12 09:57:30 -0500
commitca44ca0556a29934de6356cd70a1b10f9a13c15c (patch)
tree915c94e387f6f32330070c14dea900a33daf7104 /test
parent99a88fe1bd98ad800ec0460e3174c2a846a991fe (diff)
test: Use ut_run_test() to run driver model tests
Instead of having a separate function for running driver model tests, use the common one. Make the pre/post-run functions private since we don't need these outside of test-main.c Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/dm/test-dm.c11
-rw-r--r--test/test-main.c26
2 files changed, 24 insertions, 13 deletions
diff --git a/test/dm/test-dm.c b/test/dm/test-dm.c
index df938395bb..b01123c740 100644
--- a/test/dm/test-dm.c
+++ b/test/dm/test-dm.c
@@ -25,17 +25,8 @@ struct unit_test_state global_dm_test_state;
static int dm_do_test(struct unit_test_state *uts, struct unit_test *test,
bool of_live)
{
- const char *fname = strrchr(test->file, '/') + 1;
-
- printf("Test: %s: %s%s\n", test->name, fname,
- !of_live ? " (flat tree)" : "");
uts->of_live = of_live;
-
- ut_assertok(test_pre_run(uts, test));
-
- test->func(uts);
-
- ut_assertok(test_post_run(uts, test));
+ ut_assertok(ut_run_test(uts, test, test->name));
return 0;
}
diff --git a/test/test-main.c b/test/test-main.c
index dee28d35d8..32c4d4b199 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -80,7 +80,16 @@ static int do_autoprobe(struct unit_test_state *uts)
return ret;
}
-int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
+/**
+ * test_pre_run() - Handle any preparation needed to run a test
+ *
+ * @uts: Test state
+ * @test: Test to prepare for
+ * @return 0 if OK, -EAGAIN to skip this test since some required feature is not
+ * available, other -ve on error (meaning that testing cannot likely
+ * continue)
+ */
+static int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
{
if (test->flags & UT_TESTF_DM)
ut_assertok(dm_test_pre_run(uts));
@@ -112,7 +121,14 @@ int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
return 0;
}
-int test_post_run(struct unit_test_state *uts, struct unit_test *test)
+/**
+ * test_post_run() - Handle cleaning up after a test
+ *
+ * @uts: Test state
+ * @test: Test to clean up after
+ * @return 0 if OK, -ve on error (meaning that testing cannot likely continue)
+ */
+static int test_post_run(struct unit_test_state *uts, struct unit_test *test)
{
ut_unsilence_console(uts);
if (test->flags & UT_TESTF_DM)
@@ -124,9 +140,13 @@ int test_post_run(struct unit_test_state *uts, struct unit_test *test)
int ut_run_test(struct unit_test_state *uts, struct unit_test *test,
const char *test_name)
{
+ const char *fname = strrchr(test->file, '/') + 1;
+ const char *note = "";
int ret;
- printf("Test: %s\n", test_name);
+ if ((test->flags & UT_TESTF_DM) && !uts->of_live)
+ note = " (flat tree)";
+ printf("Test: %s: %s%s\n", test_name, fname, note);
ret = test_pre_run(uts, test);
if (ret == -EAGAIN)