[FFmpeg-devel] [PATCH] tests: add fate-ffprobe test
Stefano Sabatini
stefasab at gmail.com
Thu Sep 20 12:09:05 CEST 2012
On date Wednesday 2012-09-19 22:51:27 -0300, jamal encoded:
> On 19/09/12 6:59 AM, Stefano Sabatini wrote:> On date Wednesday 2012-09-19 11:06:41 +0200, Stefano Sabatini encoded:
> >
> > Updated after the CSV fix.
> >
> > diff --git a/tests/Makefile b/tests/Makefile
> > index 81ce3e1..2ca1665 100644
> > --- a/tests/Makefile
> > +++ b/tests/Makefile
> > @@ -32,6 +32,18 @@ tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data
> >
> > tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
> >
> > +FFPROBE_GENTEST_CMD = ffmpeg$(EXESUF) \
> > + -f lavfi -i "aevalsrc=sin(400*PI*2*t)::d=0.25[out0]; testsrc=d=0.25[out1]; testsrc=s=100x100:d=0.25[out2]" \
> > + -flags +bitexact -map 0:0 -map 0:1 -map 0:2 \
> > + -metadata "title=ffprobe test file" \
> > + -metadata "comment='A comment wih CSV, XML & JSON special chars': <tag value=\"x\">" \
> > + -metadata "comment2=I ♥ Üñîçød€" \
> > + -vcodec rawvideo -acodec pcm_s16le \
> > + -y
> > +
> > +tests/data/ffprobe-test.nut: ffmpeg$(EXESUF)
> > + $(M)$(FFPROBE_GENTEST_CMD) $@
> > +
> >
> This needs to be "tests/data/ffprobe-test.nut: ffmpeg$(EXESUF) | tests/data", like with the vsynth and asynth stuff above, or it will fail to create the file if the tests/data folder doesn't exist.
> You should also add something like "tests/data/%.nut" to the TAG = GEN line above, and make sure the output of ffmpeg when creating ffprobe-test.nut is sent to /dev/null.
>
> For example:
>
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -30,7 +30,16 @@ tests/data/vsynth1.yuv: tests/videogen$(HOSTEXESUF) | tests/data
> tests/data/vsynth2.yuv: tests/rotozoom$(HOSTEXESUF) | tests/data
> $(M)$< $(SRC_PATH)/tests/lena.pnm $@
>
> -tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm: TAG = GEN
> +tests/data/ffprobe-test.nut: ffmpeg$(EXESUF) | tests/data
> + $(M)./$< -f lavfi -i "aevalsrc=sin(400*PI*2*t)::d=0.25[out0]; testsrc=d=0.25[out1]; testsrc=s=100x100:d=0.25[out2]" \
> + -flags +bitexact -map 0:0 -map 0:1 -map 0:2 \
> + -metadata "title=ffprobe test file" \
> + -metadata "comment='A comment wih CSV, XML & JSON special chars': <tag value=\"x\">" \
> + -metadata "comment2=I ♥ Üñîçød€" \
> + -vcodec rawvideo -acodec pcm_s16le \
> + -y $@ > /dev/null 2>&1
> +
> +tests/data/%.sw tests/data/asynth% tests/data/vsynth%.yuv tests/vsynth%/00.pgm tests/data/%.nut: TAG = GEN
>
> Which also gets rid of FFPROBE_GENTEST_CMD as it's not really necessary.
>
> > diff --git a/tests/fate/ffprobe.mak b/tests/fate/ffprobe.mak
> > new file mode 100644
> > index 0000000..56f283b
> > --- /dev/null
> > +++ b/tests/fate/ffprobe.mak
> > @@ -0,0 +1,33 @@
> > +FFPROBE_TEST_FILE=tests/data/ffprobe-test.nut
> > +FFPROBE_COMMAND=ffprobe$(EXESUF) -show_streams -show_packets -show_format -show_frames $(FFPROBE_TEST_FILE)
> > +
> > +FATE_FFPROBE += fate-ffprobe_compact
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_compact: CMD = run $(FFPROBE_COMMAND) -of compact
> > +
> > +FATE_FFPROBE += fate-ffprobe_csv
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_csv: CMD = run $(FFPROBE_COMMAND) -of csv
> > +
> > +FATE_FFPROBE += fate-ffprobe_default
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_default: CMD = run $(FFPROBE_COMMAND) -of default
> > +
> > +FATE_FFPROBE += fate-ffprobe_flat
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_flat: CMD = run $(FFPROBE_COMMAND) -of flat
> > +
> > +FATE_FFPROBE += fate-ffprobe_ini
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_ini: CMD = run $(FFPROBE_COMMAND) -of ini
> > +
> > +FATE_FFPROBE += fate-ffprobe_json
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_json: CMD = run $(FFPROBE_COMMAND) -of json
> > +
> > +FATE_FFPROBE += fate-ffprobe_xml
> > +fate-ffprobe_compact: $(FFPROBE_TEST_FILE)
> > +fate-ffprobe_xml: CMD = run $(FFPROBE_COMMAND) -of xml
> > +
> > +fate-ffprobe: $(FATE_FFPROBE)
> > +
> >
> You repeated "fate-ffprobe_compact" for every test here.
Patch updated against the patches:
lavfi/testsrc: increase precision of the duration parameter
lavd/lavfi: push frames until the last sink is EOF
I'll apply the patch as soon as I get the above patches committed. Thanks.
--
FFmpeg = Fostering Fostering MultiPurpose Extensive Guide
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-tests-add-fate-ffprobe-test.patch
Type: text/x-diff
Size: 87095 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120920/1bacc9a3/attachment.bin>
More information about the ffmpeg-devel
mailing list