2001-05-27 22:32:15 +04:00
#!/bin/sh
2001-06-08 04:13:21 +04:00
# FLAC - Free Lossless Audio Codec
2002-01-26 21:05:12 +03:00
# Copyright (C) 2001,2002 Josh Coalson
2001-06-08 04:13:21 +04:00
#
# This program is part of FLAC; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2001-05-27 22:32:15 +04:00
LD_LIBRARY_PATH = ../src/libFLAC/.libs:../obj/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
PATH = ../src/flac:../obj/bin:$PATH
BINS_PATH = ../../test_files/bins
2002-10-11 10:22:30 +04:00
flac --help 1>/dev/null 2>/dev/null || ( echo "ERROR can't find flac executable" 1>& 2 && exit 1)
if [ $? != 0 ] ; then exit 1 ; fi
#FLAC="valgrind --leak-check=yes --show-reachable=yes --logfile-fd=1 flac"
FLAC = flac
2001-07-22 11:25:50 +04:00
test -d ${ BINS_PATH } || exit 77
2001-05-27 22:32:15 +04:00
test_file ( )
{
name = $1
channels = $2
bps = $3
encode_options = " $4 "
2002-08-30 09:39:36 +04:00
echo -n " $name (--channels= $channels --bps= $bps $encode_options ): encode... "
2002-10-11 10:22:30 +04:00
cmd = " $FLAC --verify --silent --force-raw-format --endian=big --sign=signed --sample-rate=44100 --bps= $bps --channels= $channels $encode_options $name .bin "
2001-05-27 22:32:15 +04:00
echo " ### ENCODE $name ####################################################### " >> ./streams.log
echo " ### cmd= $cmd " >> ./streams.log
if $cmd 2>>./streams.log ; then : ; else
echo " ERROR during encode of $name " 1>& 2
exit 1
fi
echo -n "decode..."
2002-10-11 10:22:30 +04:00
cmd = " $FLAC --silent --endian=big --sign=signed --decode --force-raw-format $name .flac " ;
2001-05-27 22:32:15 +04:00
echo " ### DECODE $name ####################################################### " >> ./streams.log
echo " ### cmd= $cmd " >> ./streams.log
if $cmd 2>>./streams.log ; then : ; else
echo " ERROR during decode of $name " 1>& 2
exit 1
fi
ls -1l $name .bin >> ./streams.log
ls -1l $name .flac >> ./streams.log
ls -1l $name .raw >> ./streams.log
echo -n "compare..."
if cmp $name .bin $name .raw ; then : ; else
echo " ERROR during compare of $name " 1>& 2
exit 1
fi
echo OK
}
echo "Testing bins..."
2002-10-11 10:22:30 +04:00
for f in b00 b01 b02 b03 b04 ; do
binfile = $BINS_PATH /$f
if [ -f $binfile ] ; then
for disable in '' '--disable-verbatim-subframes --disable-constant-subframes' '--disable-verbatim-subframes --disable-constant-subframes --disable-fixed-subframes' ; do
for channels in 1 2 4 8 ; do
for bps in 8 16 24 ; do
for opt in 0 1 2 4 5 6 8 ; do
for extras in '' '-p' '-e' ; do
for blocksize in '' '--lax -b 32' '--lax -b 32768' '--lax -b 65535' ; do
test_file $binfile $channels $bps " - $opt $extras $blocksize $disable "
done
done
2001-05-27 22:32:15 +04:00
done
2002-10-11 10:22:30 +04:00
if [ " $FLAC__EXHAUSTIVE_TESTS " = yes ] ; then
test_file $binfile $channels $bps " -b 16384 -m -r 8 -l 32 -e -p $disable "
fi
2001-05-27 22:32:15 +04:00
done
done
done
2002-10-11 10:22:30 +04:00
else
echo " $binfile not found, skipping. "
fi
2001-05-27 22:32:15 +04:00
done