Add batch script for running multiple VideoProcessor tests in parallel.
This script is for running on device tests in parallel. BUG=webrtc:8448 NOTRY=TRUE Change-Id: I6b13f76223653ddb6ec999613ef66ac4f82d8567 Reviewed-on: https://webrtc-review.googlesource.com/55561 Commit-Queue: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> Reviewed-by: Michael Horowitz <mhoro@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22117}
This commit is contained in:
committed by
Commit Bot
parent
2aa5666e8b
commit
defad847b1
@ -0,0 +1 @@
|
||||
does-not-exist
|
||||
70
modules/video_coding/codecs/test/batch/run.sh
Executable file
70
modules/video_coding/codecs/test/batch/run.sh
Executable file
@ -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
|
||||
@ -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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user