mirror of
https://gitee.com/openharmony/third_party_libsnd
synced 2024-11-23 01:49:53 +00:00
tests/rdwr_test.(def|tpl) : Add new test program and hook into build.
This commit is contained in:
parent
08346be458
commit
0d4302b0ef
@ -52,9 +52,11 @@ libsndfile-1.0.*
|
||||
libsndfile-testsuite-*
|
||||
libsndfile.spec
|
||||
libtool
|
||||
man/sndfile-deinterleave.1
|
||||
man/sndfile-metadata-set.1
|
||||
mntest.sh
|
||||
programs/sndfile-cmp
|
||||
programs/sndfile-concat
|
||||
programs/sndfile-convert
|
||||
programs/sndfile-data-trim
|
||||
programs/sndfile-deinterleave
|
||||
@ -92,11 +94,10 @@ tests/header_test.c
|
||||
tests/libsndfile-1.dll
|
||||
tests/pcm_test.c
|
||||
tests/pipe_test.c
|
||||
tests/rdwr_test.c
|
||||
tests/scale_clip_test.c
|
||||
tests/sfversion
|
||||
tests/test_wrapper.sh
|
||||
tests/utils.c
|
||||
tests/utils.h
|
||||
tests/write_read_test.c
|
||||
programs/sndfile-concat
|
||||
man/sndfile-deinterleave.1
|
||||
|
@ -6,6 +6,9 @@
|
||||
* tests/utils.tpl
|
||||
Add functions test_read_raw_or_die and test_write_raw_or_die.
|
||||
|
||||
* tests/rdwr_test.(def|tpl) tests/Makefile.am
|
||||
Add new test program and hook into build.
|
||||
|
||||
2010-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
|
||||
|
||||
* configure.ac
|
||||
|
@ -15,7 +15,7 @@ noinst_PROGRAMS = sfversion floating_point_test write_read_test \
|
||||
raw_test string_test multi_file_test dither_test \
|
||||
scale_clip_test win32_test fix_this aiff_rw_test virtual_io_test \
|
||||
locale_test largefile_test win32_ordinal_test ogg_test vorbis_test \
|
||||
checksum_test external_libs_test $(CPP_TEST)
|
||||
checksum_test external_libs_test rdwr_test $(CPP_TEST)
|
||||
|
||||
noinst_HEADERS = dft_cmp.h utils.h generate.h
|
||||
|
||||
@ -25,6 +25,7 @@ autogen_sources = write_read_test.tpl write_read_test.def \
|
||||
utils.tpl utils.def \
|
||||
scale_clip_test.tpl scale_clip_test.def \
|
||||
pipe_test.tpl pipe_test.def \
|
||||
rdwr_test.tpl rdwr_test.def \
|
||||
floating_point_test.tpl floating_point_test.def \
|
||||
benchmark.tpl benchmark.def
|
||||
|
||||
@ -113,6 +114,9 @@ ogg_test_LDADD = $(top_builddir)/src/libsndfile.la
|
||||
vorbis_test_SOURCES = vorbis_test.c utils.c
|
||||
vorbis_test_LDADD = $(top_builddir)/src/libsndfile.la
|
||||
|
||||
rdwr_test_SOURCES = rdwr_test.c utils.c
|
||||
rdwr_test_LDADD = $(top_builddir)/src/libsndfile.la
|
||||
|
||||
win32_test_SOURCES = win32_test.c
|
||||
win32_test_LDADD =
|
||||
|
||||
@ -162,6 +166,9 @@ scale_clip_test.c: scale_clip_test.def scale_clip_test.tpl
|
||||
pipe_test.c: pipe_test.def pipe_test.tpl
|
||||
autogen --writable pipe_test.def
|
||||
|
||||
rdwr_test.c: rdwr_test.def rdwr_test.tpl
|
||||
autogen --writable rdwr_test.def
|
||||
|
||||
floating_point_test.c: floating_point_test.def floating_point_test.tpl
|
||||
autogen --writable floating_point_test.def
|
||||
|
||||
@ -169,7 +176,8 @@ benchmark.c: benchmark.def benchmark.tpl
|
||||
autogen --writable benchmark.def
|
||||
|
||||
genfiles : write_read_test.c pcm_test.c header_test.c utils.c \
|
||||
scale_clip_test.c pipe_test.c floating_point_test.c benchmark.c
|
||||
scale_clip_test.c pipe_test.c floating_point_test.c rdwr_test.c \
|
||||
benchmark.c
|
||||
|
||||
#===============================================================================
|
||||
# If we're cross compiling from Linux to Windows and running the test suite
|
||||
|
32
tests/rdwr_test.def
Normal file
32
tests/rdwr_test.def
Normal file
@ -0,0 +1,32 @@
|
||||
autogen definitions rdwr_test.tpl;
|
||||
|
||||
data_type = {
|
||||
name = "short" ;
|
||||
type = "short" ;
|
||||
format = "SF_FORMAT_PCM_16" ;
|
||||
} ;
|
||||
|
||||
data_type = {
|
||||
name = "int" ;
|
||||
type = "int" ;
|
||||
format = "SF_FORMAT_PCM_32" ;
|
||||
} ;
|
||||
|
||||
data_type = {
|
||||
name = "float" ;
|
||||
type = "float" ;
|
||||
format = "SF_FORMAT_FLOAT" ;
|
||||
} ;
|
||||
|
||||
data_type = {
|
||||
name = "double" ;
|
||||
type = "double" ;
|
||||
format = "SF_FORMAT_DOUBLE" ;
|
||||
} ;
|
||||
|
||||
data_type = {
|
||||
name = "raw" ;
|
||||
type = "unsigned char" ;
|
||||
format = "SF_FORMAT_PCM_U8" ;
|
||||
} ;
|
||||
|
105
tests/rdwr_test.tpl
Normal file
105
tests/rdwr_test.tpl
Normal file
@ -0,0 +1,105 @@
|
||||
[+ AutoGen5 template c +]
|
||||
/*
|
||||
** Copyright (C) 2010 Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
**
|
||||
** This program is free software ; you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation ; either version 2 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY ; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program ; if not, write to the Free Software
|
||||
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "sfconfig.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <math.h>
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if (HAVE_DECL_S_IRGRP == 0)
|
||||
#include <sf_unistd.h>
|
||||
#endif
|
||||
|
||||
#if (defined (WIN32) || defined (_WIN32))
|
||||
#include <io.h>
|
||||
#include <direct.h>
|
||||
#endif
|
||||
|
||||
#include <sndfile.h>
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
[+ FOR data_type
|
||||
+]static void rdwr_[+ (get "name") +]_test (const char *filename) ;
|
||||
[+ ENDFOR data_type
|
||||
+]
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
rdwr_short_test ("rdwr_short.wav") ;
|
||||
rdwr_int_test ("rdwr_int.wav") ;
|
||||
rdwr_float_test ("rdwr_float.wav") ;
|
||||
rdwr_double_test ("rdwr_double.wav") ;
|
||||
rdwr_raw_test ("rdwr_raw.wav") ;
|
||||
|
||||
return 0 ;
|
||||
} /* main */
|
||||
|
||||
|
||||
/*============================================================================================
|
||||
** Here are the test functions.
|
||||
*/
|
||||
|
||||
[+ FOR data_type
|
||||
+]static void
|
||||
rdwr_[+ (get "name") +]_test (const char *filename)
|
||||
{ SNDFILE *file ;
|
||||
SF_INFO sfinfo ;
|
||||
sf_count_t frames ;
|
||||
[+ (get "type") +] buffer [160] ;
|
||||
|
||||
print_test_name ("rdwr_[+ (get "name") +]_test", filename) ;
|
||||
|
||||
memset (buffer, 0, sizeof (buffer)) ;
|
||||
|
||||
/* Create sound file with no data. */
|
||||
sfinfo.format = SF_FORMAT_WAV | [+ (get "format") +] ;
|
||||
sfinfo.samplerate = 16000 ;
|
||||
sfinfo.channels = 1 ;
|
||||
|
||||
unlink (filename) ;
|
||||
|
||||
frames = ARRAY_LEN (buffer) ;
|
||||
|
||||
/* Open again for read/write. */
|
||||
file = test_open_file_or_die (filename, SFM_RDWR, &sfinfo, SF_TRUE, __LINE__) ;
|
||||
|
||||
test_write_[+ (get "name") +]_or_die (file, 0, buffer, frames, __LINE__) ;
|
||||
|
||||
test_read_[+ (get "name") +]_or_die (file, 0, buffer, frames, __LINE__) ;
|
||||
|
||||
sf_close (file) ;
|
||||
unlink (filename) ;
|
||||
|
||||
puts ("ok") ;
|
||||
return ;
|
||||
} /* rdwr_[+ (get "name") +]_test */
|
||||
|
||||
[+ ENDFOR data_type
|
||||
+]
|
||||
|
Loading…
Reference in New Issue
Block a user