diff options
author | 2022-11-02 16:03:42 +0000 | |
---|---|---|
committer | 2022-11-03 22:54:48 +0000 | |
commit | c232049c9980e6a80baf91f135baf89f23d9075d (patch) | |
tree | 930194cd2696e66f8ab9be1286838cf3c5d026b2 /build/apex/art_apex_test.py | |
parent | b34672426f067db0b9fa48f9d6f276d8f7c31219 (diff) |
Update deapexer extract call
BUG: b/255963179, b/240288941
Test: art/build/apex/runtests.sh
Change-Id: I1bca2baf0aa43d092f75dad5d5b1ead9d7b55455
Diffstat (limited to 'build/apex/art_apex_test.py')
-rwxr-xr-x | build/apex/art_apex_test.py | 16 |
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) |