123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- #!/usr/bin/env sh
- # Copyright (C) 2008-2017 Erik de Castro Lopo <[email protected]>
- #
- # 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].*//")
- ABS_TOP_SRCDIR=@abs_top_srcdir@
- PYTHON=@PYTHON@
- sfversion=$(./tests/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
- # Check the header file.
- /usr/bin/env sh tests/pedantic-header-test.sh
- # Need this for when we're running from files collected into the
- # libsndfile-testsuite-@PACKAGE_VERSION@ tarball.
- echo "Running unit tests from src/ directory of source code tree."
- ./src/test_main@EXEEXT@
- echo
- echo "Running end-to-end tests from tests/ directory."
- ./tests/error_test@EXEEXT@
- ./tests/pcm_test@EXEEXT@
- ./tests/ulaw_test@EXEEXT@
- ./tests/alaw_test@EXEEXT@
- ./tests/dwvw_test@EXEEXT@
- ./tests/command_test@EXEEXT@ ver
- ./tests/command_test@EXEEXT@ norm
- ./tests/command_test@EXEEXT@ format
- ./tests/command_test@EXEEXT@ peak
- ./tests/command_test@EXEEXT@ trunc
- ./tests/command_test@EXEEXT@ inst
- ./tests/command_test@EXEEXT@ cue
- ./tests/command_test@EXEEXT@ current_sf_info
- ./tests/command_test@EXEEXT@ bext
- ./tests/command_test@EXEEXT@ bextch
- ./tests/command_test@EXEEXT@ chanmap
- ./tests/command_test@EXEEXT@ cart
- ./tests/floating_point_test@EXEEXT@
- ./tests/checksum_test@EXEEXT@
- ./tests/scale_clip_test@EXEEXT@
- ./tests/headerless_test@EXEEXT@
- ./tests/rdwr_test@EXEEXT@
- ./tests/locale_test@EXEEXT@
- ./tests/win32_ordinal_test@EXEEXT@
- ./tests/external_libs_test@EXEEXT@
- ./tests/format_check_test@EXEEXT@
- ./tests/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)
- ;;
- *)
- ./tests/cpp_test@EXEEXT@
- ;;
- esac
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed common tests."
- echo "----------------------------------------------------------------------"
- # aiff-tests
- ./tests/write_read_test@EXEEXT@ aiff
- ./tests/lossy_comp_test@EXEEXT@ aiff_ulaw
- ./tests/lossy_comp_test@EXEEXT@ aiff_alaw
- ./tests/lossy_comp_test@EXEEXT@ aiff_gsm610
- echo "----------------------------------------------------------------------"
- echo " lossy_comp_test@EXEEXT@ aiff_ima"
- echo "----------------------------------------------------------------------"
- ./tests/peak_chunk_test@EXEEXT@ aiff
- ./tests/header_test@EXEEXT@ aiff
- ./tests/misc_test@EXEEXT@ aiff
- ./tests/string_test@EXEEXT@ aiff
- ./tests/multi_file_test@EXEEXT@ aiff
- ./tests/aiff_rw_test@EXEEXT@
- ./tests/chunk_test@EXEEXT@ aiff
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on AIFF files."
- echo "----------------------------------------------------------------------"
- # au-tests
- ./tests/write_read_test@EXEEXT@ au
- ./tests/lossy_comp_test@EXEEXT@ au_ulaw
- ./tests/lossy_comp_test@EXEEXT@ au_alaw
- ./tests/lossy_comp_test@EXEEXT@ au_g721
- ./tests/lossy_comp_test@EXEEXT@ au_g723
- ./tests/header_test@EXEEXT@ au
- ./tests/misc_test@EXEEXT@ au
- ./tests/multi_file_test@EXEEXT@ au
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on AU files."
- echo "----------------------------------------------------------------------"
- # caf-tests
- ./tests/write_read_test@EXEEXT@ caf
- ./tests/lossy_comp_test@EXEEXT@ caf_ulaw
- ./tests/lossy_comp_test@EXEEXT@ caf_alaw
- ./tests/header_test@EXEEXT@ caf
- ./tests/peak_chunk_test@EXEEXT@ caf
- ./tests/misc_test@EXEEXT@ caf
- ./tests/chunk_test@EXEEXT@ caf
- ./tests/string_test@EXEEXT@ caf
- ./tests/long_read_write_test@EXEEXT@ alac
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on CAF files."
- echo "----------------------------------------------------------------------"
- # wav-tests
- ./tests/write_read_test@EXEEXT@ wav
- ./tests/lossy_comp_test@EXEEXT@ wav_pcm
- ./tests/lossy_comp_test@EXEEXT@ wav_ima
- ./tests/lossy_comp_test@EXEEXT@ wav_msadpcm
- ./tests/lossy_comp_test@EXEEXT@ wav_ulaw
- ./tests/lossy_comp_test@EXEEXT@ wav_alaw
- ./tests/lossy_comp_test@EXEEXT@ wav_gsm610
- ./tests/lossy_comp_test@EXEEXT@ wav_g721
- ./tests/peak_chunk_test@EXEEXT@ wav
- ./tests/header_test@EXEEXT@ wav
- ./tests/misc_test@EXEEXT@ wav
- ./tests/string_test@EXEEXT@ wav
- ./tests/multi_file_test@EXEEXT@ wav
- ./tests/chunk_test@EXEEXT@ wav
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on WAV files."
- echo "----------------------------------------------------------------------"
- # w64-tests
- ./tests/write_read_test@EXEEXT@ w64
- ./tests/lossy_comp_test@EXEEXT@ w64_ima
- ./tests/lossy_comp_test@EXEEXT@ w64_msadpcm
- ./tests/lossy_comp_test@EXEEXT@ w64_ulaw
- ./tests/lossy_comp_test@EXEEXT@ w64_alaw
- ./tests/lossy_comp_test@EXEEXT@ w64_gsm610
- ./tests/header_test@EXEEXT@ w64
- ./tests/misc_test@EXEEXT@ w64
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on W64 files."
- echo "----------------------------------------------------------------------"
- # rf64-tests
- ./tests/write_read_test@EXEEXT@ rf64
- ./tests/header_test@EXEEXT@ rf64
- ./tests/misc_test@EXEEXT@ rf64
- ./tests/string_test@EXEEXT@ rf64
- ./tests/peak_chunk_test@EXEEXT@ rf64
- ./tests/chunk_test@EXEEXT@ rf64
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on RF64 files."
- echo "----------------------------------------------------------------------"
- # raw-tests
- ./tests/write_read_test@EXEEXT@ raw
- ./tests/lossy_comp_test@EXEEXT@ raw_ulaw
- ./tests/lossy_comp_test@EXEEXT@ raw_alaw
- ./tests/lossy_comp_test@EXEEXT@ raw_gsm610
- ./tests/lossy_comp_test@EXEEXT@ vox_adpcm
- ./tests/raw_test@EXEEXT@
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on RAW (header-less) files."
- echo "----------------------------------------------------------------------"
- # paf-tests
- ./tests/write_read_test@EXEEXT@ paf
- ./tests/header_test@EXEEXT@ paf
- ./tests/misc_test@EXEEXT@ paf
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on PAF files."
- echo "----------------------------------------------------------------------"
- # svx-tests
- ./tests/write_read_test@EXEEXT@ svx
- ./tests/header_test@EXEEXT@ svx
- ./tests/misc_test@EXEEXT@ svx
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on SVX files."
- echo "----------------------------------------------------------------------"
- # nist-tests
- ./tests/write_read_test@EXEEXT@ nist
- ./tests/lossy_comp_test@EXEEXT@ nist_ulaw
- ./tests/lossy_comp_test@EXEEXT@ nist_alaw
- ./tests/header_test@EXEEXT@ nist
- ./tests/misc_test@EXEEXT@ nist
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on NIST files."
- echo "----------------------------------------------------------------------"
- # ircam-tests
- ./tests/write_read_test@EXEEXT@ ircam
- ./tests/lossy_comp_test@EXEEXT@ ircam_ulaw
- ./tests/lossy_comp_test@EXEEXT@ ircam_alaw
- ./tests/header_test@EXEEXT@ ircam
- ./tests/misc_test@EXEEXT@ ircam
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on IRCAM files."
- echo "----------------------------------------------------------------------"
- # voc-tests
- ./tests/write_read_test@EXEEXT@ voc
- ./tests/lossy_comp_test@EXEEXT@ voc_ulaw
- ./tests/lossy_comp_test@EXEEXT@ voc_alaw
- ./tests/header_test@EXEEXT@ voc
- ./tests/misc_test@EXEEXT@ voc
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on VOC files."
- echo "----------------------------------------------------------------------"
- # mat4-tests
- ./tests/write_read_test@EXEEXT@ mat4
- ./tests/header_test@EXEEXT@ mat4
- ./tests/misc_test@EXEEXT@ mat4
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on MAT4 files."
- echo "----------------------------------------------------------------------"
- # mat5-tests
- ./tests/write_read_test@EXEEXT@ mat5
- ./tests/header_test@EXEEXT@ mat5
- ./tests/misc_test@EXEEXT@ mat5
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on MAT5 files."
- echo "----------------------------------------------------------------------"
- # pvf-tests
- ./tests/write_read_test@EXEEXT@ pvf
- ./tests/header_test@EXEEXT@ pvf
- ./tests/misc_test@EXEEXT@ pvf
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on PVF files."
- echo "----------------------------------------------------------------------"
- # xi-tests
- ./tests/lossy_comp_test@EXEEXT@ xi_dpcm
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on XI files."
- echo "----------------------------------------------------------------------"
- # htk-tests
- ./tests/write_read_test@EXEEXT@ htk
- ./tests/header_test@EXEEXT@ htk
- ./tests/misc_test@EXEEXT@ htk
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on HTK files."
- echo "----------------------------------------------------------------------"
- # avr-tests
- ./tests/write_read_test@EXEEXT@ avr
- ./tests/header_test@EXEEXT@ avr
- ./tests/misc_test@EXEEXT@ avr
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on AVR files."
- echo "----------------------------------------------------------------------"
- # sds-tests
- ./tests/write_read_test@EXEEXT@ sds
- ./tests/header_test@EXEEXT@ sds
- ./tests/misc_test@EXEEXT@ sds
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on SDS files."
- echo "----------------------------------------------------------------------"
- # sd2-tests
- ./tests/write_read_test@EXEEXT@ sd2
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on SD2 files."
- echo "----------------------------------------------------------------------"
- # wve-tests
- ./tests/lossy_comp_test@EXEEXT@ wve
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on WVE files."
- echo "----------------------------------------------------------------------"
- # mpc2k-tests
- ./tests/write_read_test@EXEEXT@ mpc2k
- ./tests/header_test@EXEEXT@ mpc2k
- ./tests/misc_test@EXEEXT@ mpc2k
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on MPC 2000 files."
- echo "----------------------------------------------------------------------"
- # flac-tests
- ./tests/write_read_test@EXEEXT@ flac
- ./tests/compression_size_test@EXEEXT@ flac
- ./tests/string_test@EXEEXT@ flac
- ./tests/header_test@EXEEXT@ flac
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on FLAC files."
- echo "----------------------------------------------------------------------"
- # vorbis-tests
- ./tests/ogg_test@EXEEXT@
- ./tests/compression_size_test@EXEEXT@ vorbis
- ./tests/lossy_comp_test@EXEEXT@ ogg_vorbis
- ./tests/string_test@EXEEXT@ ogg
- ./tests/misc_test@EXEEXT@ ogg
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on OGG/VORBIS files."
- echo "----------------------------------------------------------------------"
- # opus-tests
- ./tests/ogg_opus_test@EXEEXT@
- ./tests/compression_size_test@EXEEXT@ opus
- ./tests/lossy_comp_test@EXEEXT@ ogg_opus
- ./tests/string_test@EXEEXT@ opus
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on OPUS files."
- echo "----------------------------------------------------------------------"
- # mpeg-tests
- ./tests/mpeg_test@EXEEXT@
- ./tests/compression_size_test@EXEEXT@ mpeg
- ./tests/string_test@EXEEXT@ mpeg
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed tests on MPEG files."
- echo "----------------------------------------------------------------------"
- # io-tests
- ./tests/stdio_test@EXEEXT@
- ./tests/pipe_test@EXEEXT@
- ./tests/virtual_io_test@EXEEXT@
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed stdio/pipe/vio tests."
- echo "----------------------------------------------------------------------"
- "${PYTHON}" "${ABS_TOP_SRCDIR}/src/binheader_writef_check.py" "${ABS_TOP_SRCDIR}/src"/*.c
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed binary header tests."
- echo "----------------------------------------------------------------------"
- "${PYTHON}" "${ABS_TOP_SRCDIR}/programs/test-sndfile-metadata-set.py" "${HOST_TRIPLET}"
- echo "----------------------------------------------------------------------"
- echo " $sfversion passed sndfile metadata tests."
- echo "----------------------------------------------------------------------"
|