diff --git a/scripts/dts/test-bindings-2/multidir.yaml b/scripts/dts/test-bindings-2/multidir.yaml new file mode 100644 index 00000000000..2a41ac981b8 --- /dev/null +++ b/scripts/dts/test-bindings-2/multidir.yaml @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: BSD-3-Clause + +title: Binding in test-bindings-2/ +description: Binding in test-bindings-2/ + +properties: + compatible: + constraint: "in-dir-2" + type: string-array diff --git a/scripts/dts/test-bindings/multidir.yaml b/scripts/dts/test-bindings/multidir.yaml new file mode 100644 index 00000000000..a9fe3a9b67f --- /dev/null +++ b/scripts/dts/test-bindings/multidir.yaml @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: BSD-3-Clause + +title: Binding in test-bindings/ +description: Binding in test-bindings/ + +properties: + compatible: + constraint: "in-dir-1" + type: string-array diff --git a/scripts/dts/test-multidir.dts b/scripts/dts/test-multidir.dts new file mode 100644 index 00000000000..4bd046317d2 --- /dev/null +++ b/scripts/dts/test-multidir.dts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2019, Nordic Semiconductor + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +// Used by testedtlib.py. Dedicated file for testing having multiple binding +// directories. + +/dts-v1/; + +/ { + in-dir-1 { + compatible = "in-dir-1"; + }; + in-dir-2 { + compatible = "in-dir-2"; + }; +}; diff --git a/scripts/dts/testedtlib.py b/scripts/dts/testedtlib.py index 094e5771ae6..e566a2ca004 100755 --- a/scripts/dts/testedtlib.py +++ b/scripts/dts/testedtlib.py @@ -30,7 +30,7 @@ def run(): fail("not equal (expected value last):\n'{}'\n'{}'" .format(actual, expected)) - edt = edtlib.EDT("test.dts", "test-bindings") + edt = edtlib.EDT("test.dts", ["test-bindings"]) # # Test interrupts @@ -115,6 +115,18 @@ def run(): verify_streq(edt.get_dev("/props").props, r"{'compatible': , 'int': , 'array': , 'uint8-array': , 'string': , 'string-array': }") + # + # Test having multiple directories with bindings, with a different .dts file + # + + edt = edtlib.EDT("test-multidir.dts", ["test-bindings", "test-bindings-2"]) + + verify_streq(edt.get_dev("/in-dir-1").binding_path, + "test-bindings/multidir.yaml") + + verify_streq(edt.get_dev("/in-dir-2").binding_path, + "test-bindings-2/multidir.yaml") + print("all tests passed")