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
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||||
|
${devnull}
|
||||||
|
|
||||||
[ -e "${output_file}" ] || return 1
|
[ -e "${output_file}" ] || return 1
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,8 @@ decode_with_drops() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
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
|
[ -e "${output_file}" ] || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,8 @@ postproc() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||||
|
${devnull}
|
||||||
|
|
||||||
[ -e "${output_file}" ] || return 1
|
[ -e "${output_file}" ] || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ resize_util() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${resizer}" "${YUV_RAW_INPUT}" \
|
eval "${VPX_TEST_PREFIX}" "${resizer}" "${YUV_RAW_INPUT}" \
|
||||||
"${YUV_RAW_INPUT_WIDTH}x${YUV_RAW_INPUT_HEIGHT}" \
|
"${YUV_RAW_INPUT_WIDTH}x${YUV_RAW_INPUT_HEIGHT}" \
|
||||||
"${target_dimensions}" "${output_file}" ${frames_to_resize} \
|
"${target_dimensions}" "${output_file}" ${frames_to_resize} \
|
||||||
${devnull}
|
${devnull}
|
||||||
|
|
|
@ -37,7 +37,8 @@ simple_decoder() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${decoder}" "${input_file}" "${output_file}" ${devnull}
|
eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
|
||||||
|
${devnull}
|
||||||
|
|
||||||
[ -e "${output_file}" ] || return 1
|
[ -e "${output_file}" ] || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ simple_encoder() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
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 \
|
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" 9999 \
|
||||||
${devnull}
|
${devnull}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ VPX_TEST_TOOLS_COMMON_SH=included
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
devnull='> /dev/null 2>&1'
|
devnull='> /dev/null 2>&1'
|
||||||
|
VPX_TEST_PREFIX=""
|
||||||
|
|
||||||
elog() {
|
elog() {
|
||||||
echo "$@" 1>&2
|
echo "$@" 1>&2
|
||||||
|
@ -204,9 +205,12 @@ vpxdec() {
|
||||||
local decoder="${LIBVPX_BIN_PATH}/vpxdec${VPX_TEST_EXE_SUFFIX}"
|
local decoder="${LIBVPX_BIN_PATH}/vpxdec${VPX_TEST_EXE_SUFFIX}"
|
||||||
|
|
||||||
if [ -z "${pipe_input}" ]; then
|
if [ -z "${pipe_input}" ]; then
|
||||||
eval "${decoder}" "$input" --summary --noblit "$@" ${devnull}
|
eval "${VPX_TEST_PREFIX}" "${decoder}" "$input" --summary --noblit "$@" \
|
||||||
|
${devnull}
|
||||||
else
|
else
|
||||||
cat "${input}" | eval "${decoder}" - --summary --noblit "$@" ${devnull}
|
cat "${input}" \
|
||||||
|
| eval "${VPX_TEST_PREFIX}" "${decoder}" - --summary --noblit "$@" \
|
||||||
|
${devnull}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,16 +256,14 @@ vpxenc() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${pipe_input}" ]; then
|
if [ -z "${pipe_input}" ]; then
|
||||||
eval "${encoder}" --codec=${codec} --width=${width} --height=${height} \
|
eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} --width=${width} \
|
||||||
--limit=${frames} ${use_ivf} ${extra_flags} --output="${output}" \
|
--height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \
|
||||||
"${input}" \
|
--output="${output}" "${input}" ${devnull}
|
||||||
${devnull}
|
|
||||||
else
|
else
|
||||||
cat "${input}" \
|
cat "${input}" \
|
||||||
| eval "${encoder}" --codec=${codec} --width=${width} \
|
| eval "${VPX_TEST_PREFIX}" "${encoder}" --codec=${codec} \
|
||||||
--height=${height} --limit=${frames} ${use_ivf} ${extra_flags} \
|
--width=${width} --height=${height} --limit=${frames} ${use_ivf} \
|
||||||
--output="${output}" - \
|
${extra_flags} --output="${output}" - ${devnull}
|
||||||
${devnull}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -e "${output}" ]; then
|
if [ ! -e "${output}" ]; then
|
||||||
|
@ -351,6 +353,9 @@ cat << EOF
|
||||||
--help: Display this message and exit.
|
--help: Display this message and exit.
|
||||||
--test-data-path <path to libvpx test data directory>
|
--test-data-path <path to libvpx test data directory>
|
||||||
--show-program-output: Shows output from all programs being tested.
|
--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.
|
--verbose: Verbose output.
|
||||||
|
|
||||||
When the --bin-path option is not specified the script attempts to use
|
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"
|
LIBVPX_TEST_DATA_PATH="$2"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--prefix)
|
||||||
|
VPX_TEST_PREFIX="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
--verbose)
|
--verbose)
|
||||||
VPX_TEST_VERBOSE_OUTPUT=yes
|
VPX_TEST_VERBOSE_OUTPUT=yes
|
||||||
;;
|
;;
|
||||||
|
@ -466,6 +475,7 @@ vlog "$(basename "${0%.*}") test configuration:
|
||||||
VPX_TEST_EXE_SUFFIX=${VPX_TEST_EXE_SUFFIX}
|
VPX_TEST_EXE_SUFFIX=${VPX_TEST_EXE_SUFFIX}
|
||||||
VPX_TEST_FILTER=${VPX_TEST_FILTER}
|
VPX_TEST_FILTER=${VPX_TEST_FILTER}
|
||||||
VPX_TEST_OUTPUT_DIR=${VPX_TEST_OUTPUT_DIR}
|
VPX_TEST_OUTPUT_DIR=${VPX_TEST_OUTPUT_DIR}
|
||||||
|
VPX_TEST_PREFIX=${VPX_TEST_PREFIX}
|
||||||
VPX_TEST_RAND=${VPX_TEST_RAND}
|
VPX_TEST_RAND=${VPX_TEST_RAND}
|
||||||
VPX_TEST_RUN_DISABLED_TESTS=${VPX_TEST_RUN_DISABLED_TESTS}
|
VPX_TEST_RUN_DISABLED_TESTS=${VPX_TEST_RUN_DISABLED_TESTS}
|
||||||
VPX_TEST_SHOW_PROGRAM_OUTPUT=${VPX_TEST_SHOW_PROGRAM_OUTPUT}
|
VPX_TEST_SHOW_PROGRAM_OUTPUT=${VPX_TEST_SHOW_PROGRAM_OUTPUT}
|
||||||
|
|
|
@ -34,7 +34,7 @@ twopass_encoder() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
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}" \
|
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||||
${devnull}
|
${devnull}
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,9 @@ vpx_set_ref() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${encoder}" "${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
eval "${VPX_TEST_PREFIX}" "${encoder}" "${YUV_RAW_INPUT_WIDTH}" \
|
||||||
"${YUV_RAW_INPUT}" "${output_file}" "${ref_frame_num}" \
|
"${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||||
${devnull}
|
"${ref_frame_num}" ${devnull}
|
||||||
|
|
||||||
[ -e "${output_file}" ] || return 1
|
[ -e "${output_file}" ] || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,9 @@ vp9_spatial_svc_encoder() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${encoder}" -w "${YUV_RAW_INPUT_WIDTH}" -h "${YUV_RAW_INPUT_HEIGHT}" \
|
eval "${VPX_TEST_PREFIX}" "${encoder}" -w "${YUV_RAW_INPUT_WIDTH}" \
|
||||||
-k "${max_kf}" -f "${frames_to_encode}" "$@" "${YUV_RAW_INPUT}" \
|
-h "${YUV_RAW_INPUT_HEIGHT}" -k "${max_kf}" -f "${frames_to_encode}" \
|
||||||
"${output_file}" \
|
"$@" "${YUV_RAW_INPUT}" "${output_file}" ${devnull}
|
||||||
${devnull}
|
|
||||||
|
|
||||||
[ -e "${output_file}" ] || return 1
|
[ -e "${output_file}" ] || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,8 +44,8 @@ vpx_tsvc_encoder() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "${encoder}" "${YUV_RAW_INPUT}" "${output_file}" "${codec}" \
|
eval "${VPX_TEST_PREFIX}" "${encoder}" "${YUV_RAW_INPUT}" "${output_file}" \
|
||||||
"${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
"${codec}" "${YUV_RAW_INPUT_WIDTH}" "${YUV_RAW_INPUT_HEIGHT}" \
|
||||||
"${timebase_num}" "${timebase_den}" "${speed}" "${frame_drop_thresh}" \
|
"${timebase_num}" "${timebase_den}" "${speed}" "${frame_drop_thresh}" \
|
||||||
"$@" \
|
"$@" \
|
||||||
${devnull}
|
${devnull}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче