summaryrefslogtreecommitdiff
path: root/build/apex/art_apex_test.py
diff options
context:
space:
mode:
author Dennis Shen <dzshen@google.com> 2022-11-04 01:44:00 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-11-04 01:44:00 +0000
commitaef01b907be4c19fc02caf54d0dc33e856d0f3a6 (patch)
treeb3f9fb9f93a971b726013e8a84d857b865078a60 /build/apex/art_apex_test.py
parent2b1b93e28452570d34a59e405501ea4bb55de107 (diff)
parent356310472abdb61400ef88e996e9838c3bd666a9 (diff)
Update deapexer extract call am: c232049c99 am: 68971b88e4 am: 356310472a
Original change: https://android-review.googlesource.com/c/platform/art/+/2281672 Change-Id: I7f6da3bd86b9b1d3299868fbec842a821050daf5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'build/apex/art_apex_test.py')
-rwxr-xr-xbuild/apex/art_apex_test.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index 97a16c8fb8..39b6c1a32f 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -65,12 +65,14 @@ def isEnvTrue(var):
return var in os.environ and os.environ[var] == 'true'
-def extract_apex(apex_path, deapexer_path, debugfs_path, tmpdir):
+def extract_apex(apex_path, deapexer_path, debugfs_path, fsckerofs_path,
+ blkid_path, tmpdir):
_, apex_name = os.path.split(apex_path)
extract_path = os.path.join(tmpdir, apex_name)
if os.path.exists(extract_path):
shutil.rmtree(extract_path)
subprocess.check_call([deapexer_path, '--debugfs', debugfs_path,
+ '--fsckerofs', fsckerofs_path, '--blkid', blkid_path,
'extract', apex_path, extract_path],
stdout=subprocess.DEVNULL)
return extract_path
@@ -899,6 +901,12 @@ def art_apex_test_main(test_args):
if not test_args.debugfs:
logging.error("Need debugfs.")
return 1
+ if not test_args.fsckerofs:
+ logging.error("Need fsck.erofs.")
+ return 1
+ if not test_args.blkid:
+ logging.error("Need blkid.")
+ return 1
if test_args.host:
# Host APEX.
@@ -938,7 +946,7 @@ def art_apex_test_main(test_args):
# Extract the apex. It would be nice to use the output from "deapexer list"
# to avoid this work, but it doesn't provide info about executable bits.
apex_dir = extract_apex(test_args.apex, test_args.deapexer, test_args.debugfs,
- test_args.tmpdir)
+ test_args.fsckerofs, test_args.blkid, test_args.tmpdir)
apex_provider = TargetApexProvider(apex_dir)
except (zipfile.BadZipFile, zipfile.LargeZipFile) as e:
logging.error('Failed to create provider: %s', e)
@@ -1024,6 +1032,8 @@ def art_apex_test_default(test_parser):
test_args = test_parser.parse_args(['unused']) # For consistency.
test_args.debugfs = '%s/bin/debugfs' % host_out
+ test_args.fsckerofs = '%s/bin/fsck.erofs' % host_out
+ test_args.blkid = '%s/bin/blkid' % host_out
test_args.tmpdir = '.'
test_args.tree = False
test_args.list = False
@@ -1079,6 +1089,8 @@ if __name__ == "__main__":
parser.add_argument('--tmpdir', help='Directory for temp files')
parser.add_argument('--deapexer', help='Path to deapexer')
parser.add_argument('--debugfs', help='Path to debugfs')
+ parser.add_argument('--fsckerofs', help='Path to fsck.erofs')
+ parser.add_argument('--blkid', help='Path to blkid')
parser.add_argument('--bitness', help='Bitness to check', choices=BITNESS_ALL,
default=BITNESS_AUTO)