]> granicus.if.org Git - libvpx/commitdiff
test/*.sh: add explicit error checks/returns
authorJames Zern <jzern@google.com>
Wed, 29 Apr 2020 01:51:01 +0000 (18:51 -0700)
committerJames Zern <jzern@google.com>
Wed, 29 Apr 2020 01:51:01 +0000 (18:51 -0700)
there was an assumption that function calls would terminate early with
an error given 'set -e' was being used. this is true, but only when the
function is part of a simple command otherwise it won't inherit the
behavior. many of the call sites use 'func || return 1' syntax meaning
the function would continue to completion return with the status of the
last command executed. this hid errors with e.g., eval statements. inner
calls within the functions are now explicitly tested for failure.

BUG=aomedia:2669

Change-Id: Ie33a5ac4023dcc800bd302cb8cc54c6c3f2282f5

14 files changed:
test/cx_set_ref.sh
test/decode_to_md5.sh
test/decode_with_drops.sh
test/postproc.sh
test/resize_util.sh
test/set_maps.sh
test/simple_decoder.sh
test/simple_encoder.sh
test/stress.sh
test/twopass_encoder.sh
test/vp8_multi_resolution_encoder.sh
test/vpx_temporal_svc_encoder.sh
test/vpxdec.sh
test/vpxenc.sh

index 0a58dc187b56e51789e6aba390de0d5139eba5e8..0a3d50ce1fb2bde4e8e2cb6feeeea9da55720000 100755 (executable)
@@ -38,7 +38,7 @@ vpx_set_ref() {
 
   eval "${VPX_TEST_PREFIX}" "${encoder}" "${YUV_RAW_INPUT_WIDTH}" \
       "${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
-      "${ref_frame_num}" ${devnull}
+      "${ref_frame_num}" ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index 854b74f84f181eea4b09d210698e5a4a26e6e7be..15eee39facb5ed91667749b654cbcdc348b7c8fe 100755 (executable)
@@ -40,7 +40,7 @@ decode_to_md5() {
   fi
 
   eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 
index 9b2edb64292163b1cb8d7c267400a76719c0381a..2c826045b332f6c4c53578a20c624d36a2588d1d 100755 (executable)
@@ -40,7 +40,7 @@ decode_with_drops() {
   fi
 
   eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
-      "${drop_mode}" ${devnull}
+      "${drop_mode}" ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
@@ -52,10 +52,10 @@ decode_with_drops() {
 decode_with_drops_vp8() {
   if [ "$(vp8_decode_available)" = "yes" ]; then
     # Test sequence mode: Drop frames 2-28.
-    decode_with_drops "${VP8_IVF_FILE}" "vp8" "2-28"
+    decode_with_drops "${VP8_IVF_FILE}" "vp8" "2-28" || return 1
 
     # Test pattern mode: Drop 3 of every 4 frames.
-    decode_with_drops "${VP8_IVF_FILE}" "vp8" "3/4"
+    decode_with_drops "${VP8_IVF_FILE}" "vp8" "3/4" || return 1
   fi
 }
 
@@ -66,10 +66,10 @@ decode_with_drops_vp8() {
 decode_with_drops_vp9() {
   if [ "$(vp9_decode_available)" = "yes" ]; then
     # Test sequence mode: Drop frames 2-28.
-    decode_with_drops "${VP9_IVF_FILE}" "vp9" "2-19"
+    decode_with_drops "${VP9_IVF_FILE}" "vp9" "2-19" || return 1
 
     # Test pattern mode: Drop 3 of every 4 frames.
-    decode_with_drops "${VP9_IVF_FILE}" "vp9" "3/4"
+    decode_with_drops "${VP9_IVF_FILE}" "vp9" "3/4" || return 1
   fi
 }
 
index 939a3e7620a36397ecd8937a57be0e7881385ec8..91ca9b26fea90b9a2aff13449c8c45ac6b3b9e6e 100755 (executable)
@@ -38,7 +38,7 @@ postproc() {
   fi
 
   eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index 5e472716da35898da7441da4ccbf114af5e38822..a9b0f81e2b8c7fd85da237317681cfb7f48d5bf6 100755 (executable)
@@ -41,7 +41,7 @@ resize_util() {
     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}
+        ${devnull} || return 1
 
     [ -e "${output_file}" ] || return 1
   fi
index e7c8d43fa885cc3cabf11a614807fa3b286f7a26..f45dc51f4917ef7d1fafb6c2023bd243ebcf856f 100755 (executable)
@@ -36,7 +36,7 @@ set_maps() {
 
   eval "${VPX_TEST_PREFIX}" "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
       "${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index 7eeaf71b1c668b95a11c196ace8ae41ed14b01c6..65fc4828ed8aa32148b83ed56fcbee2a28731ed4 100755 (executable)
@@ -38,7 +38,7 @@ simple_decoder() {
   fi
 
   eval "${VPX_TEST_PREFIX}" "${decoder}" "${input_file}" "${output_file}" \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index ee633ae99e806376824aefb3de05ee4976062adf..dc7f46ff38c4d188dc3fba4e915d2c124491f01f 100755 (executable)
@@ -36,7 +36,7 @@ simple_encoder() {
 
   eval "${VPX_TEST_PREFIX}" "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
       "${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" 9999 0 100 \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index fdec764c7aefc749741829464c0a9d0b39685c24..b11c658a9663dedb8d9f19b34cb7e0d26b658df3 100755 (executable)
@@ -52,7 +52,7 @@ stress_verify_environment() {
   fi
   for file in "${YUV}" "${VP8}" "${VP9}"; do
     if [ ! -e "${file}" ] ; then
-      download_and_check_file "${file}"
+      download_and_check_file "${file}" || return 1
     fi
   done
   if [ ! -e "${YUV}" ] || [ ! -e "${VP8}" ] || [ ! -e "${VP9}" ] ; then
index eaeaabdfd0c07465847de91b8757e6d6488e24c4..69ecbacd0c4799592812874d2249001a60e0492d 100755 (executable)
@@ -37,7 +37,7 @@ twopass_encoder() {
 
   eval "${VPX_TEST_PREFIX}" "${encoder}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
       "${YUV_RAW_INPUT_HEIGHT}" "${YUV_RAW_INPUT}" "${output_file}" 100 \
-      ${devnull}
+      ${devnull} || return 1
 
   [ -e "${output_file}" ] || return 1
 }
index bd45b5381f6d785f5735c3f896c8363bdb3d4fd4..1e96f94cc7e5e184f9ac8e02f405e34c82669e9e 100755 (executable)
@@ -71,7 +71,7 @@ vp8_multi_resolution_encoder_three_formats() {
         ${layer_bitrates} \
         ${temporal_layers} \
         "${keyframe_insert}" \
-        0
+        0 || return 1
 
       for output_file in ${output_files}; do
         if [ ! -e "${output_file}" ]; then
index 5e5bac8fa6ac790cfa1b3a1b0217c693946f2536..69c734daf84b0a46e4e8a9cf246c542a24a753f1 100755 (executable)
@@ -58,19 +58,19 @@ vpx_tsvc_encoder() {
         "${output_file}" "${codec}" "${YUV_RAW_INPUT_WIDTH}" \
         "${YUV_RAW_INPUT_HEIGHT}" "${timebase_num}" "${timebase_den}" \
         "${speed}" "${frame_drop_thresh}" "${error_resilient}" "${threads}" \
-        "$@" ${devnull}
+        "$@" ${devnull} || return 1
       # Test for y4m input.
       eval "${VPX_TEST_PREFIX}" "${encoder}" "${Y4M_720P_INPUT}" \
         "${output_file}" "${codec}" "${Y4M_720P_INPUT_WIDTH}" \
         "${Y4M_720P_INPUT_HEIGHT}" "${timebase_num}" "${timebase_den_y4m}" \
         "${speed}" "${frame_drop_thresh}" "${error_resilient}" "${threads}" \
-        "$@" ${devnull}
+        "$@" ${devnull} || return 1
     else
       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}" "${error_resilient}" "${threads}" \
-        "$@" "8" ${devnull}
+        "$@" "8" ${devnull} || return 1
     fi
   done
 }
index 044aa7e16d0c8806a1cc39522ad094599a300ad7..199feae5f3f2a765ec0c8d2a0e30707d2ed4b554 100755 (executable)
@@ -86,7 +86,7 @@ vpxdec_vp9_webm_frame_parallel() {
      [ "$(webm_io_available)" = "yes" ]; then
     for threads in 2 3 4 5 6 7 8; do
       vpxdec "${VP9_FPM_WEBM_FILE}" --summary --noblit --threads=$threads \
-        --frame-parallel
+        --frame-parallel || return 1
     done
   fi
 }
index f94e2e094a3771517cf459e04f92d4e4808b915b..172349a2b32946857e28faf558a398ac0b3cf4dd 100755 (executable)
@@ -131,7 +131,7 @@ vpxenc_vp8_ivf() {
       --codec=vp8 \
       --limit="${TEST_FRAMES}" \
       --ivf \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -147,7 +147,7 @@ vpxenc_vp8_webm() {
     vpxenc $(yuv_input_hantro_collage) \
       --codec=vp8 \
       --limit="${TEST_FRAMES}" \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -162,7 +162,8 @@ vpxenc_vp8_webm_rt() {
     local output="${VPX_TEST_OUTPUT_DIR}/vp8_rt.webm"
     vpxenc $(yuv_input_hantro_collage) \
       $(vpxenc_rt_params vp8) \
-      --output="${output}"
+      --output="${output}" || return 1
+
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
       return 1
@@ -178,7 +179,7 @@ vpxenc_vp8_webm_2pass() {
       --codec=vp8 \
       --limit="${TEST_FRAMES}" \
       --output="${output}" \
-      --passes=2
+      --passes=2 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -199,7 +200,7 @@ vpxenc_vp8_webm_lag10_frames20() {
       --lag-in-frames="${lag_frames}" \
       --output="${output}" \
       --auto-alt-ref=1 \
-      --passes=2
+      --passes=2 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -215,7 +216,7 @@ vpxenc_vp8_ivf_piped_input() {
       --codec=vp8 \
       --limit="${TEST_FRAMES}" \
       --ivf \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -233,7 +234,7 @@ vpxenc_vp9_ivf() {
       --limit="${TEST_FRAMES}" \
       "${passes}" \
       --ivf \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -251,7 +252,7 @@ vpxenc_vp9_webm() {
       --codec=vp9 \
       --limit="${TEST_FRAMES}" \
       "${passes}" \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -266,7 +267,7 @@ vpxenc_vp9_webm_rt() {
     local output="${VPX_TEST_OUTPUT_DIR}/vp9_rt.webm"
     vpxenc $(yuv_input_hantro_collage) \
       $(vpxenc_rt_params vp9) \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -290,7 +291,7 @@ vpxenc_vp9_webm_rt_multithread_tiled() {
           $(vpxenc_rt_params vp9) \
           --threads=${threads} \
           --tile-columns=${tile_cols} \
-          --output="${output}"
+          --output="${output}" || return 1
 
         if [ ! -e "${output}" ]; then
           elog "Output file does not exist."
@@ -318,7 +319,8 @@ vpxenc_vp9_webm_rt_multithread_tiled_frameparallel() {
           --threads=${threads} \
           --tile-columns=${tile_cols} \
           --frame-parallel=1 \
-          --output="${output}"
+          --output="${output}" || return 1
+
         if [ ! -e "${output}" ]; then
           elog "Output file does not exist."
           return 1
@@ -337,7 +339,7 @@ vpxenc_vp9_webm_2pass() {
       --codec=vp9 \
       --limit="${TEST_FRAMES}" \
       --output="${output}" \
-      --passes=2
+      --passes=2 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -356,7 +358,7 @@ vpxenc_vp9_ivf_lossless() {
       --ivf \
       --output="${output}" \
       "${passes}" \
-      --lossless=1
+      --lossless=1 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -376,7 +378,7 @@ vpxenc_vp9_ivf_minq0_maxq0() {
       --output="${output}" \
       "${passes}" \
       --min-q=0 \
-      --max-q=0
+      --max-q=0 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -398,7 +400,7 @@ vpxenc_vp9_webm_lag10_frames20() {
       --lag-in-frames="${lag_frames}" \
       --output="${output}" \
       "${passes}" \
-      --auto-alt-ref=1
+      --auto-alt-ref=1 || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -417,7 +419,7 @@ vpxenc_vp9_webm_non_square_par() {
       --codec=vp9 \
       --limit="${TEST_FRAMES}" \
       "${passes}" \
-      --output="${output}"
+      --output="${output}" || return 1
 
     if [ ! -e "${output}" ]; then
       elog "Output file does not exist."
@@ -443,7 +445,7 @@ vpxenc_vp9_webm_sharpness() {
         --end-usage=q \
         --cq-level=40 \
         --output="${output}" \
-        "${passes}"
+        "${passes}" || return 1
 
       if [ ! -e "${output}" ]; then
         elog "Output file does not exist."