releasetools: Skip validating non-sparse images.

Targets can define 'TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true' to
generate non-sparse system images, but validate_target_files.py doesn't
work with such images. This CL adds a workaround to temporarily skip the
file consistency check for such images.

Bug: 79616357
Test: Run validate_target_files.py on a target_files.zip that's not
      using sparse image.
Test: Run validate_target_files.py on marlin target_files.zip (which
      uses sparse image).
Change-Id: I1f4066c5b3fec595b10cab10283d62c1c5a6c624
This commit is contained in:
Tao Bao 2018-05-11 23:38:46 -07:00
parent fc56b59db4
commit 63e2f49fdd
1 changed files with 9 additions and 4 deletions

View File

@ -66,7 +66,7 @@ def ValidateFileAgainstSha1(input_tmp, file_name, file_path, expected_sha1):
file_name, actual_sha1, expected_sha1)
def ValidateFileConsistency(input_zip, input_tmp):
def ValidateFileConsistency(input_zip, input_tmp, info_dict):
"""Compare the files from image files and unpacked folders."""
def CheckAllFiles(which):
@ -103,6 +103,11 @@ def ValidateFileConsistency(input_zip, input_tmp):
logging.info('Validating file consistency.')
# TODO(b/79617342): Validate non-sparse images.
if info_dict.get('extfs_sparse_flag') != '-s':
logging.warning('Skipped due to target using non-sparse images')
return
# Verify IMAGES/system.img.
CheckAllFiles('system')
@ -324,10 +329,10 @@ def main():
logging.info("Unzipping the input target_files.zip: %s", args.target_files)
input_tmp = common.UnzipTemp(args.target_files)
with zipfile.ZipFile(args.target_files, 'r') as input_zip:
ValidateFileConsistency(input_zip, input_tmp)
info_dict = common.LoadInfoDict(input_tmp)
with zipfile.ZipFile(args.target_files, 'r') as input_zip:
ValidateFileConsistency(input_zip, input_tmp, info_dict)
ValidateInstallRecoveryScript(input_tmp, info_dict)
ValidateVerifiedBootImages(input_tmp, info_dict, options)