vbe: Use a manual test
authorSimon Glass <sjg@chromium.org>
Fri, 21 Oct 2022 00:23:17 +0000 (18:23 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 31 Oct 2022 15:04:00 +0000 (11:04 -0400)
Use a manual test for the VBE test, so we can make the pytest and the
C unit test work together properly.

Signed-off-by: Simon Glass <sjg@chromium.org>
test/boot/vbe_fixup.c
test/py/tests/test_vbe.py

index 7f0f809..eba5c4e 100644 (file)
 #include <test/ut.h>
 #include "bootstd_common.h"
 
-/* Basic test of reading nvdata and updating a fwupd node in the device tree */
-static int vbe_test_fixup(struct unit_test_state *uts)
+/*
+ * Basic test of reading nvdata and updating a fwupd node in the device tree
+ * This test works when called from test_vbe.py and it must use the flat tree,
+ * since device tree fix-ups do not yet support live tree.
+ */
+static int vbe_test_fixup_norun(struct unit_test_state *uts)
 {
        ofnode chosen, node;
        const char *data;
        oftree tree;
        int size;
 
-       /*
-        * This test works when called from test_vbe.py and it must use the
-        * flat tree, since device tree fix-ups do not yet support live tree.
-        */
-       if (!working_fdt)
-               return -EAGAIN;
-
        tree = oftree_from_fdt(working_fdt);
        ut_assert(oftree_valid(tree));
 
@@ -55,5 +52,5 @@ static int vbe_test_fixup(struct unit_test_state *uts)
 
        return 0;
 }
-BOOTSTD_TEST(vbe_test_fixup,
-            UT_TESTF_DM | UT_TESTF_SCAN_FDT | UT_TESTF_FLAT_TREE);
+BOOTSTD_TEST(vbe_test_fixup_norun, UT_TESTF_DM | UT_TESTF_SCAN_FDT |
+            UT_TESTF_FLAT_TREE | UT_TESTF_MANUAL);
index 559c291..50b6c1c 100644 (file)
@@ -85,7 +85,7 @@ bootm loados
 bootm prep
 fdt addr
 fdt print
-ut bootstd vbe_test_fixup
+ut bootstd -f vbe_test_fixup_norun
 '''
 
 @pytest.mark.boardspec('sandbox_flattree')
@@ -117,7 +117,4 @@ def test_vbe(u_boot_console):
     with cons.log.section('Kernel load'):
         output = cons.run_command_list(cmd.splitlines())
 
-    # This is a little wonky since there are two tests running in CI. The final
-    # one is the 'ut bootstd' command above
-    failures = [line for line in output if 'Failures' in line]
-    assert len(failures) >= 1 and 'Failures: 0' in failures[-1]
+    assert 'Failures: 0' in output[-1]