summaryrefslogtreecommitdiff
path: root/build/apex/art_apex_test.py
diff options
context:
space:
mode:
author Dennis Shen <dzshen@google.com> 2022-11-04 01:10:42 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-11-04 01:10:42 +0000
commit356310472abdb61400ef88e996e9838c3bd666a9 (patch)
tree00824ab3766ffc84aa12a8a96bf432ba9f88b928 /build/apex/art_apex_test.py
parenta0b7901ea86b30c1f1ffd7ae1e87ee0080eadffb (diff)
parent68971b88e42e3ee698f8cb449236370ea77a5b19 (diff)
Update deapexer extract call am: c232049c99 am: 68971b88e4
Original change: https://android-review.googlesource.com/c/platform/art/+/2281672 Change-Id: Ibf7934ddbd03e042c8b1b4857b17b1dd0b3987f4 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 3f98903244..900ada7926 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
@@ -898,6 +900,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.
@@ -937,7 +945,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)
@@ -1023,6 +1031,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
@@ -1078,6 +1088,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)