third_party_libsnd/tests/test_wrapper.sh.in
Lars Palo f36189554b Added tests for cues
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2016-04-11 19:55:10 +10:00

372 lines
13 KiB
Bash

#!/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 "----------------------------------------------------------------------"