From 058e9a67d03bb557c9f04f1cd77c0047a87a01d5 Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Thu, 31 Jan 2019 12:27:59 -0800 Subject: [PATCH] Add a script to run the GTS and CTS media tests Test: Manual, use script Change-Id: I16fe3cf6dbb0795b2397e8844480029403784d0b --- libwvdrmengine/run_gts_and_cts_tests.sh | 90 +++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100755 libwvdrmengine/run_gts_and_cts_tests.sh diff --git a/libwvdrmengine/run_gts_and_cts_tests.sh b/libwvdrmengine/run_gts_and_cts_tests.sh new file mode 100755 index 00000000..e697db6a --- /dev/null +++ b/libwvdrmengine/run_gts_and_cts_tests.sh @@ -0,0 +1,90 @@ +#/bin/bash + +# Helper script to use atest to run the MediaDrm CTS and GTS tests + +# This script: +# 1. Unlocks a device that has no pin set +# 2. Asserts that it has internet connectivity +# 3. Clears logcat +# 4. Uses atest to run the MediaDrm CTS and GTS tests +# 5. Saves output of atest and logcat to log files in the $OUT dir + +if [[ -z "$ANDROID_SERIAL" ]]; then + echo '$ANDROID_SERIAL not set. Set ANDROID_SERIAL to the serial of the' \ + 'device you want to test.' + exit 1 +fi + +if [[ -z "$OUT" ]]; then + echo '$OUT not set. You must source build/envsetup.sh and run lunch first.' + exit 1 +fi + +adb root + +if [[ "$?" -ne 0 ]]; then + exit 1 +fi + +# Make screen never sleep while charging +adb shell settings put global stay_on_while_plugged_in 7 + +# Unlock a device that does not have a pin or password set (e.g. swipe up to unlock): +# press the wakeup key, then if the device is still locked, press the menu key +adb shell input keyevent 224 +sleep 1 +if [[ $(adb shell dumpsys nfc | grep '^mScreenState=ON_LOCKED$') ]] ; then + adb shell input keyevent 82 +fi + +if [[ ! $(adb shell ping -c 1 google.com) ]]; then + echo "No wifi. Exiting" + exit 1 +fi + +adb shell mkdir -p /sdcard/test/images/ + +TIMESTAMP="$(date +"%b-%d-%H%M")" +STDOUT_FILE="$OUT/atest.mediadrm.$ANDROID_SERIAL.$TIMESTAMP.stdout.log" +STDERR_FILE="$OUT/atest.mediadrm.$ANDROID_SERIAL.$TIMESTAMP.stderr.log " +LOGCAT_FILE="$OUT/atest.mediadrm.$ANDROID_SERIAL.$TIMESTAMP.logcat.log" + +adb logcat -c + +atest -v -s $ANDROID_SERIAL \ + GtsMediaTestCases:com.google.android.media.gts.DecoderMetricsTests \ + GtsMediaTestCases:com.google.android.media.gts.DrmSessionManagerTest \ + GtsMediaTestCases:com.google.android.media.gts.MediaCodecCencTest \ + GtsMediaTestCases:com.google.android.media.gts.MediaCodecStressTest \ + GtsMediaTestCases:com.google.android.media.gts.MediaCodecTest \ + GtsMediaTestCases:com.google.android.media.gts.MediaDrmTest \ + GtsMediaTestCases:com.google.android.media.gts.MediaPlayerTest \ + GtsMediaTestCases:com.google.android.media.gts.Vp8CodecTest \ + GtsMediaTestCases:com.google.android.media.gts.WidevineCodecStressTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineDashPolicyTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineFailureTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineGenericOpsTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineH264PlaybackTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineHEVCPlaybackTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineHLSPlaybackTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineIdentifierTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineVP9WebMPlaybackTests \ + GtsMediaTestCases:com.google.android.media.gts.WidevineYouTubePerformanceTests \ + GtsExoPlayerTestCases:com.google.android.exoplayer.gts.DashTest \ + CtsMediaTestCases:android.media.cts.MediaDrmClearkeyTest \ + CtsMediaTestCases:android.media.cts.MediaCodecTest \ + CtsMediaTestCases:android.media.cts.MediaDrmMetricsTest \ + CtsMediaTestCases:android.media.cts.MediaPlayerDrmTest \ + CtsMediaTestCases:android.media.cts.MediaPlayer2DrmTest \ + CtsMediaTestCases:android.media.cts.NativeMediaDrmClearkeyTest \ + > >(tee -a $STDOUT_FILE) \ + 2> >(tee -a $STDERR_FILE >&2) + +adb logcat -d > $LOGCAT_FILE + +cat <