089adb9964
fdt_add_subnode_namelen() has a bug if asked to add a subnode to a node which has NOP tags interspersed with its properties. In this case fdt_add_subnode_namelen() will put the new subnode before the first NOP tag, even if there are properties after it, which will result in an invalid blob. This patch fixes the bug, and adds a testcase for it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
65 lines
1.8 KiB
Makefile
65 lines
1.8 KiB
Makefile
LIB_TESTS_L = get_mem_rsv \
|
|
root_node find_property subnode_offset path_offset \
|
|
get_name getprop get_phandle \
|
|
get_path supernode_atdepth_offset parent_offset \
|
|
node_offset_by_prop_value node_offset_by_phandle \
|
|
node_check_compatible node_offset_by_compatible \
|
|
notfound \
|
|
setprop_inplace nop_property nop_node \
|
|
sw_tree1 \
|
|
move_and_save mangle-layout \
|
|
open_pack rw_tree1 set_name setprop del_property del_node \
|
|
string_escapes references path-references \
|
|
dtbs_equal_ordered \
|
|
add_subnode_with_nops
|
|
LIB_TESTS = $(LIB_TESTS_L:%=$(TESTS_PREFIX)%)
|
|
|
|
LIBTREE_TESTS_L = truncated_property
|
|
LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%)
|
|
|
|
TESTS = $(LIB_TESTS) $(LIBTREE_TESTS)
|
|
|
|
TESTS_TREES_L = test_tree1.dtb
|
|
TESTS_TREES = $(TESTS_TREES_L:%=$(TESTS_PREFIX)%)
|
|
|
|
TESTS_TARGETS = $(TESTS) $(TESTS_TREES)
|
|
|
|
TESTS_DEPFILES = $(TESTS:%=%.d) \
|
|
$(addprefix $(TESTS_PREFIX),testutils.d trees.d dumptrees.d)
|
|
|
|
TESTS_CLEANFILES_L = *.output vglog.* vgcore.* *.dtb *.test.dts tmp.*
|
|
TESTS_CLEANFILES = $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
|
|
|
|
BIN += $(TESTS) $(TESTS_PREFIX)dumptrees
|
|
|
|
.PHONY: tests
|
|
tests: $(TESTS) $(TESTS_TREES)
|
|
|
|
$(LIB_TESTS): %: $(TESTS_PREFIX)testutils.o $(LIBFDT_LIB)
|
|
|
|
$(LIBTREE_TESTS): %: $(TESTS_PREFIX)testutils.o $(TESTS_PREFIX)trees.o $(LIBFDT_LIB)
|
|
|
|
$(TESTS_PREFIX)dumptrees: $(TESTS_PREFIX)trees.o
|
|
|
|
$(TESTS_TREES): $(TESTS_PREFIX)dumptrees
|
|
@$(VECHO) DUMPTREES
|
|
cd $(TESTS_PREFIX); ./dumptrees >/dev/null
|
|
|
|
tests_clean:
|
|
@$(VECHO) CLEAN "(tests)"
|
|
rm -f $(STD_CLEANFILES:%=$(TESTS_PREFIX)%)
|
|
rm -f $(TESTS_CLEANFILES)
|
|
|
|
check: tests dtc
|
|
cd $(TESTS_PREFIX); ./run_tests.sh
|
|
|
|
checkm: tests dtc
|
|
cd $(TESTS_PREFIX); ./run_tests.sh -m 2>&1 | tee vglog.$$$$
|
|
|
|
checkv: tests dtc
|
|
cd $(TESTS_PREFIX); ./run_tests.sh -v
|
|
|
|
ifneq ($(DEPTARGETS),)
|
|
-include $(TESTS_DEPFILES)
|
|
endif
|
|
|