scripts: dts: Add test for multiple binding directories
Add two bindings test-bindings/multidir.yaml test-bindings-2/multidir.yaml and a new test-multidir.dts with two nodes that use them. Verify that the two bindings were found by checking the Device.binding_path attribute for the two device nodes. Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
This commit is contained in:
parent
b8909439bf
commit
fe2d858b5f
4 changed files with 50 additions and 1 deletions
9
scripts/dts/test-bindings-2/multidir.yaml
Normal file
9
scripts/dts/test-bindings-2/multidir.yaml
Normal file
|
@ -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
|
9
scripts/dts/test-bindings/multidir.yaml
Normal file
9
scripts/dts/test-bindings/multidir.yaml
Normal file
|
@ -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
|
19
scripts/dts/test-multidir.dts
Normal file
19
scripts/dts/test-multidir.dts
Normal file
|
@ -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";
|
||||
};
|
||||
};
|
|
@ -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': <Property, name: compatible, value: ['props']>, 'int': <Property, name: int, value: 1>, 'array': <Property, name: array, value: [1, 2, 3]>, 'uint8-array': <Property, name: uint8-array, value: b'\x124'>, 'string': <Property, name: string, value: 'foo'>, 'string-array': <Property, name: string-array, value: ['foo', 'bar', 'baz']>}")
|
||||
|
||||
#
|
||||
# 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")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue