Update deapexer extract call

BUG: b/255963179, b/240288941
Test: art/build/apex/runtests.sh
Change-Id: I1bca2baf0aa43d092f75dad5d5b1ead9d7b55455
diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py
index 3f98903..900ada7 100755
--- a/build/apex/art_apex_test.py
+++ b/build/apex/art_apex_test.py
@@ -65,12 +65,14 @@
   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 @@
     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 @@
         # 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 @@
 
   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 @@
   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)