media bitstreams test: use MediaPreparer to dl test input
Bug: 65165250
Test: cts-tradefed run cts -m CtsMediaStressTestCases
Test: cts-tradefed run cts -m CtsMediaBitStreamsTestCases
Merged-In: I598edc53d0779d80e65f975d9556f158f6a19fbb
Change-Id: I446d483a604ee898a26b28b11789fa27d5ca4364
diff --git a/hostsidetests/media/bitstreams/AndroidTest.xml b/hostsidetests/media/bitstreams/AndroidTest.xml
index 2603aba..9c8da50 100644
--- a/hostsidetests/media/bitstreams/AndroidTest.xml
+++ b/hostsidetests/media/bitstreams/AndroidTest.xml
@@ -15,6 +15,9 @@
-->
<configuration description="Config for CTS Sample host test cases">
<option name="config-descriptor:metadata" key="component" value="media" />
+ <target_preparer class="com.android.compatibility.common.tradefed.targetprep.MediaPreparer">
+ <option name="media-download-only" value="true" />
+ </target_preparer>
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
<option name="test-file-name" value="CtsMediaBitstreamsDeviceSideTestApp.apk" />
diff --git a/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/MediaBitstreamsTest.java b/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/MediaBitstreamsTest.java
index 669a508..46a39fc 100644
--- a/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/MediaBitstreamsTest.java
+++ b/hostsidetests/media/bitstreams/src/android/media/cts/bitstreams/MediaBitstreamsTest.java
@@ -16,6 +16,7 @@
package android.media.cts.bitstreams;
import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
+import com.android.compatibility.common.tradefed.targetprep.MediaPreparer;
import com.android.compatibility.common.util.MetricsReportLog;
import com.android.compatibility.common.util.ResultType;
import com.android.compatibility.common.util.ResultUnit;
@@ -32,6 +33,7 @@
import com.android.tradefed.util.FileUtil;
import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.FileFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -66,7 +68,7 @@
@Option(name = MediaBitstreams.OPT_HOST_BITSTREAMS_PATH,
description = "Absolute path of Ittiam bitstreams (host)",
mandatory = true)
- private File mHostBitstreamsPath = new File(MediaBitstreams.DEFAULT_HOST_BITSTREAMS_PATH);
+ private File mHostBitstreamsPath = getDefaultBitstreamsDir();
@Option(name = MediaBitstreams.OPT_DEVICE_BITSTREAMS_PATH,
description = "Absolute path of Ittiam bitstreams (device)")
@@ -129,6 +131,22 @@
private IAbi mAbi;
private ITestDevice mDevice;
+ static File getDefaultBitstreamsDir() {
+ File mediaDir = MediaPreparer.getDefaultMediaDir();
+ File[] subDirs = mediaDir.listFiles(new FileFilter() {
+ @Override
+ public boolean accept(File child) {
+ return child.isDirectory();
+ }
+ });
+ if (subDirs != null && subDirs.length == 1) {
+ File parent = new File(mediaDir, subDirs[0].getName());
+ return new File(parent, MediaBitstreams.DEFAULT_HOST_BITSTREAMS_PATH);
+ } else {
+ return new File(MediaBitstreams.DEFAULT_HOST_BITSTREAMS_PATH);
+ }
+ }
+
static Collection<Object[]> bitstreams(String prefix, BitstreamPackage packageToRun) {
final String dynConfXml = new File("/", MediaBitstreams.DYNAMIC_CONFIG_XML).toString();
try (InputStream is = MediaBitstreamsTest.class.getResourceAsStream(dynConfXml)) {