On 3/7/21 7:34 PM, Simon Glass wrote:
Move this function into test-main so that all the init is in one place.
Rename it so that its purpose is clearer.

Signed-off-by: Simon Glass <s...@chromium.org>
---

(no changes since v1)

  include/test/ut.h |  9 ---------
  test/dm/test-dm.c | 22 ----------------------
  test/test-main.c  | 33 ++++++++++++++++++++++++++++++++-
  3 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/include/test/ut.h b/include/test/ut.h
index 6e56ca99c31..4e0aba9f700 100644
--- a/include/test/ut.h
+++ b/include/test/ut.h
@@ -387,15 +387,6 @@ int test_pre_run(struct unit_test_state *uts, struct 
unit_test *test);
   */
  int test_post_run(struct unit_test_state *uts, struct unit_test *test);
-/**
- * dm_test_init() - Get ready to run a driver model test
- *
- * This clears out the driver model data structures. For sandbox it resets the
- * state structure.
- *
- * @uts: Test state
- */
-int dm_test_init(struct unit_test_state *uts);
/**
   * ut_run_tests() - Run a set of tests
diff --git a/test/dm/test-dm.c b/test/dm/test-dm.c
index 15adc53f533..d601e497522 100644
--- a/test/dm/test-dm.c
+++ b/test/dm/test-dm.c
@@ -12,7 +12,6 @@
  #include <malloc.h>
  #include <asm/global_data.h>
  #include <asm/state.h>
-#include <dm/test.h>
  #include <dm/root.h>
  #include <dm/uclass-internal.h>
  #include <test/test.h>
@@ -23,27 +22,6 @@ DECLARE_GLOBAL_DATA_PTR;
struct unit_test_state global_dm_test_state; -int dm_test_init(struct unit_test_state *uts)
-{
-       bool of_live = uts->of_live;
-
-       uts->root = NULL;
-       uts->testdev = NULL;
-       uts->force_fail_alloc = false;
-       uts->skip_post_probe = false;
-       gd->dm_root = NULL;
-       if (!CONFIG_IS_ENABLED(OF_PLATDATA))
-               memset(dm_testdrv_op_count, '\0', sizeof(dm_testdrv_op_count));
-       state_reset_for_test(state_get_current());
-
-       /* Determine whether to make the live tree available */
-       gd_set_of_root(of_live ? uts->of_root : NULL);
-       ut_assertok(dm_init(of_live));
-       uts->root = dm_root();
-
-       return 0;
-}
-
  static int dm_test_destroy(struct unit_test_state *uts)
  {
        int id;
diff --git a/test/test-main.c b/test/test-main.c
index f14b7b09f79..8b0121bdcec 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -7,12 +7,43 @@
  #include <common.h>
  #include <console.h>
  #include <dm.h>
+#include <asm/state.h>

This breaks non-sandbox unit testing, since they do not have a state.h.

--Sean

  #include <dm/root.h>
+#include <dm/test.h>
  #include <test/test.h>
  #include <test/ut.h>
DECLARE_GLOBAL_DATA_PTR; +/**
+ * dm_test_pre_run() - Get ready to run a driver model test
+ *
+ * This clears out the driver model data structures. For sandbox it resets the
+ * state structure
+ *
+ * @uts: Test state
+ */
+static int dm_test_pre_run(struct unit_test_state *uts)
+{
+       bool of_live = uts->of_live;
+
+       uts->root = NULL;
+       uts->testdev = NULL;
+       uts->force_fail_alloc = false;
+       uts->skip_post_probe = false;
+       gd->dm_root = NULL;
+       if (!CONFIG_IS_ENABLED(OF_PLATDATA))
+               memset(dm_testdrv_op_count, '\0', sizeof(dm_testdrv_op_count));
+       state_reset_for_test(state_get_current());
+
+       /* Determine whether to make the live tree available */
+       gd_set_of_root(of_live ? uts->of_root : NULL);
+       ut_assertok(dm_init(of_live));
+       uts->root = dm_root();
+
+       return 0;
+}
+
  /* Ensure all the test devices are probed */
  static int do_autoprobe(struct unit_test_state *uts)
  {
@@ -31,7 +62,7 @@ static int do_autoprobe(struct unit_test_state *uts)
  int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
  {
        if (test->flags & UT_TESTF_DM)
-               ut_assertok(dm_test_init(uts));
+               ut_assertok(dm_test_pre_run(uts));
ut_set_skip_delays(uts, false);

Reply via email to