summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/overlay_overlay.dts94
-rw-r--r--tests/overlay_overlay_manual_fixups.dts34
-rw-r--r--tests/overlay_overlay_nosugar.dts86
-rwxr-xr-xtests/run_tests.sh13
4 files changed, 146 insertions, 81 deletions
diff --git a/tests/overlay_overlay.dts b/tests/overlay_overlay.dts
index b6d841b..c4ef1d4 100644
--- a/tests/overlay_overlay.dts
+++ b/tests/overlay_overlay.dts
@@ -9,78 +9,44 @@
/dts-v1/;
/plugin/;
-/ {
- /* Test that we can change an int by another */
- fragment@0 {
- target = <&test>;
-
- __overlay__ {
- test-int-property = <43>;
- };
- };
-
- /* Test that we can replace a string by a longer one */
- fragment@1 {
- target = <&test>;
-
- __overlay__ {
- test-str-property = "foobar";
- };
- };
-
- /* Test that we add a new property */
- fragment@2 {
- target = <&test>;
-
- __overlay__ {
- test-str-property-2 = "foobar2";
- };
- };
-
- /* Test that we add a new node (by phandle) */
- fragment@3 {
- target = <&test>;
+/* Test that we can change an int by another */
+&test {
+ test-int-property = <43>;
+};
- __overlay__ {
- new-node {
- new-property;
- };
- };
- };
+/* Test that we can replace a string by a longer one */
+&test {
+ test-str-property = "foobar";
+};
- fragment@5 {
- target = <&test>;
+/* Test that we add a new property */
+&test {
+ test-str-property-2 = "foobar2";
+};
- __overlay__ {
- local: new-local-node {
- new-property;
- };
- };
+/* Test that we add a new node (by phandle) */
+&test {
+ new-node {
+ new-property;
};
+};
- fragment@6 {
- target = <&test>;
-
- __overlay__ {
- test-phandle = <&test>, <&local>;
- };
+&test {
+ local: new-local-node {
+ new-property;
};
+};
- fragment@7 {
- target = <&test>;
-
- __overlay__ {
- test-several-phandle = <&local>, <&local>;
- };
- };
+&test {
+ test-phandle = <&test>, <&local>;
+};
- fragment@8 {
- target = <&test>;
+&test {
+ test-several-phandle = <&local>, <&local>;
+};
- __overlay__ {
- sub-test-node {
- new-sub-test-property;
- };
- };
+&test {
+ sub-test-node {
+ new-sub-test-property;
};
};
diff --git a/tests/overlay_overlay_manual_fixups.dts b/tests/overlay_overlay_manual_fixups.dts
index e34c4fc..a5715b6 100644
--- a/tests/overlay_overlay_manual_fixups.dts
+++ b/tests/overlay_overlay_manual_fixups.dts
@@ -50,7 +50,7 @@
};
};
- fragment@5 {
+ fragment@4 {
target = <0xffffffff /*&test*/>;
__overlay__ {
@@ -60,7 +60,7 @@
};
};
- fragment@6 {
+ fragment@5 {
target = <0xffffffff /*&test*/>;
__overlay__ {
@@ -68,7 +68,7 @@
};
};
- fragment@7 {
+ fragment@6 {
target = <0xffffffff /*&test*/>;
__overlay__ {
@@ -76,7 +76,7 @@
};
};
- fragment@8 {
+ fragment@7 {
target = <0xffffffff /*&test*/>;
__overlay__ {
@@ -86,27 +86,27 @@
};
};
+ __fixups__ {
+ test = "/fragment@0:target:0",
+ "/fragment@1:target:0",
+ "/fragment@2:target:0",
+ "/fragment@3:target:0",
+ "/fragment@4:target:0",
+ "/fragment@5:target:0",
+ "/fragment@5/__overlay__:test-phandle:0",
+ "/fragment@6:target:0",
+ "/fragment@7:target:0";
+ };
__local_fixups__ {
- fragment@6 {
+ fragment@5 {
__overlay__ {
test-phandle = <4>;
};
};
- fragment@7 {
+ fragment@6 {
__overlay__ {
test-several-phandle = <0 4>;
};
};
};
- __fixups__ {
- test = "/fragment@0:target:0",
- "/fragment@1:target:0",
- "/fragment@2:target:0",
- "/fragment@3:target:0",
- "/fragment@5:target:0",
- "/fragment@6:target:0",
- "/fragment@6/__overlay__:test-phandle:0",
- "/fragment@7:target:0",
- "/fragment@8:target:0";
- };
};
diff --git a/tests/overlay_overlay_nosugar.dts b/tests/overlay_overlay_nosugar.dts
new file mode 100644
index 0000000..b6d841b
--- /dev/null
+++ b/tests/overlay_overlay_nosugar.dts
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2016 NextThing Co
+ * Copyright (c) 2016 Free Electrons
+ * Copyright (c) 2016 Konsulko Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ /* Test that we can change an int by another */
+ fragment@0 {
+ target = <&test>;
+
+ __overlay__ {
+ test-int-property = <43>;
+ };
+ };
+
+ /* Test that we can replace a string by a longer one */
+ fragment@1 {
+ target = <&test>;
+
+ __overlay__ {
+ test-str-property = "foobar";
+ };
+ };
+
+ /* Test that we add a new property */
+ fragment@2 {
+ target = <&test>;
+
+ __overlay__ {
+ test-str-property-2 = "foobar2";
+ };
+ };
+
+ /* Test that we add a new node (by phandle) */
+ fragment@3 {
+ target = <&test>;
+
+ __overlay__ {
+ new-node {
+ new-property;
+ };
+ };
+ };
+
+ fragment@5 {
+ target = <&test>;
+
+ __overlay__ {
+ local: new-local-node {
+ new-property;
+ };
+ };
+ };
+
+ fragment@6 {
+ target = <&test>;
+
+ __overlay__ {
+ test-phandle = <&test>, <&local>;
+ };
+ };
+
+ fragment@7 {
+ target = <&test>;
+
+ __overlay__ {
+ test-several-phandle = <&local>, <&local>;
+ };
+ };
+
+ fragment@8 {
+ target = <&test>;
+
+ __overlay__ {
+ sub-test-node {
+ new-sub-test-property;
+ };
+ };
+ };
+};
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 0d30edf..4d944fa 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -239,11 +239,24 @@ dtc_overlay_tests () {
run_test check_path overlay_base.test.dtb not-exists "/__fixups__"
run_test check_path overlay_base.test.dtb not-exists "/__local_fixups__"
+ # With syntactic sugar
run_dtc_test -I dts -O dtb -o overlay_overlay.test.dtb overlay_overlay.dts
run_test check_path overlay_overlay.test.dtb not-exists "/__symbols__"
run_test check_path overlay_overlay.test.dtb exists "/__fixups__"
run_test check_path overlay_overlay.test.dtb exists "/__local_fixups__"
+ # Without syntactic sugar
+ run_dtc_test -I dts -O dtb -o overlay_overlay_nosugar.test.dtb overlay_overlay.dts
+ run_test check_path overlay_overlay_nosugar.test.dtb not-exists "/__symbols__"
+ run_test check_path overlay_overlay_nosugar.test.dtb exists "/__fixups__"
+ run_test check_path overlay_overlay_nosugar.test.dtb exists "/__local_fixups__"
+
+ # Check building works the same as manual constructions
+ run_test dtbs_equal_ordered overlay_overlay.test.dtb overlay_overlay_nosugar.test.dtb
+
+ run_dtc_test -I dts -O dtb -o overlay_overlay_manual_fixups.test.dtb overlay_overlay_manual_fixups.dts
+ run_test dtbs_equal_ordered overlay_overlay.test.dtb overlay_overlay_manual_fixups.test.dtb
+
run_test overlay overlay_base.test.dtb overlay_overlay.test.dtb
# test plugin source to dtb and back