diff --git a/modules/video_coding/codecs/test/batch/empty-runtime-deps b/modules/video_coding/codecs/test/batch/empty-runtime-deps new file mode 100644 index 0000000000..6702195ca9 --- /dev/null +++ b/modules/video_coding/codecs/test/batch/empty-runtime-deps @@ -0,0 +1 @@ +does-not-exist diff --git a/modules/video_coding/codecs/test/batch/run.sh b/modules/video_coding/codecs/test/batch/run.sh new file mode 100755 index 0000000000..25c971ba61 --- /dev/null +++ b/modules/video_coding/codecs/test/batch/run.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +if [ $# -ne 1 ]; then + echo "Usage: run.sh ADB-DEVICE-ID" + exit 1 +fi + +# Paths: update these based on your git checkout and gn output folder names. +WEBRTC_DIR=$HOME/src/webrtc/src +BUILD_DIR=$WEBRTC_DIR/out/Android_Release + +# Clips: update these to encode/decode other content. +CLIPS=('Foreman') +RESOLUTIONS=('128x96' '160x120' '176x144' '320x240' '352x288') +FRAMERATES=(30) + +# Other settings. +ADB=`which adb` +SERIAL=$1 +TIMEOUT=7200 + +# Ensure we are using the latest version. +ninja -C $BUILD_DIR modules_tests + +# Transfer the required files by trying to run a test that doesn't exist. +echo "===> Transferring required resources to device $1." +$WEBRTC_DIR/build/android/test_runner.py gtest \ + --output-directory $BUILD_DIR \ + --suite modules_tests \ + --gtest_filter "DoesNotExist" \ + --shard-timeout $TIMEOUT \ + --runtime-deps-path $BUILD_DIR/gen.runtime/modules/modules_tests__test_runner_script.runtime_deps \ + --adb-path $ADB \ + --device $SERIAL \ + --verbose + +# Run all tests as separate test invocations. +mkdir $SERIAL +pushd $SERIAL +for clip in "${CLIPS[@]}"; do + for resolution in "${RESOLUTIONS[@]}"; do + for framerate in "${FRAMERATES[@]}"; do + test_name="${clip}_${resolution}_${framerate}" + log_name="${test_name}.log" + + echo "===> Running ${test_name} on device $1." + + $WEBRTC_DIR/build/android/test_runner.py gtest \ + --output-directory $BUILD_DIR \ + --suite modules_tests \ + --gtest_filter "CodecSettings/*${test_name}*" \ + --shard-timeout $TIMEOUT \ + --runtime-deps-path ../empty-runtime-deps \ + --test-launcher-retry-limit 0 \ + --adb-path $ADB \ + --device $SERIAL \ + --verbose \ + 2>&1 | tee -a ${log_name} + done + done +done +popd diff --git a/modules/video_coding/codecs/test/videoprocessor_integrationtest_parameterized.cc b/modules/video_coding/codecs/test/videoprocessor_integrationtest_parameterized.cc index 84be25c422..46581ebacd 100644 --- a/modules/video_coding/codecs/test/videoprocessor_integrationtest_parameterized.cc +++ b/modules/video_coding/codecs/test/videoprocessor_integrationtest_parameterized.cc @@ -94,27 +94,27 @@ INSTANTIATE_TEST_CASE_P(CodecSettings, ::testing::ValuesIn(kVideoCodecType), ::testing::ValuesIn(kHwCodec))); -TEST_P(VideoProcessorIntegrationTestParameterized, Process_128x96_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, Foreman_128x96_30) { RunTest(128, 96, 30, "foreman_128x96"); } -TEST_P(VideoProcessorIntegrationTestParameterized, Process_160x120_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, Foreman_160x120_30) { RunTest(160, 120, 30, "foreman_160x120"); } -TEST_P(VideoProcessorIntegrationTestParameterized, Process_176x144_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, Foreman_176x144_30) { RunTest(176, 144, 30, "foreman_176x144"); } -TEST_P(VideoProcessorIntegrationTestParameterized, Process_320x240_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, Foreman_320x240_30) { RunTest(320, 240, 30, "foreman_320x240"); } -TEST_P(VideoProcessorIntegrationTestParameterized, Process_352x288_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, Foreman_352x288_30) { RunTest(352, 288, 30, "foreman_cif"); } -TEST_P(VideoProcessorIntegrationTestParameterized, Process_1280x720_30fps) { +TEST_P(VideoProcessorIntegrationTestParameterized, FourPeople_1280x720_30) { RunTest(1280, 720, 30, "FourPeople_1280x720_30"); }