[06/11] tests: Convert image2pipe tests away from legacy test scripts

Message ID 20190204104732.2779-7-diego@biurrun.de
State Committed
Commit a70eac7a9b193e8434b5bed90bd72aa4cb688363
Headers show
Series
  • [01/11] build: Rename OBJDIRS variable to OUTDIRS
Related show

Commit Message

Diego Biurrun Feb. 4, 2019, 10:47 a.m.
---
 tests/Makefile                 |  1 +
 tests/fate-run.sh              | 45 ++++++++++++++++++++++++++++++++++++++++++
 tests/fate/avformat.mak        |  3 ---
 tests/fate/lavf-image2pipe.mak | 12 +++++++++++
 tests/lavf-regression.sh       | 19 ------------------
 tests/ref/lavf/pbmpipe         |  6 +++---
 tests/ref/lavf/pgmpipe         |  6 +++---
 tests/ref/lavf/ppmpipe         |  6 +++---
 8 files changed, 67 insertions(+), 31 deletions(-)
 create mode 100644 tests/fate/lavf-image2pipe.mak

Patch

diff --git a/tests/Makefile b/tests/Makefile
index 8d9a42433f..1884f5e437 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -61,6 +61,7 @@  include $(SRC_PATH)/tests/fate/acodec.mak
 include $(SRC_PATH)/tests/fate/vcodec.mak
 
 include $(SRC_PATH)/tests/fate/avformat.mak
+include $(SRC_PATH)/tests/fate/lavf-image2pipe.mak
 include $(SRC_PATH)/tests/fate/seek.mak
 
 include $(SRC_PATH)/tests/fate/aac.mak
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 8c6adf11cf..0221e5c1dc 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -152,6 +152,51 @@  enc_dec(){
     tests/tiny_psnr $srcfile $decfile $cmp_unit $cmp_shift
 }
 
+# FIXME: There is a certain duplication between the avconv-related helper
+# functions above and below that should be refactored.
+avconv2="$target_exec ${target_path}/avconv"
+raw_src="${target_path}/tests/vsynth1/%02d.pgm"
+crcfile="tests/data/$test.lavf.crc"
+target_crcfile="${target_path}/$crcfile"
+
+echov(){
+    echo "$@" >&3
+}
+
+AVCONV_OPTS="-nostats -y -cpuflags $cpuflags -threads $threads"
+DEC_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact"
+ENC_OPTS="$DEC_OPTS -threads 1 -dct fastint"
+
+run_avconv(){
+    $echov $avconv2 $AVCONV_OPTS $*
+    $avconv2 $AVCONV_OPTS $*
+}
+
+do_avconv(){
+    f="$1"
+    shift
+    set -- $* ${target_path}/$f
+    run_avconv $*
+    do_md5sum $f
+    echo $(wc -c $f)
+}
+
+do_avconv_crc(){
+    f="$1"
+    shift
+    run_avconv $* -f crc "$target_crcfile"
+    echo "$f $(cat $crcfile)"
+}
+
+lavf_image2pipe(){
+    t="${test#lavf-}"
+    t="${t%pipe}"
+    outdir="tests/data/lavf"
+    file=${outdir}/${t}pipe.$t
+    do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
+    do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
+}
+
 lavftest(){
     t="${test#lavf-}"
     ref=${base}/ref/lavf/$t
diff --git a/tests/fate/avformat.mak b/tests/fate/avformat.mak
index 458ae7cae9..a4a0988bb2 100644
--- a/tests/fate/avformat.mak
+++ b/tests/fate/avformat.mak
@@ -20,13 +20,10 @@  FATE_LAVF-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF_D10 MXF)        += mxf_d10
 FATE_LAVF-$(call ENCDEC2, MPEG4,      MP2,       NUT)                += nut
 FATE_LAVF-$(call ENCDEC,  FLAC,                  OGG)                += ogg
 FATE_LAVF-$(call ENCDEC,  PAM,                   IMAGE2)             += pam
-FATE_LAVF-$(call ENCDEC,  PBM,                   IMAGE2PIPE)         += pbmpipe
 FATE_LAVF-$(call ENCDEC,  PCX,                   IMAGE2)             += pcx
 FATE_LAVF-$(call ENCDEC,  PGM,                   IMAGE2)             += pgm
-FATE_LAVF-$(call ENCDEC,  PGM,                   IMAGE2PIPE)         += pgmpipe
 FATE_LAVF-$(call ENCDEC,  PNG,                   IMAGE2)             += png
 FATE_LAVF-$(call ENCDEC,  PPM,                   IMAGE2)             += ppm
-FATE_LAVF-$(call ENCDEC,  PPM,                   IMAGE2PIPE)         += ppmpipe
 FATE_LAVF-$(call ENCMUX,  RV10 AC3_FIXED,        RM)                 += rm
 FATE_LAVF-$(call ENCDEC,  PCM_U8,                RSO)                += rso
 FATE_LAVF-$(call ENCDEC,  SGI,                   IMAGE2)             += sgi
