diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 14:01:50 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-11 14:10:37 +0100 |
commit | 3a319f079d699c870d8531e051ab65e6278d1fa5 (patch) | |
tree | 3c48bdc6f8f39755e2e68bbf9465f679aaf84156 /lib/bb/tests/data.py | |
parent | 1360d7b847cc01031edb2f4b289fac9560d72fa7 (diff) | |
download | bitbake-3a319f079d699c870d8531e051ab65e6278d1fa5.tar.gz |
data_smart: Ensure _remove operations on newly set variables are cleared
We clear append/prepend on newly set variables, we should also clear
remove operations. If we don't do this, there is no way we can actually
delete a remove operation. Bitbake internally uses parsing=True to avoid
these side effects when making its own internal calls.
Also add a testcase to bitbake-selftest to ensure we remain consistent going
forward from here.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/tests/data.py')
-rw-r--r-- | lib/bb/tests/data.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/bb/tests/data.py b/lib/bb/tests/data.py index fe947f5ba..a4a9dd30f 100644 --- a/lib/bb/tests/data.py +++ b/lib/bb/tests/data.py @@ -283,6 +283,12 @@ class TestConcatOverride(unittest.TestCase): self.d.setVar("TEST_remove", "val") self.assertEqual(self.d.getVar("TEST"), "bar") + def test_remove_cleared(self): + self.d.setVar("TEST", "${VAL} ${BAR}") + self.d.setVar("TEST_remove", "val") + self.d.setVar("TEST", "${VAL} ${BAR}") + self.assertEqual(self.d.getVar("TEST"), "val bar") + # Ensure the value is unchanged if we have an inactive remove override # (including that whitespace is preserved) def test_remove_inactive_override(self): |