test: Use ut_run_test() to run driver model tests
authorSimon Glass <sjg@chromium.org>
Mon, 8 Mar 2021 00:35:01 +0000 (17:35 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 12 Mar 2021 14:57:30 +0000 (09:57 -0500)
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>
include/test/ut.h
test/dm/test-dm.c
test/test-main.c

index 98f699c..adef0b7 100644 (file)
@@ -368,26 +368,6 @@ void ut_unsilence_console(struct unit_test_state *uts);
 void ut_set_skip_delays(struct unit_test_state *uts, bool skip_delays);
 
 /**
- * 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)
- */
-int test_pre_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)
- */
-int test_post_run(struct unit_test_state *uts, struct unit_test *test);
-
-/**
  * ut_run_test() - Run a single test
  *
  * This runs the test, handling any preparation and clean-up needed. It prints
index df93839..b01123c 100644 (file)
@@ -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;
 }
index dee28d3..32c4d4b 100644 (file)
@@ -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)