Nul delimiter redux
PATCH 1/1 Nul delimiter redux
I missent the last patches (TIL telling send-email 'n' will still send the remaining patches =P). Half way through composing, I realized that I was probably missing untracked .dtbs thanks to .gitignore.
Anyway, so the first patch uses *.test.dtb suffix, or *test_tree1.dtb suffixes to delete instead of *.dtb so that an included .dtb won't be eliminated. It would've been easier to just to suffix the one file I wanted to include, but I tried to take a hint from the test.dts. The only hack is that the other dtbs generated by "make tests" are explicitly included in the cleanup list.
This is pretty invasive for a test of a five character patch, but it should make it easier if binary tests are added later.
Other patch is the same as the previous ones, just merged and with the test.dts name change.
- Jack
--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 1403639439-1032-1-git-send-email-jack-jZyo8ZIaZD9AfugRpC6u6w@public.gmane.org
PATCH 1/2 Selective .dtb deletion on make clean
Any .dtb generated by the tests is now suffixed with .test.dtb. The .dtbs create by make tests are now explicitly named in the Makefile cleanup list.
tl;dr make it possible to include a prebuilt .dtb in the tests directory without make clean getting it.
--- tests/Makefile.tests | 2 +- tests/run_tests.sh | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-)
tests/Makefile.tests +1 -1
@@ -41,7 +41,7 @@ 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 *.dtsv1 tmp.* +TESTS_CLEANFILES_L = *.output vglog.* vgcore.* *test_tree1.dtb bad_node_format.dtb bad_node_char.dtb bad_prop_char.dtb *.test.dtb *.test.dts *.dtsv1 tmp.* TESTS_CLEANFILES_L += dumptrees TESTS_CLEANFILES = $(TESTS) $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
tests/run_tests.sh +13 -13
@@ -263,8 +263,8 @@ libfdt_tests () { tree1_tests_rw noppy.$basetree done - run_dtc_test -I dts -O dtb -o subnode_iterate.dtb subnode_iterate.dts - run_test subnode_iterate subnode_iterate.dtb + run_dtc_test -I dts -O dtb -o subnode_iterate.test.dtb subnode_iterate.dts + run_test subnode_iterate subnode_iterate.test.dtb # Tests for behaviour on various sorts of corrupted trees run_test truncated_property
@@ -308,8 +308,8 @@ dtc_tests () { run_test phandle_format dtc_references.test.dtb both for f in legacy epapr both; do - run_dtc_test -I dts -O dtb -H $f -o dtc_references.test.$f.dtb references.dts - run_test phandle_format dtc_references.test.$f.dtb $f + run_dtc_test -I dts -O dtb -H $f -o dtc_references.$f.test.dtb references.dts + run_test phandle_format dtc_references.$f.test.dtb $f done run_dtc_test -I dts -O dtb -o multilabel.test.dtb multilabel.dts
@@ -322,9 +322,9 @@ dtc_tests () { run_test dtbs_equal_ordered dtc_comments.test.dtb dtc_comments-cmp.test.dtb # Check aliases support in fdt_path_offset - run_dtc_test -I dts -O dtb -o aliases.dtb aliases.dts - run_test get_alias aliases.dtb - run_test path_offset_aliases aliases.dtb + run_dtc_test -I dts -O dtb -o aliases.test.dtb aliases.dts + run_test get_alias aliases.test.dtb + run_test path_offset_aliases aliases.test.dtb # Check /include/ directive run_dtc_test -I dts -O dtb -o includes.test.dtb include0.dts
@@ -470,14 +470,14 @@ dtc_tests () { run_wrap_test cmp dependencies.test.d dependencies.cmp # Search paths - run_wrap_error_test $DTC -I dts -O dtb -o search_paths.dtb search_paths.dts - run_dtc_test -i search_dir -I dts -O dtb -o search_paths.dtb \ + run_wrap_error_test $DTC -I dts -O dtb -o search_paths.test.dtb search_paths.dts + run_dtc_test -i search_dir -I dts -O dtb -o search_paths.test.dtb \ search_paths.dts run_wrap_error_test $DTC -i search_dir_b -I dts -O dtb \ - -o search_paths_b.dtb search_paths_b.dts + -o search_paths_b.test.dtb search_paths_b.dts run_dtc_test -i search_dir_b -i search_dir -I dts -O dtb \ - -o search_paths_b.dtb search_paths_b.dts - run_dtc_test -I dts -O dtb -o search_paths_subdir.dtb \ + -o search_paths_b.test.dtb search_paths_b.dts + run_dtc_test -I dts -O dtb -o search_paths_subdir.test.dtb \ search_dir_b/search_paths_subdir.dts }
@@ -618,7 +618,7 @@ fdtdump_tests () { return local dts=fdtdump.dts - local dtb=fdtdump.dts.dtb + local dtb=fdtdump.dts.test.dtb local out=fdtdump.dts.out run_dtc_test -O dtb $dts -o ${dtb} $FDTDUMP ${dtb} | grep -v "//" >${out}
Signature · 6 lines
2.0.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 1403639439-1032-2-git-send-email-jack-jZyo8ZIaZD9AfugRpC6u6w@public.gmane.org
Re: [PATCH 1/2] Selective .dtb deletion on make clean
Quoted 6 lines · Jack Miller
Any .dtb generated by the tests is now suffixed with .test.dtb. The .dtbs create by
make testsare now explicitly named in theMakefilecleanup list.tl;dr make it possible to include a prebuilt .dtb in the tests directory without make clean getting it.
Hrm, yeah, this is a bit mucky. I think I'm seeing why I haven't put prebuilt .dtbs into the tree before now.
Hmm. Sorry, I know I'm changing my mind inconveniently here, but can we redo this without the prebuilt dtb - build it from a dts using the normal string escapes, or a bytestring representation.
Signature · 4 lines
David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
PATCH 2/2 Properly handle nul delimited string lists
In reply to a message not in the archivereserved-names="res1\0res2\0res3";
Where \0 is a true embedded nul in the DTS source, should properly turn into a string list. To achieve this, use the len given by the lexer instead of strlen.
Without this patch dtc will mangle the output and possible hang on realloc.
--- data.c | 2 +- tests/nul_string_list.dtb | Bin 0 -> 127 bytes tests/nul_string_list.dts | Bin 0 -> 66 bytes tests/run_tests.sh | 3 +++ 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 tests/nul_string_list.dtb create mode 100644 tests/nul_string_list.dts
data.c +1 -1
@@ -74,7 +74,7 @@ struct data data_copy_escape_string(const char *s, int len)struct data d;char *q; - d =data_grow_for (empty_data,strlen (s)+1 ); + d =data_grow_for (empty_data, len +1 ); q = d.val;while (i < len) {
tests/nul_string_list.dtb new file binary +0 -0
tests/nul_string_list.dts new file binary +0 -0
tests/run_tests.sh +3 -0
@@ -321,6 +321,9 @@ dtc_tests () { run_dtc_test -I dts -O dtb -o dtc_comments-cmp.test.dtb comments-cmp.dts run_test dtbs_equal_ordered dtc_comments.test.dtb dtc_comments-cmp.test.dtb + run_dtc_test -I dts -O dtb -o dtc_nul_string_list.test.dtb nul_string_list.dts + run_test dtbs_equal_ordered dtc_nul_string_list.test.dtb nul_string_list.dtb + # Check aliases support in fdt_path_offset run_dtc_test -I dts -O dtb -o aliases.test.dtb aliases.dts run_test get_alias aliases.test.dtb
Signature · 6 lines
2.0.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html