From ece3a4d02d8162dee78c2062c10291b5fd625c36 Mon Sep 17 00:00:00 2001 From: Randy Witt Date: Wed, 6 Apr 2016 23:55:40 -0700 Subject: tests/utils.py: test origvalue in a callback matches what is expected There were no tests that verified the value of origvalue in the callback routines used by edit_metadata(). This patch adds one for a simple multiline variable. Signed-off-by: Randy Witt Signed-off-by: Richard Purdie --- lib/bb/tests/utils.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'lib/bb/tests/utils.py') diff --git a/lib/bb/tests/utils.py b/lib/bb/tests/utils.py index 6ded4dfd1..2f4ccf3c6 100644 --- a/lib/bb/tests/utils.py +++ b/lib/bb/tests/utils.py @@ -23,6 +23,7 @@ import unittest import bb import os import tempfile +import re class VerCmpString(unittest.TestCase): @@ -377,6 +378,27 @@ do_functionname() { self.assertTrue(updated, 'List should be updated but isn\'t') self.assertEqual(newlines, newfile5.splitlines(True)) + # Make sure the orig value matches what we expect it to be + def test_edit_metadata_origvalue(self): + origfile = """ +MULTILINE = " stuff \\ + morestuff" +""" + expected_value = "stuff morestuff" + global value_in_callback + value_in_callback = "" + + def handle_var(varname, origvalue, op, newlines): + global value_in_callback + value_in_callback = origvalue + return (origvalue, op, -1, False) + + bb.utils.edit_metadata(origfile.splitlines(True), + ['MULTILINE'], + handle_var) + + testvalue = re.sub('\s+', ' ', value_in_callback.strip()) + self.assertEqual(expected_value, testvalue) class EditBbLayersConf(unittest.TestCase): -- cgit 1.2.3-korg