xref: /aosp_15_r20/external/dtc/tests/delete_reinstate_multilabel.dts (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker/dts-v1/;
2*cd60bc56SAndroid Build Coastguard Worker
3*cd60bc56SAndroid Build Coastguard Worker/* Create some nodes and properties with multiple labels */
4*cd60bc56SAndroid Build Coastguard Worker
5*cd60bc56SAndroid Build Coastguard Worker/ {
6*cd60bc56SAndroid Build Coastguard Worker	label1: label2: prop = "value";
7*cd60bc56SAndroid Build Coastguard Worker
8*cd60bc56SAndroid Build Coastguard Worker	label3: label4: node {
9*cd60bc56SAndroid Build Coastguard Worker		label5: label6: prop = "value";
10*cd60bc56SAndroid Build Coastguard Worker	};
11*cd60bc56SAndroid Build Coastguard Worker};
12*cd60bc56SAndroid Build Coastguard Worker
13*cd60bc56SAndroid Build Coastguard Worker/* Delete them, and everything that's part of them, i.e. the labels */
14*cd60bc56SAndroid Build Coastguard Worker
15*cd60bc56SAndroid Build Coastguard Worker/ {
16*cd60bc56SAndroid Build Coastguard Worker	/delete-property/ prop;
17*cd60bc56SAndroid Build Coastguard Worker	/delete-node/ node;
18*cd60bc56SAndroid Build Coastguard Worker};
19*cd60bc56SAndroid Build Coastguard Worker
20*cd60bc56SAndroid Build Coastguard Worker/*
21*cd60bc56SAndroid Build Coastguard Worker * Re-instate them. None of the old labels should come back
22*cd60bc56SAndroid Build Coastguard Worker *
23*cd60bc56SAndroid Build Coastguard Worker * Note: Do not add any new/extra labels here. As of the time of writing,
24*cd60bc56SAndroid Build Coastguard Worker * when dtc adds labels to an object, they are added to the head of the list
25*cd60bc56SAndroid Build Coastguard Worker * of labels, and this test is specifically about ensuring the correct
26*cd60bc56SAndroid Build Coastguard Worker * handling of lists of labels where the first label in the list is marked as
27*cd60bc56SAndroid Build Coastguard Worker * deleted. Failure to observe this note may result in the test passing when
28*cd60bc56SAndroid Build Coastguard Worker * it should not.
29*cd60bc56SAndroid Build Coastguard Worker */
30*cd60bc56SAndroid Build Coastguard Worker
31*cd60bc56SAndroid Build Coastguard Worker/ {
32*cd60bc56SAndroid Build Coastguard Worker	prop = "value";
33*cd60bc56SAndroid Build Coastguard Worker
34*cd60bc56SAndroid Build Coastguard Worker	node {
35*cd60bc56SAndroid Build Coastguard Worker		prop = "value";
36*cd60bc56SAndroid Build Coastguard Worker	};
37*cd60bc56SAndroid Build Coastguard Worker};
38