aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2019-10-07 20:00:34 -0700
committerTao Bao <tbao@google.com>2019-10-07 20:00:34 -0700
commite1148041501d733982adf51777748c8827f1bb7c (patch)
treedcd27d0346613e8b13e2762cd432bd05fcf23d8c
parent7e49064030c7087e80f6addad61546714cab6a98 (diff)
downloadbuild-e1148041501d733982adf51777748c8827f1bb7c.tar.gz
releasetools: Move MockScriptWriter into test_utils.
Bug: 134525174 Test: TreeHugger Test: lunch a target; atest --host releasetools_test releasetools_py3_test Change-Id: I6d30f4d153d59d65227275e1d3285e30dfafd90e
-rw-r--r--tools/releasetools/test_common.py20
-rw-r--r--tools/releasetools/test_ota_from_target_files.py57
-rwxr-xr-xtools/releasetools/test_utils.py41
3 files changed, 56 insertions, 62 deletions
diff --git a/tools/releasetools/test_common.py b/tools/releasetools/test_common.py
index cc59cba11b..c1e9d7a1f4 100644
--- a/tools/releasetools/test_common.py
+++ b/tools/releasetools/test_common.py
@@ -1232,24 +1232,6 @@ class InstallRecoveryScriptFormatTest(test_utils.ReleaseToolsTestCase):
self._info)
-class MockScriptWriter(object):
- """A class that mocks edify_generator.EdifyGenerator."""
-
- def __init__(self, enable_comments=False):
- self.lines = []
- self.enable_comments = enable_comments
-
- def Comment(self, comment):
- if self.enable_comments:
- self.lines.append('# {}'.format(comment))
-
- def AppendExtra(self, extra):
- self.lines.append(extra)
-
- def __str__(self):
- return '\n'.join(self.lines)
-
-
class MockBlockDifference(object):
def __init__(self, partition, tgt, src=None):
@@ -1287,7 +1269,7 @@ class DynamicPartitionsDifferenceTest(test_utils.ReleaseToolsTestCase):
if not line.startswith(b'#')]
def setUp(self):
- self.script = MockScriptWriter()
+ self.script = test_utils.MockScriptWriter()
self.output_path = common.MakeTempFile(suffix='.zip')
def test_full(self):
diff --git a/tools/releasetools/test_ota_from_target_files.py b/tools/releasetools/test_ota_from_target_files.py
index f7d59daf85..dd42822bbc 100644
--- a/tools/releasetools/test_ota_from_target_files.py
+++ b/tools/releasetools/test_ota_from_target_files.py
@@ -74,35 +74,6 @@ def construct_target_files(secondary=False):
return target_files
-class MockScriptWriter(object):
- """A class that mocks edify_generator.EdifyGenerator.
-
- It simply pushes the incoming arguments onto script stack, which is to assert
- the calls to EdifyGenerator functions.
- """
-
- def __init__(self):
- self.script = []
-
- def Mount(self, *args):
- self.script.append(('Mount',) + args)
-
- def AssertDevice(self, *args):
- self.script.append(('AssertDevice',) + args)
-
- def AssertOemProperty(self, *args):
- self.script.append(('AssertOemProperty',) + args)
-
- def AssertFingerprintOrThumbprint(self, *args):
- self.script.append(('AssertFingerprintOrThumbprint',) + args)
-
- def AssertSomeFingerprint(self, *args):
- self.script.append(('AssertSomeFingerprint',) + args)
-
- def AssertSomeThumbprint(self, *args):
- self.script.append(('AssertSomeThumbprint',) + args)
-
-
class BuildInfoTest(test_utils.ReleaseToolsTestCase):
TEST_INFO_DICT = {
@@ -281,20 +252,20 @@ class BuildInfoTest(test_utils.ReleaseToolsTestCase):
def test_WriteMountOemScript(self):
target_info = BuildInfo(self.TEST_INFO_DICT_USES_OEM_PROPS,
self.TEST_OEM_DICTS)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
target_info.WriteMountOemScript(script_writer)
- self.assertEqual([('Mount', '/oem', None)], script_writer.script)
+ self.assertEqual([('Mount', '/oem', None)], script_writer.lines)
def test_WriteDeviceAssertions(self):
target_info = BuildInfo(self.TEST_INFO_DICT, None)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
target_info.WriteDeviceAssertions(script_writer, False)
- self.assertEqual([('AssertDevice', 'product-device')], script_writer.script)
+ self.assertEqual([('AssertDevice', 'product-device')], script_writer.lines)
def test_WriteDeviceAssertions_with_oem_props(self):
target_info = BuildInfo(self.TEST_INFO_DICT_USES_OEM_PROPS,
self.TEST_OEM_DICTS)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
target_info.WriteDeviceAssertions(script_writer, False)
self.assertEqual(
[
@@ -303,7 +274,7 @@ class BuildInfoTest(test_utils.ReleaseToolsTestCase):
('AssertOemProperty', 'ro.product.brand',
['brand1', 'brand2', 'brand3'], False),
],
- script_writer.script)
+ script_writer.lines)
def test_WriteFingerprintAssertion_without_oem_props(self):
target_info = BuildInfo(self.TEST_INFO_DICT, None)
@@ -312,36 +283,36 @@ class BuildInfoTest(test_utils.ReleaseToolsTestCase):
'source-build-fingerprint')
source_info = BuildInfo(source_info_dict, None)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
WriteFingerprintAssertion(script_writer, target_info, source_info)
self.assertEqual(
[('AssertSomeFingerprint', 'source-build-fingerprint',
'build-fingerprint')],
- script_writer.script)
+ script_writer.lines)
def test_WriteFingerprintAssertion_with_source_oem_props(self):
target_info = BuildInfo(self.TEST_INFO_DICT, None)
source_info = BuildInfo(self.TEST_INFO_DICT_USES_OEM_PROPS,
self.TEST_OEM_DICTS)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
WriteFingerprintAssertion(script_writer, target_info, source_info)
self.assertEqual(
[('AssertFingerprintOrThumbprint', 'build-fingerprint',
'build-thumbprint')],
- script_writer.script)
+ script_writer.lines)
def test_WriteFingerprintAssertion_with_target_oem_props(self):
target_info = BuildInfo(self.TEST_INFO_DICT_USES_OEM_PROPS,
self.TEST_OEM_DICTS)
source_info = BuildInfo(self.TEST_INFO_DICT, None)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
WriteFingerprintAssertion(script_writer, target_info, source_info)
self.assertEqual(
[('AssertFingerprintOrThumbprint', 'build-fingerprint',
'build-thumbprint')],
- script_writer.script)
+ script_writer.lines)
def test_WriteFingerprintAssertion_with_both_oem_props(self):
target_info = BuildInfo(self.TEST_INFO_DICT_USES_OEM_PROPS,
@@ -351,12 +322,12 @@ class BuildInfoTest(test_utils.ReleaseToolsTestCase):
'source-build-thumbprint')
source_info = BuildInfo(source_info_dict, self.TEST_OEM_DICTS)
- script_writer = MockScriptWriter()
+ script_writer = test_utils.MockScriptWriter()
WriteFingerprintAssertion(script_writer, target_info, source_info)
self.assertEqual(
[('AssertSomeThumbprint', 'build-thumbprint',
'source-build-thumbprint')],
- script_writer.script)
+ script_writer.lines)
class LoadOemDictsTest(test_utils.ReleaseToolsTestCase):
diff --git a/tools/releasetools/test_utils.py b/tools/releasetools/test_utils.py
index 244567166d..e99975765b 100755
--- a/tools/releasetools/test_utils.py
+++ b/tools/releasetools/test_utils.py
@@ -145,6 +145,47 @@ def construct_sparse_image(chunks):
return sparse_image
+class MockScriptWriter(object):
+ """A class that mocks edify_generator.EdifyGenerator.
+
+ It simply pushes the incoming arguments onto script stack, which is to assert
+ the calls to EdifyGenerator functions.
+ """
+
+ def __init__(self, enable_comments=False):
+ self.lines = []
+ self.enable_comments = enable_comments
+
+ def Mount(self, *args):
+ self.lines.append(('Mount',) + args)
+
+ def AssertDevice(self, *args):
+ self.lines.append(('AssertDevice',) + args)
+
+ def AssertOemProperty(self, *args):
+ self.lines.append(('AssertOemProperty',) + args)
+
+ def AssertFingerprintOrThumbprint(self, *args):
+ self.lines.append(('AssertFingerprintOrThumbprint',) + args)
+
+ def AssertSomeFingerprint(self, *args):
+ self.lines.append(('AssertSomeFingerprint',) + args)
+
+ def AssertSomeThumbprint(self, *args):
+ self.lines.append(('AssertSomeThumbprint',) + args)
+
+ def Comment(self, comment):
+ if not self.enable_comments:
+ return
+ self.lines.append('# {}'.format(comment))
+
+ def AppendExtra(self, extra):
+ self.lines.append(extra)
+
+ def __str__(self):
+ return '\n'.join(self.lines)
+
+
class ReleaseToolsTestCase(unittest.TestCase):
"""A common base class for all the releasetools unittests."""