#!/bin/sh # Copyright (C) 2008-2013 Erik de Castro Lopo # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # * Neither the author nor the names of any contributors may be used # to endorse or promote products derived from this software without # specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. HOST_TRIPLET=@HOST_TRIPLET@ PACKAGE_VERSION=@PACKAGE_VERSION@ LIB_VERSION=`echo $PACKAGE_VERSION | sed "s/[a-z].*//"` if test -f tests/sfversion@EXEEXT@ ; then cd tests fi if test ! -f sfversion@EXEEXT@ ; then echo "Not able to find test executables." exit 1 fi if test -f libsndfile.so.$LIB_VERSION ; then # This will work on Linux, but not on Mac. # Windows is already sorted out. export LD_LIBRARY_PATH=`pwd` if test ! -f libsndfile.so.1 ; then ln -s libsndfile.so.$LIB_VERSION libsndfile.so.1 fi fi sfversion=`./sfversion@EXEEXT@ | sed "s/-exp$//"` if test $sfversion != libsndfile-$PACKAGE_VERSION ; then echo "Error : sfversion ($sfversion) and PACKAGE_VERSION ($PACKAGE_VERSION) don't match." exit 1 fi # Force exit on errors. set -e # Generic-tests uname -a # Check the header file. sh pedantic-header-test.sh # Need this for when we're running from files collected into the # libsndfile-testsuite-@PACKAGE_VERSION@ tarball. if test -x test_main@EXEEXT@ ; then echo "Running unit tests from src/ directory of source code tree." ./test_main@EXEEXT@ echo echo "Running end-to-end tests from tests/ directory." fi ./error_test@EXEEXT@ ./pcm_test@EXEEXT@ ./ulaw_test@EXEEXT@ ./alaw_test@EXEEXT@ ./dwvw_test@EXEEXT@ ./command_test@EXEEXT@ ver ./command_test@EXEEXT@ norm ./command_test@EXEEXT@ format ./command_test@EXEEXT@ peak ./command_test@EXEEXT@ trunc ./command_test@EXEEXT@ inst ./command_test@EXEEXT@ current_sf_info ./command_test@EXEEXT@ bext ./command_test@EXEEXT@ bextch ./command_test@EXEEXT@ chanmap ./command_test@EXEEXT@ cart ./floating_point_test@EXEEXT@ ./checksum_test@EXEEXT@ ./scale_clip_test@EXEEXT@ ./headerless_test@EXEEXT@ ./rdwr_test@EXEEXT@ ./locale_test@EXEEXT@ ./win32_ordinal_test@EXEEXT@ ./external_libs_test@EXEEXT@ ./format_check_test@EXEEXT@ ./channel_test@EXEEXT@ # The w64 G++ compiler requires an extra runtime DLL which we don't have, # so skip this test. case "$HOST_TRIPLET" in x86_64-w64-mingw32) ;; i686-w64-mingw32) ;; *) ./cpp_test@EXEEXT@ ;; esac echo "----------------------------------------------------------------------" echo " $sfversion passed common tests." echo "----------------------------------------------------------------------" # aiff-tests ./write_read_test@EXEEXT@ aiff ./lossy_comp_test@EXEEXT@ aiff_ulaw ./lossy_comp_test@EXEEXT@ aiff_alaw ./lossy_comp_test@EXEEXT@ aiff_gsm610 echo "==========================" echo "./lossy_comp_test@EXEEXT@ aiff_ima" echo "==========================" ./peak_chunk_test@EXEEXT@ aiff ./header_test@EXEEXT@ aiff ./misc_test@EXEEXT@ aiff ./string_test@EXEEXT@ aiff ./multi_file_test@EXEEXT@ aiff ./aiff_rw_test@EXEEXT@ ./chunk_test@EXEEXT@ aiff echo "----------------------------------------------------------------------" echo " $sfversion passed tests on AIFF files." echo "----------------------------------------------------------------------" # au-tests ./write_read_test@EXEEXT@ au ./lossy_comp_test@EXEEXT@ au_ulaw ./lossy_comp_test@EXEEXT@ au_alaw ./lossy_comp_test@EXEEXT@ au_g721 ./lossy_comp_test@EXEEXT@ au_g723 ./header_test@EXEEXT@ au ./misc_test@EXEEXT@ au ./multi_file_test@EXEEXT@ au echo "----------------------------------------------------------------------" echo " $sfversion passed tests on AU files." echo "----------------------------------------------------------------------" # caf-tests ./write_read_test@EXEEXT@ caf ./lossy_comp_test@EXEEXT@ caf_ulaw ./lossy_comp_test@EXEEXT@ caf_alaw ./header_test@EXEEXT@ caf ./peak_chunk_test@EXEEXT@ caf ./misc_test@EXEEXT@ caf ./chunk_test@EXEEXT@ caf echo "----------------------------------------------------------------------" echo " $sfversion passed tests on CAF files." echo "----------------------------------------------------------------------" # wav-tests ./write_read_test@EXEEXT@ wav ./lossy_comp_test@EXEEXT@ wav_pcm ./lossy_comp_test@EXEEXT@ wav_ima ./lossy_comp_test@EXEEXT@ wav_msadpcm ./lossy_comp_test@EXEEXT@ wav_ulaw ./lossy_comp_test@EXEEXT@ wav_alaw ./lossy_comp_test@EXEEXT@ wav_gsm610 ./lossy_comp_test@EXEEXT@ wav_g721 ./peak_chunk_test@EXEEXT@ wav ./header_test@EXEEXT@ wav ./misc_test@EXEEXT@ wav ./string_test@EXEEXT@ wav ./multi_file_test@EXEEXT@ wav ./chunk_test@EXEEXT@ wav echo "----------------------------------------------------------------------" echo " $sfversion passed tests on WAV files." echo "----------------------------------------------------------------------" # w64-tests ./write_read_test@EXEEXT@ w64 ./lossy_comp_test@EXEEXT@ w64_ima ./lossy_comp_test@EXEEXT@ w64_msadpcm ./lossy_comp_test@EXEEXT@ w64_ulaw ./lossy_comp_test@EXEEXT@ w64_alaw ./lossy_comp_test@EXEEXT@ w64_gsm610 ./header_test@EXEEXT@ w64 ./misc_test@EXEEXT@ w64 echo "----------------------------------------------------------------------" echo " $sfversion passed tests on W64 files." echo "----------------------------------------------------------------------" # rf64-tests ./write_read_test@EXEEXT@ rf64 ./header_test@EXEEXT@ rf64 ./misc_test@EXEEXT@ rf64 echo "----------------------------------------------------------------------" echo " $sfversion passed tests on RF64 files." echo "----------------------------------------------------------------------" # raw-tests ./write_read_test@EXEEXT@ raw ./lossy_comp_test@EXEEXT@ raw_ulaw ./lossy_comp_test@EXEEXT@ raw_alaw ./lossy_comp_test@EXEEXT@ raw_gsm610 ./lossy_comp_test@EXEEXT@ vox_adpcm ./raw_test@EXEEXT@ echo "----------------------------------------------------------------------" echo " $sfversion passed tests on RAW (header-less) files." echo "----------------------------------------------------------------------" # paf-tests ./write_read_test@EXEEXT@ paf ./header_test@EXEEXT@ paf ./misc_test@EXEEXT@ paf echo "----------------------------------------------------------------------" echo " $sfversion passed tests on PAF files." echo "----------------------------------------------------------------------" # svx-tests ./write_read_test@EXEEXT@ svx ./header_test@EXEEXT@ svx ./misc_test@EXEEXT@ svx echo "----------------------------------------------------------------------" echo " $sfversion passed tests on SVX files." echo "----------------------------------------------------------------------" # nist-tests ./write_read_test@EXEEXT@ nist ./lossy_comp_test@EXEEXT@ nist_ulaw ./lossy_comp_test@EXEEXT@ nist_alaw ./header_test@EXEEXT@ nist ./misc_test@EXEEXT@ nist echo "----------------------------------------------------------------------" echo " $sfversion passed tests on NIST files." echo "----------------------------------------------------------------------" # ircam-tests ./write_read_test@EXEEXT@ ircam ./lossy_comp_test@EXEEXT@ ircam_ulaw ./lossy_comp_test@EXEEXT@ ircam_alaw ./header_test@EXEEXT@ ircam ./misc_test@EXEEXT@ ircam echo "----------------------------------------------------------------------" echo " $sfversion passed tests on IRCAM files." echo "----------------------------------------------------------------------" # voc-tests ./write_read_test@EXEEXT@ voc ./lossy_comp_test@EXEEXT@ voc_ulaw ./lossy_comp_test@EXEEXT@ voc_alaw ./header_test@EXEEXT@ voc ./misc_test@EXEEXT@ voc echo "----------------------------------------------------------------------" echo " $sfversion passed tests on VOC files." echo "----------------------------------------------------------------------" # mat4-tests ./write_read_test@EXEEXT@ mat4 ./header_test@EXEEXT@ mat4 ./misc_test@EXEEXT@ mat4 echo "----------------------------------------------------------------------" echo " $sfversion passed tests on MAT4 files." echo "----------------------------------------------------------------------" # mat5-tests ./write_read_test@EXEEXT@ mat5 ./header_test@EXEEXT@ mat5 ./misc_test@EXEEXT@ mat5 echo "----------------------------------------------------------------------" echo " $sfversion passed tests on MAT5 files." echo "----------------------------------------------------------------------" # pvf-tests ./write_read_test@EXEEXT@ pvf ./header_test@EXEEXT@ pvf ./misc_test@EXEEXT@ pvf echo "----------------------------------------------------------------------" echo " $sfversion passed tests on PVF files." echo "----------------------------------------------------------------------" # xi-tests ./lossy_comp_test@EXEEXT@ xi_dpcm echo "----------------------------------------------------------------------" echo " $sfversion passed tests on XI files." echo "----------------------------------------------------------------------" # htk-tests ./write_read_test@EXEEXT@ htk ./header_test@EXEEXT@ htk ./misc_test@EXEEXT@ htk echo "----------------------------------------------------------------------" echo " $sfversion passed tests on HTK files." echo "----------------------------------------------------------------------" # avr-tests ./write_read_test@EXEEXT@ avr ./header_test@EXEEXT@ avr ./misc_test@EXEEXT@ avr echo "----------------------------------------------------------------------" echo " $sfversion passed tests on AVR files." echo "----------------------------------------------------------------------" # sds-tests ./write_read_test@EXEEXT@ sds ./header_test@EXEEXT@ sds ./misc_test@EXEEXT@ sds echo "----------------------------------------------------------------------" echo " $sfversion passed tests on SDS files." echo "----------------------------------------------------------------------" # sd2-tests ./write_read_test@EXEEXT@ sd2 echo "----------------------------------------------------------------------" echo " $sfversion passed tests on SD2 files." echo "----------------------------------------------------------------------" # wve-tests ./lossy_comp_test@EXEEXT@ wve echo "----------------------------------------------------------------------" echo " $sfversion passed tests on WVE files." echo "----------------------------------------------------------------------" # mpc2k-tests ./write_read_test@EXEEXT@ mpc2k ./header_test@EXEEXT@ mpc2k ./misc_test@EXEEXT@ mpc2k echo "----------------------------------------------------------------------" echo " $sfversion passed tests on MPC 2000 files." echo "----------------------------------------------------------------------" # flac-tests ./write_read_test@EXEEXT@ flac ./compression_size_test@EXEEXT@ flac ./string_test@EXEEXT@ flac echo "----------------------------------------------------------------------" echo " $sfversion passed tests on FLAC files." echo "----------------------------------------------------------------------" # vorbis-tests ./ogg_test@EXEEXT@ ./compression_size_test@EXEEXT@ vorbis ./lossy_comp_test@EXEEXT@ ogg_vorbis ./string_test@EXEEXT@ ogg ./misc_test@EXEEXT@ ogg echo "----------------------------------------------------------------------" echo " $sfversion passed tests on OGG/VORBIS files." echo "----------------------------------------------------------------------" # io-tests ./stdio_test@EXEEXT@ ./pipe_test@EXEEXT@ ./virtual_io_test@EXEEXT@ echo "----------------------------------------------------------------------" echo " $sfversion passed stdio/pipe/vio tests." echo "----------------------------------------------------------------------"