summaryrefslogtreecommitdiff
path: root/tests/rdwr_test.tpl
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-07-18 20:35:05 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-07-18 20:35:05 +0100
commitaceb1f30497619786f1827e4c65992b890a07410 (patch)
treece33ac9d0d076a8ec4f993e614cf71a4d5daa7e7 /tests/rdwr_test.tpl
downloadlibsndfile-aceb1f30497619786f1827e4c65992b890a07410.tar.gz
Tarball conversion
Diffstat (limited to 'tests/rdwr_test.tpl')
-rw-r--r--tests/rdwr_test.tpl105
1 files changed, 105 insertions, 0 deletions
diff --git a/tests/rdwr_test.tpl b/tests/rdwr_test.tpl
new file mode 100644
index 0000000..dc862e2
--- /dev/null
+++ b/tests/rdwr_test.tpl
@@ -0,0 +1,105 @@
+[+ AutoGen5 template c +]
+/*
+** Copyright (C) 2010-2011 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
++]
+