Quoting David Gow (2024-02-02 20:10:17) > On Sat, 3 Feb 2024 at 03:59, Stephen Boyd <sboyd@xxxxxxxxxx> wrote: > > > > Add a KUnit test that confirms a DTB has been loaded, i.e. there is a > > root node, and that the of_have_populated_dt() API works properly. > > > > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > > Cc: Frank Rowand <frowand.list@xxxxxxxxx> > > Cc: David Gow <davidgow@xxxxxxxxxx> > > Cc: Brendan Higgins <brendan.higgins@xxxxxxxxx> > > Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxx> > > --- > > This looks pretty good to me test-wise, though it still fails on m68k. > (Everything else I tried it on works, though I've definitely not tried > _every_ architecture.) > > aarch64: PASSED > i386: PASSED > x86_64: PASSED > x86_64 KASAN: PASSED > powerpc64: PASSED > UML: PASSED > UML LLVM: PASSED > m68k: FAILED > > $ qemu-system-m68k -nodefaults -m 1024 -kernel .kunit-all-m68k/vmlinux -append 'kunit.enable=1 console=hvc0 kunit_shutdown=reboot' -no-reboot -nographic -serial stdio -machine virt > > [11:55:05] ===================== dtb (2 subtests) ===================== > > [11:55:05] # dtb_root_node_found_by_path: EXPECTATION FAILED at drivers/of/of_test.c:18 > > [11:55:05] Expected np is not null, but is > > [11:55:05] [FAILED] dtb_root_node_found_by_path > > [11:55:05] # dtb_root_node_populates_of_root: EXPECTATION FAILED at drivers/of/of_test.c:28 > > [11:55:05] Expected of_root is not null, but is > > [11:55:05] [FAILED] dtb_root_node_populates_of_root > > [11:55:05] # module: of_test > > [11:55:05] # dtb: pass:0 fail:2 skip:0 total:2 > > [11:55:05] # Totals: pass:0 fail:2 skip:0 total:2 > > [11:55:05] ======================= [FAILED] dtb ======================= Ah yeah I forgot to mention that. m68k fails because it doesn't call the unflatten_(and_copy)?_device_tree() function, so we don't populate a root node on that architecture. One solution would be to make CONFIG_OF unavailable on m68k. Or we have to make sure DT works on any architecture. Rob, what do you prefer here? > > > My only other question is about the test names: the mix of 'of' and > 'dtb' can be a bit confusing. As is, we have: > kconfig name: OF_KUNIT_TEST > module name: of_test > suite name: dtb > test names: all start with dtb_ > > Given KUnit only really deals with the suite/test names directly, it's > not trivial to see that 'dtb.dtb_*' is controlled by OF_KUNIT_TEST and > in of_test if built as a module. (This is getting a bit easier now > that we have the 'module' attribute in the output, but still.) > > Would 'of_dtb' work as a suite name if it's important to keep both > 'of' and 'dtb'? Sure, I can add of_ prefix to the tests. > > In general, though, this test looks good to me. Particularly if m68k > can be fixed. > > Reviewed-by: David Gow <davidgow@xxxxxxxxxx> > Thanks!