]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
test: Move delay skipping to test_pre_run()
authorSimon Glass <sjg@chromium.org>
Mon, 8 Mar 2021 00:34:55 +0000 (17:34 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 12 Mar 2021 14:57:30 +0000 (09:57 -0500)
This allows delays to be skipped in sandbox tests. Move it to the
common pre-init function.

Signed-off-by: Simon Glass <sjg@chromium.org>
include/test/ut.h
test/dm/test-dm.c
test/test-main.c
test/ut.c

index 7cb5e10f3af964a6c3d833cfc80e5e2d6a919005..e5ec18e60b0d2c8cab8147748961a2defd46b2c3 100644 (file)
@@ -356,6 +356,17 @@ void ut_silence_console(struct unit_test_state *uts);
  */
 void ut_unsilence_console(struct unit_test_state *uts);
 
+/**
+ * ut_set_skip_delays() - Sets whether delays should be skipped
+ *
+ * Normally functions like mdelay() cause U-Boot to wait for a while. This
+ * allows all such delays to be skipped on sandbox, to speed up tests
+ *
+ * @uts: Test state (in case in future we want to keep state here)
+ * @skip_delays: true to skip delays, false to process them normally
+ */
+void ut_set_skip_delays(struct unit_test_state *uts, bool skip_delays);
+
 /**
  * test_pre_run() - Handle any preparation needed to run a test
  *
index fdd35f663e47667d7dabcfe71d557a73748957b5..569ffbbad934785f8346619c65df412c7924bf27 100644 (file)
@@ -78,8 +78,6 @@ static int dm_do_test(struct unit_test_state *uts, struct unit_test *test,
 
        ut_assertok(test_post_run(uts, test));
 
-       state_set_skip_delays(false);
-
        ut_assertok(dm_test_destroy(uts));
 
        return 0;
index e273777b6e204069cb8dee766ce3c8f8d97de68f..6f0d32f7e2762b406b1028d8bc214eb9b93659cd 100644 (file)
@@ -30,6 +30,8 @@ static int do_autoprobe(struct unit_test_state *uts)
 
 int test_pre_run(struct unit_test_state *uts, struct unit_test *test)
 {
+       ut_set_skip_delays(uts, false);
+
        uts->start = mallinfo();
 
        if (test->flags & UT_TESTF_SCAN_PDATA)
index 7328338731c1874f8285dd9d53f96920dc3cbaa3..ea0af153e4acd69131a935a5d31b8e8867533bd7 100644 (file)
--- a/test/ut.c
+++ b/test/ut.c
@@ -133,3 +133,10 @@ void ut_unsilence_console(struct unit_test_state *uts)
 {
        gd->flags &= ~(GD_FLG_SILENT | GD_FLG_RECORD);
 }
+
+void ut_set_skip_delays(struct unit_test_state *uts, bool skip_delays)
+{
+#ifdef CONFIG_SANDBOX
+       state_set_skip_delays(skip_delays);
+#endif
+}