sh tests: Add support for running tested programs within another program.
Specifying the --prefix command line arg executes all test programs within the context of the prefix string, which is assigned to VPX_TEST_PREFIX. All test functions updated to include VPX_TEST_PREFIX in their eval command. Change-Id: I2e215cc8f216048edf3269db02a6b5660fe32318
This commit is contained in:
Родитель
46441ec5c8
Коммит
926a6f63cb
|
@ -39,7 +39,8 @@ decode_to_md5() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||
${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
|
||||
|
|
|
@ -39,7 +39,8 @@ decode_with_drops() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${decoder}" "${input_file}" "${output_file}" "${drop_mode}" ${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||
"${drop_mode}" ${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@ postproc() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||
${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ resize_util() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${resizer}" "${YUV_RAW_INPUT}" \
|
||||
eval "${VPX_TEST_PREFIX}" "${resizer}" "${YUV_RAW_INPUT}" \
|
||||
"${YUV_RAW_INPUT_WIDTH}x${YUV_RAW_INPUT_HEIGHT}" \
|
||||
"${target_dimensions}" "${output_file}" ${frames_to_resize} \
|
||||
${devnull}
|
||||
|
|
|
@ -37,7 +37,8 @@ simple_decoder() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||
${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ simple_encoder() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" 9999 \
|
||||
${devnull}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ VPX_TEST_TOOLS_COMMON_SH=included
|
|||
|
||||
set -e
|
||||
devnull='> /dev/null 2>&1'
|
||||
VPX_TEST_PREFIX=""
|
||||
|
||||
elog() {
|
||||
echo "$@" 1>&2
|
||||
|
@ -204,9 +205,12 @@ vpxdec() {
|
|||
local decoder="${LIBVPX_BIN_PATH}/vpxdec${VPX_TEST_EXE_SUFFIX}"
|
||||
|
||||
if [ -z "${pipe_input}" ]; then
|
||||
eval "${decoder}" "$input" --summary --noblit "$@" ${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${decoder}" "$input" --summary --noblit "$@" \
|
||||
${devnull}
|
||||
else
|
||||
cat "${input}" | eval "${decoder}" - --summary --noblit "$@" ${devnull}
|
||||
cat "${input}" \
|
||||
| eval "${VPX_TEST_PREFIX}" "${decoder}" - --summary --noblit "$@" \
|
||||
${devnull}
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -252,16 +256,14 @@ vpxenc() {
|
|||
fi
|
||||
|
||||
if [ -z "${pipe_input}" ]; then
|
||||
eval "${encoder}" --codec=${codec} --width=${width} --height=${height} \
|
||||
--limit=${frames} ${use_ivf} ${extra_flags} --output="${output}" \
|
||||
"${input}" \
|
||||
${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} --width=${width} \
|
||||
--height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \
|
||||
--output="${output}" "${input}" ${devnull}
|
||||
else
|
||||
cat "${input}" \
|
||||
| eval "${encoder}" --codec=${codec} --width=${width} \
|
||||
--height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \
|
||||
--output="${output}" - \
|
||||
${devnull}
|
||||
| eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} \
|
||||
--width=${width} --height=${height} --limit=${frames} ${use_ivf} \
|
||||
${extra_flags} --output="${output}" - ${devnull}
|
||||
fi
|
||||
|
||||
if [ ! -e "${output}" ]; then
|
||||
|
@ -351,6 +353,9 @@ cat << EOF
|
|||
--help: Display this message and exit.
|
||||
--test-data-path <path to libvpx test data directory>
|
||||
--show-program-output: Shows output from all programs being tested.
|
||||
--prefix: Allows for a user specified prefix to be inserted before all test
|
||||
programs. Grants the ability, for example, to run test programs
|
||||
within valgrind.
|
||||
--verbose: Verbose output.
|
||||
|
||||
When the --bin-path option is not specified the script attempts to use
|
||||
|
@ -400,6 +405,10 @@ while [ -n "$1" ]; do
|
|||
LIBVPX_TEST_DATA_PATH="$2"
|
||||
shift
|
||||
;;
|
||||
--prefix)
|
||||
VPX_TEST_PREFIX="$2"
|
||||
shift
|
||||
;;
|
||||
--verbose)
|
||||
VPX_TEST_VERBOSE_OUTPUT=yes
|
||||
;;
|
||||
|
@ -466,6 +475,7 @@ vlog "$(basename "${0%.*}") test configuration:
|
|||
VPX_TEST_EXE_SUFFIX=${VPX_TEST_EXE_SUFFIX}
|
||||
VPX_TEST_FILTER=${VPX_TEST_FILTER}
|
||||
VPX_TEST_OUTPUT_DIR=${VPX_TEST_OUTPUT_DIR}
|
||||
VPX_TEST_PREFIX=${VPX_TEST_PREFIX}
|
||||
VPX_TEST_RAND=${VPX_TEST_RAND}
|
||||
VPX_TEST_RUN_DISABLED_TESTS=${VPX_TEST_RUN_DISABLED_TESTS}
|
||||
VPX_TEST_SHOW_PROGRAM_OUTPUT=${VPX_TEST_SHOW_PROGRAM_OUTPUT}
|
||||
|
|
|
@ -34,7 +34,7 @@ twopass_encoder() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||
${devnull}
|
||||
|
||||
|
|
|
@ -39,9 +39,9 @@ vpx_set_ref() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${encoder}" "${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
||||
"${YUV_RAW_INPUT}" "${output_file}" "${ref_frame_num}" \
|
||||
${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||
"${ref_frame_num}" ${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
}
|
||||
|
|
|
@ -39,10 +39,9 @@ vp9_spatial_svc_encoder() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${encoder}" -w "${YUV_RAW_INPUT_WIDTH}" -h "${YUV_RAW_INPUT_HEIGHT}" \
|
||||
-k "${max_kf}" -f "${frames_to_encode}" "$@" "${YUV_RAW_INPUT}" \
|
||||
"${output_file}" \
|
||||
${devnull}
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" -w "${YUV_RAW_INPUT_WIDTH}" \
|
||||
-h "${YUV_RAW_INPUT_HEIGHT}" -k "${max_kf}" -f "${frames_to_encode}" \
|
||||
"$@" "${YUV_RAW_INPUT}" "${output_file}" ${devnull}
|
||||
|
||||
[ -e "${output_file}" ] || return 1
|
||||
}
|
||||
|
|
|
@ -44,8 +44,8 @@ vpx_tsvc_encoder() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
eval "${encoder}" "${YUV_RAW_INPUT}" "${output_file}" "${codec}" \
|
||||
"${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
||||
eval "${VPX_TEST_PREFIX}" "${encoder}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||
"${codec}" "${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
||||
"${timebase_num}" "${timebase_den}" "${speed}" "${frame_drop_thresh}" \
|
||||
"$@" \
|
||||
${devnull}
|
||||
|
|
Загрузка…
Ссылка в новой задаче