diff options
author | Ram Mohan <ram.mohan@ittiam.com> | 2023-06-26 23:03:15 +0530 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-20 01:30:04 +0000 |
commit | e87d14f308403ca4c43ffef60960fd27cf8f7390 (patch) | |
tree | ad3e33c237f64b38b4768ff95824902a01521c2c | |
parent | 9c577373a7b1b7f26f8687efd9134ff46aa19608 (diff) | |
download | cts-e87d14f308403ca4c43ffef60960fd27cf8f7390.tar.gz |
videocodec CTS: Skip tests if the resource is not present
The resource clips used in video codec cts are 1080p level 5 clips.
If the device does not have 1080p decode capability, skip the tests
Bug: 288190114
Bug: 288845788
Test: atest android.videocodec.cts
(cherry picked from https://android-review.googlesource.com/q/commit:8e20663d2c7f2bb5e2cb4249a1b855206bf75518)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6d51bc09e1bfe931e86d3828c67728d726b0e761)
Merged-In: I5cc55249e80f5acefc68676a647ad20c8271e1d9
Change-Id: I5cc55249e80f5acefc68676a647ad20c8271e1d9
10 files changed, 36 insertions, 20 deletions
diff --git a/tests/videocodec/src/android/videocodec/cts/VideoDecodeEditEncodeTest.java b/tests/videocodec/src/android/videocodec/cts/VideoDecodeEditEncodeTest.java index 443bf296171..802e6429af1 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoDecodeEditEncodeTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoDecodeEditEncodeTest.java @@ -417,7 +417,7 @@ public class VideoDecodeEditEncodeTest { formats.add(decoderFormat); ArrayList<String> decoders = CodecTestBase.selectCodecs(RES_MEDIA_TYPE, formats, null, false, SELECT_SWITCH); - assertTrue("Could not find decoder for format : " + decoderFormat, decoders.size() > 0); + assumeTrue("Could not find decoder for format : " + decoderFormat, decoders.size() > 0); String decoderName = decoders.get(0); // build encoder format and check if it is supported by the current component diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderAdaptiveBitRateTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderAdaptiveBitRateTest.java index 3a5d7c18ed7..c6e69911a06 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderAdaptiveBitRateTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderAdaptiveBitRateTest.java @@ -21,8 +21,8 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import android.media.MediaCodec; import android.media.MediaFormat; @@ -201,7 +201,7 @@ public class VideoEncoderAdaptiveBitRateTest extends VideoEncoderValidationTestB areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); int limit = mSegmentBitRates.length * SEGMENT_DURATION * mEncCfgParams[0].mFrameRate; encodeToMemory(mCodecName, mEncCfgParams[0], res, limit, true, false); diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderFrameRateTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderFrameRateTest.java index 87294d71967..f71867ce4bf 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderFrameRateTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderFrameRateTest.java @@ -19,8 +19,8 @@ package android.videocodec.cts; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import static org.junit.Assume.assumeTrue; import android.media.MediaFormat; @@ -143,7 +143,7 @@ public class VideoEncoderFrameRateTest extends VideoEncoderValidationTestBase { int refSize = -1; boolean testSkipped = false; RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); for (float scaleFactor : scaleFactors) { EncoderConfigParams cfg = mEncCfgParams[0].getBuilder() diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderIntraFrameIntervalTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderIntraFrameIntervalTest.java index 9be24853b08..481bc4595fe 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderIntraFrameIntervalTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderIntraFrameIntervalTest.java @@ -24,8 +24,8 @@ import static android.media.MediaFormat.PICTURE_TYPE_P; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import android.media.MediaFormat; import android.mediav2.common.cts.BitStreamUtils; @@ -152,7 +152,7 @@ public class VideoEncoderIntraFrameIntervalTest extends VideoEncoderValidationTe Assume.assumeTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, false, false); assertEquals("encoder did not encode the requested number of frames \n" diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMaxBFrameTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMaxBFrameTest.java index 96101e15337..311d2e068f2 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMaxBFrameTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMaxBFrameTest.java @@ -21,8 +21,8 @@ import static android.media.MediaFormat.PICTURE_TYPE_I; import static android.media.MediaFormat.PICTURE_TYPE_P; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import android.media.MediaFormat; import android.mediav2.common.cts.BitStreamUtils; @@ -137,7 +137,7 @@ public class VideoEncoderMaxBFrameTest extends VideoEncoderValidationTestBase { Assume.assumeTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, false, false); assertEquals("encoder did not encode the requested number of frames \n" diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMinMaxTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMinMaxTest.java index 9d6dc6bf4ae..170b5a89e97 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMinMaxTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMinMaxTest.java @@ -21,8 +21,8 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import static org.junit.Assume.assumeTrue; import android.media.MediaCodecInfo; @@ -301,7 +301,7 @@ public class VideoEncoderMinMaxTest extends VideoEncoderValidationTestBase { assertTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, false, true); CompareStreams cs = null; diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMultiResTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMultiResTest.java index d2f48cdd4eb..f95ac495e67 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderMultiResTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderMultiResTest.java @@ -21,8 +21,8 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import android.media.MediaFormat; import android.mediav2.common.cts.CompareStreams; @@ -186,7 +186,7 @@ public class VideoEncoderMultiResTest extends VideoEncoderValidationTestBase { Assume.assumeTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, false, true); assertEquals("Output width is different from configured width \n" + mTestConfig diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderPsnrTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderPsnrTest.java index 97189ace129..3f0086b6410 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderPsnrTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderPsnrTest.java @@ -21,8 +21,8 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeNotNull; import android.media.MediaFormat; import android.mediav2.common.cts.CompareStreams; @@ -141,7 +141,7 @@ public class VideoEncoderPsnrTest extends VideoEncoderValidationTestBase { Assume.assumeTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, false, true); CompareStreams cs = null; diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderQualityRegressionTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderQualityRegressionTest.java index b714c72cb7b..beb6067417b 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderQualityRegressionTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderQualityRegressionTest.java @@ -20,10 +20,13 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR; import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static android.videocodec.cts.VideoEncoderValidationTestBase.BIRTHDAY_FULLHD_LANDSCAPE; +import static android.videocodec.cts.VideoEncoderValidationTestBase.DIAGNOSTICS; +import static android.videocodec.cts.VideoEncoderValidationTestBase.logAllFilesInCacheDir; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeNotNull; import static org.junit.Assume.assumeTrue; import android.media.MediaFormat; @@ -40,6 +43,7 @@ import com.android.compatibility.common.util.ApiTest; import org.junit.After; import org.junit.AfterClass; import org.junit.Assume; +import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -103,9 +107,16 @@ public class VideoEncoderQualityRegressionTest { @BeforeClass public static void decodeResourceToYuv() throws IOException, InterruptedException { - DecodeStreamToYuv yuvRes = new DecodeStreamToYuv(RES.mMediaType, RES.mResFile, FRAME_LIMIT, - LOG_TAG); - sActiveRawRes = yuvRes.getDecodedYuv(); + logAllFilesInCacheDir(true); + try { + DecodeStreamToYuv yuv = new DecodeStreamToYuv(RES.mMediaType, RES.mResFile, + FRAME_LIMIT, LOG_TAG); + sActiveRawRes = yuv.getDecodedYuv(); + } catch (Exception e) { + DIAGNOSTICS.append(String.format("\nWhile decoding the resource : %s," + + " encountered exception : %s was thrown", RES, e)); + logAllFilesInCacheDir(false); + } } @AfterClass @@ -114,6 +125,11 @@ public class VideoEncoderQualityRegressionTest { sActiveRawRes = null; } + @Before + public void setUp() { + assumeNotNull("no raw resource found for testing : ", sActiveRawRes); + } + @After public void tearDown() { for (String tmpFile : mTmpFiles) { diff --git a/tests/videocodec/src/android/videocodec/cts/VideoEncoderTargetBitrateTest.java b/tests/videocodec/src/android/videocodec/cts/VideoEncoderTargetBitrateTest.java index 05db1a7553e..1b6763bb4b6 100644 --- a/tests/videocodec/src/android/videocodec/cts/VideoEncoderTargetBitrateTest.java +++ b/tests/videocodec/src/android/videocodec/cts/VideoEncoderTargetBitrateTest.java @@ -21,7 +21,7 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static android.mediav2.common.cts.CodecTestBase.ComponentClass.HARDWARE; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.Assume.assumeNotNull; import android.media.MediaCodec; import android.media.MediaFormat; @@ -182,7 +182,7 @@ public class VideoEncoderTargetBitrateTest extends VideoEncoderValidationTestBas Assume.assumeTrue("Encoder: " + mCodecName + " doesn't support format: " + format, areFormatsSupported(mCodecName, mMediaType, formats)); RawResource res = RES_YUV_MAP.getOrDefault(mCRes.uniqueLabel(), null); - assertNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + assumeNotNull("no raw resource found for testing config : " + mEncCfgParams[0] + mTestConfig + mTestEnv + DIAGNOSTICS, res); encodeToMemory(mCodecName, mEncCfgParams[0], res, FRAME_LIMIT, true, false); assertEquals("encoder did not encode the requested number of frames \n" |