
Add a test to exercise the error paths when trying to apply an overlay with an unresolved symbol and cleaning up the resulting partial state. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/580394587976975770c84411896fce9fbbcf25fa.1690533838.git.geert+renesas@glider.be Signed-off-by: Rob Herring <robh@kernel.org>
3.3 KiB
SPDX-License-Identifier: GPL-2.0
obj-y += testcases.dtbo.o
obj-$(CONFIG_OF_OVERLAY) += overlay.dtbo.o
overlay_0.dtbo.o
overlay_1.dtbo.o
overlay_2.dtbo.o
overlay_3.dtbo.o
overlay_4.dtbo.o
overlay_5.dtbo.o
overlay_6.dtbo.o
overlay_7.dtbo.o
overlay_8.dtbo.o
overlay_9.dtbo.o
overlay_10.dtbo.o
overlay_11.dtbo.o
overlay_12.dtbo.o
overlay_13.dtbo.o
overlay_15.dtbo.o
overlay_16.dtbo.o
overlay_17.dtbo.o
overlay_18.dtbo.o
overlay_19.dtbo.o
overlay_20.dtbo.o
overlay_bad_add_dup_node.dtbo.o
overlay_bad_add_dup_prop.dtbo.o
overlay_bad_phandle.dtbo.o
overlay_bad_symbol.dtbo.o
overlay_base.dtbo.o
overlay_gpio_01.dtbo.o
overlay_gpio_02a.dtbo.o
overlay_gpio_02b.dtbo.o
overlay_gpio_03.dtbo.o
overlay_gpio_04a.dtbo.o
overlay_gpio_04b.dtbo.o
overlay_pci_node.dtbo.o
overlay_bad_unresolved.dtbo.o
enable creation of symbols node
DTC_FLAGS_overlay += -@ DTC_FLAGS_overlay_bad_phandle += -@ DTC_FLAGS_overlay_bad_symbol += -@ DTC_FLAGS_overlay_base += -@ DTC_FLAGS_testcases += -@
suppress warnings about intentional errors
DTC_FLAGS_testcases += -Wno-interrupts_property
-Wno-node_name_vs_property_name
-Wno-interrupt_map
Apply overlays statically with fdtoverlay. This is a build time test that
the overlays can be applied successfully by fdtoverlay. This does not
guarantee that the overlays can be applied successfully at run time by
unittest, but it provides a bit of build time test coverage for those
who do not execute unittest.
The overlays are applied on top of static_base_1.dtb and static_base_2.dtb to
create static_test_1.dtb and static_test_2.dtb. If fdtoverlay detects an
error than the kernel build will fail. static_test_1.dtb and
static_test_2.dtb are not consumed by unittest.
Some unittest overlays deliberately contain errors that unittest checks for.
These overlays will cause fdtoverlay to fail, and are thus not included
in the static test:
overlay_bad_add_dup_node.dtbo \
overlay_bad_add_dup_prop.dtbo \
overlay_bad_phandle.dtbo \
overlay_bad_symbol.dtbo \
apply_static_overlay_1 := overlay_0.dtbo
overlay_1.dtbo
overlay_2.dtbo
overlay_3.dtbo
overlay_4.dtbo
overlay_5.dtbo
overlay_6.dtbo
overlay_7.dtbo
overlay_8.dtbo
overlay_9.dtbo
overlay_10.dtbo
overlay_11.dtbo
overlay_12.dtbo
overlay_13.dtbo
overlay_15.dtbo
overlay_16.dtbo
overlay_17.dtbo
overlay_18.dtbo
overlay_19.dtbo
overlay_20.dtbo
overlay_gpio_01.dtbo
overlay_gpio_02a.dtbo
overlay_gpio_02b.dtbo
overlay_gpio_03.dtbo
overlay_gpio_04a.dtbo
overlay_gpio_04b.dtbo
apply_static_overlay_2 := overlay.dtbo
DTC_FLAGS_static_base_1 += -Wno-interrupts_property
-Wno-node_name_vs_property_name
-Wno-interrupt_map
static_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1) static_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
dtb-$(CONFIG_OF_OVERLAY) += static_test_1.dtb static_test_2.dtb