Browse Source

First shot at the ffserver regression tests. All feedback received with

interest

Originally committed as revision 1336 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Philip Gladstone 23 years ago
parent
commit
e2b2851e5a
4 changed files with 114 additions and 11 deletions
  1. +6
    -1
      tests/Makefile
  2. +12
    -0
      tests/ffserver.regression.ref
  3. +28
    -0
      tests/server-regression.sh
  4. +68
    -10
      tests/test.conf

+ 6
- 1
tests/Makefile View File

@@ -9,9 +9,14 @@ CFLAGS=-O2 -Wall -g

REFFILE=$(SRC_PATH)/tests/ffmpeg.regression.ref

SERVER_REFFILE=$(SRC_PATH)/tests/ffserver.regression.ref

LIBAV_REFFILE=$(SRC_PATH)/tests/libav.regression.ref

all: test
all: test test-server

test-server: vsynth1/0.pgm asynth1.sw
@$(SRC_PATH)/tests/server-regression.sh $(SERVER_REFFILE)

# fast regression tests for all codecs
test mpeg4 mpeg: vsynth1/0.pgm asynth1.sw


+ 12
- 0
tests/ffserver.regression.ref View File

@@ -0,0 +1,12 @@
7bf9a40a17c5be245be240c9a3c9e4e7 test_h.avi
574837c3606a866d7a29d4ca06da1050 test_l.avi
77062b94a9994c839b87ef4900ea272c test_h.mpg
ee8c31c5708bed84a72256afdc510dd2 test_l.mpg
9e5dc8a640ada7d66a2b6365713a982a test.swf
d5f3078d72062b91cf8ce98920bd150b test_h.asf
623b9e764e07231ecc39ba1a3e090bc2 test_l.asf
703f00c6c1d4eec27aba51920a10cc25 test_h.rm
4dd1f53c1e4e43ae8718681c3ade6ff8 test_l.rm
a73eafd5c2690eb2195dd1aef617a2f8 test.jpg
4517811e6371cbf0b0d141aaaec47d47 test_small.jpg
c504cc470edb77a4eff44bcdf10556a5 test.mjpg

+ 28
- 0
tests/server-regression.sh View File

@@ -0,0 +1,28 @@
#!/bin/bash

FILES=`perl -n -e 'print \$1, " " if /<stream\\s+(\\S+)>/i' test.conf`

rm -f /tmp/feed.ffm
../ffserver -d -f test.conf 2> /dev/null &
FFSERVER_PID=$!
sleep 1
(
cd data
for file in $FILES; do
wget --user-agent=NSPlayer -q --output-document=- http://localhost:9999/$file?date=19700101T000000Z | head --bytes=100000 > $file &
done
wait
# the status page is always different
md5sum $FILES | grep -v html > ffserver.regression
)
kill $FFSERVER_PID
wait > /dev/null 2>&1
if diff -u data/ffserver.regression $1 ; then
echo
echo Server regression test succeeded.
exit 0
else
echo
echo Server regression test: Error.
exit 1
fi

+ 68
- 10
tests/test.conf View File

@@ -51,7 +51,7 @@ CustomLog -
# File=/tmp/feed_name.ffm FileMaxSize=5M

File /tmp/feed.ffm
FileMaxSize 10M
FileMaxSize 100M

# Fire up ffmpeg pointing at this stream

@@ -70,14 +70,14 @@ Feed feed1.ffm
Format avi
#
VideoFrameRate 10
VideoSize 320x240
VideoSize 352x288
VideoBitRate 100
VideoGopSize 30
NoAudio

PreRoll 10
StartSendOnKey
MaxTime 1000
MaxTime 100

</Stream>

@@ -93,7 +93,52 @@ NoAudio

PreRoll 20
StartSendOnKey
MaxTime 1000
MaxTime 100

</Stream>

<Stream test_h.mpg>
Feed feed1.ffm
#
VideoFrameRate 10
VideoSize 352x288
VideoBitRate 100
VideoGopSize 30
NoAudio

PreRoll 10
StartSendOnKey
MaxTime 100

</Stream>

<Stream test_l.mpg>
Feed feed1.ffm
#
VideoFrameRate 2
VideoSize 320x240
VideoBitRate 40
VideoGopSize 20
NoAudio

PreRoll 20
StartSendOnKey
MaxTime 100

</Stream>

<Stream test.swf>
Feed feed1.ffm
#
VideoFrameRate 10
VideoSize 352x288
VideoBitRate 100
VideoGopSize 30
NoAudio

PreRoll 10
StartSendOnKey
MaxTime 100

</Stream>

@@ -109,7 +154,7 @@ NoAudio

PreRoll 10
StartSendOnKey
MaxTime 1000
MaxTime 100

Title "Test data stream"

@@ -127,7 +172,7 @@ NoAudio

PreRoll 20
StartSendOnKey
MaxTime 1000
MaxTime 100

Title "Test data stream"

@@ -146,7 +191,7 @@ NoAudio

PreRoll 10
StartSendOnKey
MaxTime 1000
MaxTime 100

</Stream>

@@ -163,7 +208,7 @@ NoAudio

PreRoll 20
StartSendOnKey
MaxTime 1000
MaxTime 100

</Stream>

@@ -174,7 +219,20 @@ Feed feed1.ffm
Format singlejpeg

VideoFrameRate 1
VideoSize 320x240
VideoSize 352x288
NoAudio

PreRoll 2

</Stream>

<Stream test_small.jpg>

Feed feed1.ffm
Format singlejpeg

VideoFrameRate 1
VideoSize 160x128
NoAudio

PreRoll 2
@@ -192,7 +250,7 @@ NoAudio
StartSendOnKey

PreRoll 1
MaxTime 1000
MaxTime 100

</Stream>



Loading…
Cancel
Save