releasetools: Move build_image.RunCommand into common.py.

build_image.RunCommand and common.Run are essentially doing the same
work, but with different interfaces and return values. This CL
consolidates them by moving build_image.RunCommand into common.py as
common.RunAndCheckOutput, with the former calling common.Run internally.

common.RunAndCheckOutput checks the exit code: it returns the output
string on success, or raises common.ExternalError otherwise.

Test: `m dist` with aosp_marlin-userdebug
Test: python -m unittest test_build_image
Test: python -m unittest test_common
Change-Id: I3cd0e9301c576572194618eba8dc00db06c3c35f
This commit is contained in:
Tao Bao
2018-10-04 15:46:16 -07:00
parent 0443b46066
commit 986ee86854
4 changed files with 84 additions and 142 deletions

View File

@@ -23,7 +23,7 @@ import unittest
import common
from build_image import (
AVBCalcMinPartitionSize, BLOCK_SIZE, BuildImageError, CheckHeadroom,
RunCommand, SetUpInDirAndFsConfig)
SetUpInDirAndFsConfig)
class BuildImageTest(unittest.TestCase):
@@ -91,8 +91,9 @@ class BuildImageTest(unittest.TestCase):
output_image = common.MakeTempFile(suffix='.img')
command = ['mkuserimg_mke2fs', input_dir, output_image, 'ext4',
'/system', '409600', '-j', '0']
ext4fs_output, exit_code = RunCommand(command)
self.assertEqual(0, exit_code)
proc = common.Run(command)
ext4fs_output, _ = proc.communicate()
self.assertEqual(0, proc.returncode)
prop_dict = {
'fs_type' : 'ext4',