| #!/bin/sh |
| |
| # Copyright (C) 2008-2016 Erik de Castro Lopo <erikd@mega-nerd.com> |
| # |
| # 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@ | grep libsndfile | 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@ cue |
| ./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 |
| ./string_test@EXEEXT@ caf |
| ./long_read_write_test@EXEEXT@ alac |
| 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 |
| ./string_test@EXEEXT@ rf64 |
| ./peak_chunk_test@EXEEXT@ rf64 |
| ./chunk_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 "----------------------------------------------------------------------" |
| |
| |