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 "----------------------------------------------------------------------"
 |