Browse Source
The previous definition of for_each_*() would always include the very first object within the list, irrespective of whether it was marked deleted, since the deleted flag was not checked on the first object, but only on any "next" object. Fix for_each_*() to check the deleted flag in the loop body every iteration to correct this. Incidentally, this change is why commitmain45013d8
dtc: "Add ability to delete nodes and properties" only caused two "make checkm" failures; only two tests actually use multiple labels on the same property or node. With this current change applied, but commit317a5d9
"dtc: zero out new label objects" reverted, "make checkm" fails 29 times; i.e. for every test that uses any labels at all. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
Stephen Warren
12 years ago
committed by
Jon Loeliger
4 changed files with 59 additions and 34 deletions
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
/dts-v1/; |
||||
|
||||
/* Create some nodes and properties with multiple labels */ |
||||
|
||||
/ { |
||||
label1: label2: prop = "value"; |
||||
|
||||
label3: label4: node { |
||||
label5: label6: prop = "value"; |
||||
}; |
||||
}; |
||||
|
||||
/* Delete them, and everything that's part of them, i.e. the labels */ |
||||
|
||||
/ { |
||||
/delete-property/ prop; |
||||
/delete-node/ node; |
||||
}; |
||||
|
||||
/* |
||||
* Re-instate them. None of the old labels should come back |
||||
* |
||||
* Note: Do not add any new/extra labels here. As of the time of writing, |
||||
* when dtc adds labels to an object, they are added to the head of the list |
||||
* of labels, and this test is specifically about ensuring the correct |
||||
* handling of lists of labels where the first label in the list is marked as |
||||
* deleted. Failure to observe this note may result in the test passing when |
||||
* it should not. |
||||
*/ |
||||
|
||||
/ { |
||||
prop = "value"; |
||||
|
||||
node { |
||||
prop = "value"; |
||||
}; |
||||
}; |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
/dts-v1/; |
||||
|
||||
/ { |
||||
prop = "value"; |
||||
|
||||
node { |
||||
prop = "value"; |
||||
}; |
||||
}; |
Loading…
Reference in new issue