X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=test%2Ftest_grabbag.sh;h=5d9f9d1cca6e94710e354b56d83a11fa9d64af3d;hb=56c2135cf9e83ede15ee00939e2534dfade63428;hp=77f998f36daf87e36aacca9e55adb7668c46df5e;hpb=c3cc5b4260fa6d5919216cea301ed4ffb391fcae;p=platform%2Fupstream%2Fflac.git diff --git a/test/test_grabbag.sh b/test/test_grabbag.sh index 77f998f..5d9f9d1 100755 --- a/test/test_grabbag.sh +++ b/test/test_grabbag.sh @@ -1,21 +1,21 @@ #!/bin/sh # FLAC - Free Lossless Audio Codec -# Copyright (C) 2001,2002 Josh Coalson +# Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2008,2009 Josh Coalson # -# 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 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. # -# 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. +# 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. die () { @@ -23,21 +23,75 @@ die () exit 1 } -LD_LIBRARY_PATH=../src/libFLAC/.libs:../src/share/grabbag/.libs:../obj/release/lib:../obj/debug/lib:$LD_LIBRARY_PATH +if [ x = x"$1" ] ; then + BUILD=debug +else + BUILD="$1" +fi + +LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH +LD_LIBRARY_PATH=../objs/$BUILD/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH -PATH=../src/test_grabbag/cuesheet:../obj/release/bin:../obj/debug/bin:$PATH +export MALLOC_CHECK_=3 +export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) +PATH=../src/test_grabbag/cuesheet:$PATH +PATH=../src/test_grabbag/picture:$PATH +PATH=../objs/$BUILD/bin:$PATH test_cuesheet -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_cuesheet executable" +test_picture -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_picture executable" run_test_cuesheet () { - if [ "$FLAC__VALGRIND" = yes ] ; then - valgrind --leak-check=yes --show-reachable=yes --num-callers=10 --logfile-fd=4 test_cuesheet $* 4>>valgrind.log + if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then + echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 test_cuesheet $*" >>test_grabbag.valgrind.log + valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_cuesheet $* 4>>test_grabbag.valgrind.log else test_cuesheet $* fi } +run_test_picture () +{ + if [ x"$FLAC__TEST_WITH_VALGRIND" = xyes ] ; then + echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=100 test_picture $*" >>test_grabbag.valgrind.log + valgrind --leak-check=yes --show-reachable=yes --num-callers=100 --log-fd=4 test_picture $* 4>>test_grabbag.valgrind.log + else + test_picture $* + fi +} + +if [ `env | grep -ic '^comspec='` != 0 ] ; then + is_win=yes +else + is_win=no +fi + +######################################################################## +# +# test_picture +# +######################################################################## + +log=picture.log +picture_dir=pictures + +echo "Running test_picture..." + +rm -f $log + +run_test_picture $picture_dir >> $log 2>&1 + +if [ $is_win = yes ] ; then + diff -w picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff" +else + diff picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff" +fi + +echo "PASSED (results are in $log)" + ######################################################################## # # test_cuesheet @@ -50,6 +104,8 @@ good_cuesheets=cuesheets/good.*.cue good_leadout=`expr 80 \* 60 \* 44100` bad_leadout=`expr $good_leadout + 1` +echo "Running test_cuesheet..." + rm -f $log # @@ -57,7 +113,7 @@ rm -f $log # for cuesheet in $bad_cuesheets ; do echo "NEGATIVE $cuesheet" >> $log 2>&1 - run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1 + run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1 exit_code=$? if [ "$exit_code" = 255 ] ; then die "Error: test script is broken" @@ -72,7 +128,7 @@ done # for cuesheet in $good_cuesheets ; do echo "POSITIVE $cuesheet" >> $log 2>&1 - run_test_cuesheet $cuesheet $good_leadout cdda >> $log 2>&1 + run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1 exit_code=$? if [ "$exit_code" = 255 ] ; then die "Error: test script is broken" @@ -85,6 +141,10 @@ for cuesheet in $good_cuesheets ; do rm -f $cuesheet_pass1 $cuesheet_pass2 done -diff cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff" +if [ $is_win = yes ] ; then + diff -w cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff" +else + diff cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff" +fi echo "PASSED (results are in $log)"