| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | #!/bin/bash
 | 
					
						
							| 
									
										
										
										
											2003-04-24 03:59:33 +00:00
										 |  |  | # Even in the 21st century some diffs are not supporting -u. | 
					
						
							|  |  |  | diff -u $0 $0 > /dev/null 2>&1 | 
					
						
							|  |  |  | if [ $? -eq 0 ]; then | 
					
						
							|  |  |  |   diff_cmd="diff -u" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   diff_cmd="diff" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2005-12-17 18:14:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  | # Make sure that the data directory exists | 
					
						
							|  |  |  | mkdir -p data | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-08-24 21:14:02 +00:00
										 |  |  | #perl -e 'chomp($wd = `pwd`); print map { s!data/!!; "<Stream $_>\nFile $wd/data/$_\n</Stream>\n\n" } @ARGV' data/a* >> data/test.conf | 
					
						
							|  |  |  | #perl -e 'chomp($wd = `pwd`); print map { s!data/!!; "<Stream $_.asf>\nFile $wd/data/$_\n</Stream>\n\n" } @ARGV' data/a* >> data/test.conf | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  | FILES=`sed -n 's/^[^#]*<Stream \(.*\)>.*/\1/p' test.conf | grep -v html` | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  | rm -f feed1.ffm | 
					
						
							|  |  |  | ../ffserver -d -f test.conf 2> /dev/null & | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | FFSERVER_PID=$! | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  | sleep 2 | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  | echo "Waiting for feeds to startup..." | 
					
						
							|  |  |  | ../ffmpeg -loop_input -flags +bitexact -dct fastint -idct simple -y -f pgmyuv -i vsynth1/%02d.pgm http://localhost:9999/feed1.ffm 2> /dev/null & | 
					
						
							|  |  |  | FFMPEG_PID=$! | 
					
						
							|  |  |  | sleep 5 | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | ( | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  |     cd data || exit $? | 
					
						
							|  |  |  |     rm -f ff-*; | 
					
						
							| 
									
										
										
										
											2005-11-13 00:41:44 +00:00
										 |  |  |     WGET_OPTIONS="--user-agent=NSPlayer -q --proxy=off -e verbose=off -e server_response=off" | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  |     for file in $FILES; do | 
					
						
							| 
									
										
										
										
											2006-02-24 13:02:33 +00:00
										 |  |  |         if [ `expr $file : "a-*"` != 0 ]; then | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  |             wget $WGET_OPTIONS --output-document=- http://localhost:9999/$file > ff-$file | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  |         else | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  |             wget $WGET_OPTIONS --output-document=- http://localhost:9999/$file?date=19700101T000000Z | dd bs=1 count=20000 > ff-$file 2>/dev/null | 
					
						
							| 
									
										
										
										
											2003-04-12 03:04:55 +00:00
										 |  |  |         fi | 
					
						
							|  |  |  |         MDFILES="$MDFILES ff-$file" | 
					
						
							| 
									
										
										
										
											2005-12-17 18:14:38 +00:00
										 |  |  |     done | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  |     wait | 
					
						
							|  |  |  |     # the status page is always different | 
					
						
							| 
									
										
										
										
											2006-02-23 23:50:33 +00:00
										 |  |  |     md5sum $MDFILES > ffserver.regression | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | ) | 
					
						
							| 
									
										
										
										
											2007-02-22 14:30:31 +00:00
										 |  |  | kill $FFMPEG_PID | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  | kill $FFSERVER_PID | 
					
						
							|  |  |  | wait > /dev/null 2>&1 | 
					
						
							| 
									
										
										
										
											2007-02-27 11:57:17 +00:00
										 |  |  | rm -f feed1.ffm | 
					
						
							| 
									
										
										
										
											2006-11-08 00:02:15 +00:00
										 |  |  | if $diff_cmd data/ffserver.regression "$1" ; then | 
					
						
							| 
									
										
										
										
											2005-12-17 18:14:38 +00:00
										 |  |  |     echo | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  |     echo Server regression test succeeded. | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  | else | 
					
						
							| 
									
										
										
										
											2005-12-17 18:14:38 +00:00
										 |  |  |     echo | 
					
						
							| 
									
										
										
										
											2002-12-12 19:53:05 +00:00
										 |  |  |     echo Server regression test: Error. | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | fi |