diff --git a/tests/fate/lavf-image2pipe.mak b/tests/fate/lavf-image2pipe.mak
new file mode 100644
index 0000000000..297f677ada
--- /dev/null
+++ b/tests/fate/lavf-image2pipe.mak
@@ -0,0 +1,12 @@ 
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC,     PBM,    IMAGE2PIPE)     += pbmpipe
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC,     PGM,    IMAGE2PIPE)     += pgmpipe
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC,     PPM,    IMAGE2PIPE)     += ppmpipe
+
+FATE_LAVF_IMAGE2PIPE = $(FATE_LAVF_IMAGE2PIPE-yes:%=fate-lavf-%)
+
+$(FATE_LAVF_IMAGE2PIPE): CMD = lavf_image2pipe
+$(FATE_LAVF_IMAGE2PIPE): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%)
+$(FATE_LAVF_IMAGE2PIPE): $(VREF)
+
+FATE_AVCONV += $(FATE_LAVF_IMAGE2PIPE)
+fate-lavf-image2pipe fate-lavf: $(FATE_LAVF_IMAGE2PIPE)
diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
index 4161e375ee..fecc36c0fd 100755
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@ -19,13 +19,6 @@  do_lavf()
         do_avconv_crc $file $DEC_OPTS -i $target_path/$file $4
 }
 
-do_streamed_images()
-{
-    file=${outfile}${1}pipe.$1
-    do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
-    do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
-}
-
 do_image_formats()
 {
     outfile="$datadir/images/$1/"
@@ -109,18 +102,6 @@  fi
 #do_avconv $file -t 1 -qscale 10 -f image2 -c:v pgmyuv -i $raw_src
 #do_avconv_crc $file -i $target_path/$file
 
-if [ -n "$do_pbmpipe" ] ; then
-do_streamed_images pbm
-fi
-
-if [ -n "$do_pgmpipe" ] ; then
-do_streamed_images pgm
-fi
-
-if [ -n "$do_ppmpipe" ] ; then
-do_streamed_images ppm
-fi
-
 if [ -n "$do_gif" ] ; then
 file=${outfile}lavf.gif
 do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
diff --git a/tests/ref/lavf/pbmpipe b/tests/ref/lavf/pbmpipe
index d50ed716bc..ab7d302b4d 100644
--- a/tests/ref/lavf/pbmpipe
+++ b/tests/ref/lavf/pbmpipe
@@ -1,3 +1,3 @@ 
-8ced96f5b6b7362358199ae993b4ceb7 *./tests/data/lavf/pbmpipe.pbm
-317075 ./tests/data/lavf/pbmpipe.pbm
-./tests/data/lavf/pbmpipe.pbm CRC=0xfae0a1ba
+8ced96f5b6b7362358199ae993b4ceb7 *tests/data/lavf/pbmpipe.pbm
+317075 tests/data/lavf/pbmpipe.pbm
+tests/data/lavf/pbmpipe.pbm CRC=0xfae0a1ba
diff --git a/tests/ref/lavf/pgmpipe b/tests/ref/lavf/pgmpipe
index 28ad60ea59..d854897492 100644
--- a/tests/ref/lavf/pgmpipe
+++ b/tests/ref/lavf/pgmpipe
@@ -1,3 +1,3 @@ 
-04e66c8e9e064c8310bd657ee559bd70 *./tests/data/lavf/pgmpipe.pgm
-2534775 ./tests/data/lavf/pgmpipe.pgm
-./tests/data/lavf/pgmpipe.pgm CRC=0xadf48ba9
+04e66c8e9e064c8310bd657ee559bd70 *tests/data/lavf/pgmpipe.pgm
+2534775 tests/data/lavf/pgmpipe.pgm
+tests/data/lavf/pgmpipe.pgm CRC=0xadf48ba9
diff --git a/tests/ref/lavf/ppmpipe b/tests/ref/lavf/ppmpipe
index b703e16e50..a50dbb0671 100644
--- a/tests/ref/lavf/ppmpipe
+++ b/tests/ref/lavf/ppmpipe
@@ -1,3 +1,3 @@ 
-74f1f6651ad8f192a7b4c11c2b6c71e5 *./tests/data/lavf/ppmpipe.ppm
-7603575 ./tests/data/lavf/ppmpipe.ppm
-./tests/data/lavf/ppmpipe.ppm CRC=0x87b3c15f
+74f1f6651ad8f192a7b4c11c2b6c71e5 *tests/data/lavf/ppmpipe.ppm
+7603575 tests/data/lavf/ppmpipe.ppm
+tests/data/lavf/ppmpipe.ppm CRC=0x87b3c15f