Files
android/libwvdrmengine/run_gts_and_cts_tests.sh
Kyle Alexander cf47b70b0b Update gts/cts helper script with WVTS paths
Test: ./run_gts_and_cts_tests.sh

Bug: 276784713
Change-Id: Ifede9156403c24812da12fe1a3182060d97ecd04
2023-05-02 01:32:56 +00:00

93 lines
2.8 KiB
Bash
Executable File

#!/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"
WVTS_BASE="WvtsDeviceTestCases:com.google.android.wvts"
GTS_BASE="GtsMediaTestCases:com.google.android.media.gts"
adb logcat -c
atest -v -s $ANDROID_SERIAL \
${WVTS_BASE}.DecoderMetricsTests \
${WVTS_BASE}.DrmSessionManagerTest \
${WVTS_BASE}.MediaCodecCencTest \
${GTS_BASE}.MediaCodecStressTest \
${WVTS_BASE}.MediaCodecTest \
${WVTS_BASE}.MediaDrmTest \
${WVTS_BASE}.MediaPlayerTest \
${WVTS_BASE}.Vp8CodecTest \
${WVTS_BASE}.WidevineCodecStressTests \
${WVTS_BASE}.WidevineDashPolicyTests \
${WVTS_BASE}.WidevineFailureTests \
${WVTS_BASE}.WidevineGenericOpsTests \
${WVTS_BASE}.WidevineH264PlaybackTests \
${WVTS_BASE}.WidevineHEVCPlaybackTests \
${WVTS_BASE}.WidevineHLSPlaybackTests \
${WVTS_BASE}.WidevineIdentifierTests \
${WVTS_BASE}.WidevineVP9WebMPlaybackTests \
${WVTS_BASE}.WidevineYouTubePerformanceTests \
GtsExoPlayerTestCases:com.google.android.exoplayer.gts.DashStreamingTest \
CtsMediaDrmTestCases:android.mediadrm.cts.MediaDrmClearkeyTest \
CtsMediaDrmTestCases:android.mediadrm.cts.MediaDrmCodecTest \
CtsMediaDrmTestCases:android.mediadrm.cts.MediaDrmMetricsTest \
CtsMediaDrmTestCases:android.mediadrm.cts.MediaPlayerDrmTest \
CtsMediaDrmTestCases:android.mediadrm.cts.NativeMediaDrmClearkeyTest \
> >(tee -a $STDOUT_FILE) \
2> >(tee -a $STDERR_FILE >&2)
adb logcat -d > $LOGCAT_FILE
cat <<EOF
Saved logs to:
$STDOUT_FILE
$STDERR_FILE
$LOGCAT_FILE
EOF