 061991fe60
			
		
	
	
		061991fe60
		
	
	
	
	
		
			
			it appears a one-character typo in the cmake_minimum_required line prevents it from compiling under CMake 4.0. in order to fix that, I had to take this thing out of submodules... it is recommended to do this after you pull; git submodule deinit extern/libsndfile
		
			
				
	
	
		
			381 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			381 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env sh
 | |
| 
 | |
| # Copyright (C) 2008-2017 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].*//")
 | |
| 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 "----------------------------------------------------------------------"
 |