On 3/24/21 5:44 PM, Simon Glass wrote:
Due to a recent change, tests are limited to running on sandbox only.
Correct this so that any architecture can run them.

Signed-off-by: Simon Glass <[email protected]>
Reported-by: Sean Anderson <[email protected]>
Fixes: c79705ea938 ("test: Move dm_test_init() into test-main.c")
---

  include/test/test.h | 9 +++++++++
  test/test-main.c    | 5 ++---
  2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/include/test/test.h b/include/test/test.h
index 0b124edd601..bf7d785d8ed 100644
--- a/include/test/test.h
+++ b/include/test/test.h
@@ -124,4 +124,13 @@ enum {
   */
  struct udevice *testbus_get_clear_removed(void);
+static inline void arch_reset_for_test(void)
+{
+#ifdef CONFIG_SANDBOX
+#include <asm/state.h>
+
+       state_reset_for_test(state_get_current());
+#endif
+}
+
  #endif /* __TEST_TEST_H */
diff --git a/test/test-main.c b/test/test-main.c
index e1b49e091ab..201e39d8b2a 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -7,7 +7,6 @@
  #include <common.h>
  #include <console.h>
  #include <dm.h>
-#include <asm/state.h>
  #include <dm/root.h>
  #include <dm/test.h>
  #include <dm/uclass-internal.h>
@@ -46,9 +45,9 @@ static int dm_test_pre_run(struct unit_test_state *uts)
        uts->force_fail_alloc = false;
        uts->skip_post_probe = false;
        gd->dm_root = NULL;
-       if (!CONFIG_IS_ENABLED(OF_PLATDATA))
+       if (IS_ENABLED(CONFIG_UT_DM) && !CONFIG_IS_ENABLED(OF_PLATDATA))
                memset(dm_testdrv_op_count, '\0', sizeof(dm_testdrv_op_count));
-       state_reset_for_test(state_get_current());
+       arch_reset_for_test();
/* Determine whether to make the live tree available */
        gd_set_of_root(of_live ? uts->of_root : NULL);


Tested-by: Sean Anderson <[email protected]>

Reply via email to