test/test_compression.sh : Use wc instead of stat to get file size.

The stat program has different command line parameters depend on
whether its the GNU or BSD version. Sitch to 'wc -c' instead which
seems more portable.
Plus other minor improvements.
This commit is contained in:
Erik de Castro Lopo
2013-03-04 21:24:51 +11:00
parent 538ce85eae
commit 0432b96490

View File

@@ -27,24 +27,25 @@ LD_LIBRARY_PATH=`pwd`/../objs/$BUILD/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH export LD_LIBRARY_PATH
PATH=`pwd`/../src/flac:$PATH PATH=`pwd`/../src/flac:$PATH
echo "Using FLAC binary :" `which flac` echo "Using FLAC binary :" $(which flac)
date=`date "+%Y%m%dT%H%M%S"` date=`date "+%Y%m%dT%H%M%S"`
fname="comp${date}.flac" fname="comp${date}.flac"
last_size=0
last_k=0 last_k=0
for k in `seq 1 8` ; do last_size=$(wc -c < noisy-sine.wav)
echo "Original file size ${last_size} bytes."
for k in $(seq 1 8) ; do
flac -${k} --silent noisy-sine.wav -o ${fname} flac -${k} --silent noisy-sine.wav -o ${fname}
size=`stat --format="%s" ${fname}` size=$(wc -c < ${fname})
echo "Compression level ${k}, file size ${size} bytes." echo "Compression level ${k}, file size ${size} bytes."
if test $k -gt 1 ; then if test ${last_size} -lt ${size} ; then
if test $last_size -lt $size ; then echo "Error : Compression ${last_k} size $last_size >= compression $k size $size."
echo "Error : Compression $last_k size $last_size >= compression $k size $size."
exit 1 exit 1
fi fi
fi last_size=${size}
last_size=$size last_k=${k}
last_k=$k rm -f ${fname}
rm -f $fname
done done