summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2012-10-14 21:40:40 +1100
committerErik de Castro Lopo <erikd@mega-nerd.com>2012-10-14 21:40:40 +1100
commit1f0daccf2b58994879ffa627a5e6000e3c321139 (patch)
tree569f1ce1a7116c2ba1be5806a31b168827f3014e /test
parentfc360735ce4d1aa88a94bfccdd3bea5bdd19a8d6 (diff)
downloadflac-1f0daccf2b58994879ffa627a5e6000e3c321139.tar.gz
Add a regresion test for compression levels.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am5
-rwxr-xr-xtest/test_compression.sh50
2 files changed, 54 insertions, 1 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index d423c0b9..9bc3b1eb 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -26,7 +26,8 @@ check_SCRIPTS = \
test_flac.sh \
test_metaflac.sh \
test_seeking.sh \
- test_streams.sh
+ test_streams.sh \
+ test_compression.sh
# This one should pass when building out-of-tree (eg 'make distcheck').
check: $(check_SCRIPTS)
@@ -36,6 +37,7 @@ if FLaC__WITH_CPPLIBS
endif
$(srcdir)/test_seeking.sh
$(srcdir)/test_streams.sh
+ $(srcdir)/test_compression.sh
@echo "----------------"
@echo "All tests passed"
@echo "----------------"
@@ -53,6 +55,7 @@ endif
./test_metaflac.sh
./test_seeking.sh
./test_streams.sh
+ ./test_compression.sh
@echo "----------------"
@echo "All tests passed"
@echo "----------------"
diff --git a/test/test_compression.sh b/test/test_compression.sh
new file mode 100755
index 00000000..6507a448
--- /dev/null
+++ b/test/test_compression.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# FLAC - Free Lossless Audio Codec
+# Copyright (C) 2012 Xiph.Org Foundation
+#
+# This file is part the FLAC project. FLAC is comprised of several
+# components distributed under difference licenses. The codec libraries
+# are distributed under Xiph.Org's BSD-like license (see the file
+# COPYING.Xiph in this distribution). All other programs, libraries, and
+# plugins are distributed under the GPL (see COPYING.GPL). The documentation
+# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the
+# FLAC distribution contains at the top the terms under which it may be
+# distributed.
+#
+# Since this particular file is relevant to all components of FLAC,
+# it may be distributed under the Xiph.Org license, which is the least
+# restrictive of those mentioned above. See the file COPYING.Xiph in this
+# distribution.
+
+LD_LIBRARY_PATH=`pwd`/../src/libFLAC/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../src/share/grabbag/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../src/share/getopt/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../src/share/utf8/.libs:$LD_LIBRARY_PATH
+LD_LIBRARY_PATH=`pwd`/../obj/$BUILD/lib:$LD_LIBRARY_PATH
+export LD_LIBRARY_PATH
+PATH=`pwd`/../src/flac:$PATH
+
+echo "Using FLAC binary :" `which flac`
+
+date=`date "+%Y%m%dT%H%M%S"`
+fname="comp${date}.flac"
+
+last_size=0
+last_k=0
+for k in `seq 1 8` ; do
+ flac -${k} --silent noisy-sine.wav -o ${fname}
+ size=`stat --format="%s" ${fname}`
+ echo "Compression level ${k}, file size ${size} bytes."
+ if test $k -gt 1 ; then
+ if test $last_size -lt $size ; then
+ echo "Error : Compression $last_k size $last_size >= compression $k size $size."
+ exit 1
+ fi
+ fi
+ last_size=$size
+ last_k=$k
+ rm -f $fname
+ done