diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-25 22:22:45 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-25 22:27:55 +0000 |
commit | 93291bd90e18808c7a1c8c692949396bbc7e4348 (patch) | |
tree | 9bbeafddc14ef0df27a35c6aaeea176c444bc43f | |
parent | 6cdd4067f766ef5680076c33a32b2dc5d622362c (diff) | |
download | bitbake-contrib-93291bd90e18808c7a1c8c692949396bbc7e4348.tar.gz |
test/data: Add in test for append/prepend/remove override operations
We currently don't have test cases for _append, _prepend and _remove. This
patch adds some basic tests and includes a test case for a recently reported
issue with the _remove operator.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/tests/data.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/bb/tests/data.py b/lib/bb/tests/data.py index 6ec27367e..ee66b22e2 100644 --- a/lib/bb/tests/data.py +++ b/lib/bb/tests/data.py @@ -213,6 +213,47 @@ class TestConcat(unittest.TestCase): self.d.appendVar("TEST", ":${BAR}") self.assertEqual(self.d.getVar("TEST", True), "foo:val:val2:bar") +class TestConcatOverride(unittest.TestCase): + def setUp(self): + self.d = bb.data.init() + self.d.setVar("FOO", "foo") + self.d.setVar("VAL", "val") + self.d.setVar("BAR", "bar") + + def test_prepend(self): + self.d.setVar("TEST", "${VAL}") + self.d.setVar("TEST_prepend", "${FOO}:") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST", True), "foo:val") + + def test_append(self): + self.d.setVar("TEST", "${VAL}") + self.d.setVar("TEST_append", ":${BAR}") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST", True), "val:bar") + + def test_multiple_append(self): + self.d.setVar("TEST", "${VAL}") + self.d.setVar("TEST_prepend", "${FOO}:") + self.d.setVar("TEST_append", ":val2") + self.d.setVar("TEST_append", ":${BAR}") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST", True), "foo:val:val2:bar") + + def test_remove(self): + self.d.setVar("TEST", "${VAL} ${BAR}") + self.d.setVar("TEST_remove", "val") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST", True), "bar") + + def test_doubleref_remove(self): + self.d.setVar("TEST", "${VAL} ${BAR}") + self.d.setVar("TEST_remove", "val") + self.d.setVar("TEST_TEST", "${TEST} ${TEST}") + bb.data.update_data(self.d) + self.assertEqual(self.d.getVar("TEST_TEST", True), "bar bar") + + class TestOverrides(unittest.TestCase): def setUp(self): self.d = bb.data.init() |