[vlc-devel] commit: block_File: test case ( Rémi Denis-Courmont )
git version control
git at videolan.org
Tue May 20 22:18:19 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Tue May 20 22:26:45 2008 +0300| [a2ad5ed16ce41045897dd3be5b7322ef9dd8856b]
block_File: test case
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a2ad5ed16ce41045897dd3be5b7322ef9dd8856b
---
src/Makefile.am | 5 ++++
src/test/block.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 3fc58e6..3732f62 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -468,6 +468,7 @@ endif
# Unit/regression test
###############################################################################
check_PROGRAMS = \
+ test_block \
test_dictionary \
test_i18n_atof \
test_url \
@@ -480,6 +481,10 @@ TESTS = $(check_PROGRAMS) check_symbols
CFLAGS_tests = `$(VLC_CONFIG) --cflags libvlc`
+test_block_SOURCES = test/block.c
+test_block_LDADD = libvlccore.la
+test_block_CFLAGS = $(CFLAGS_tests)
+
test_dictionary_SOURCES = test/dictionary.c
test_dictionary_LDADD = libvlccore.la
test_dictionary_CFLAGS = $(CFLAGS_tests)
diff --git a/src/test/block.c b/src/test/block.c
new file mode 100644
index 0000000..ad03dab
--- /dev/null
+++ b/src/test/block.c
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * block.c: Test for block_t stuff
+ *****************************************************************************
+ * Copyright (C) 2008 Rémi Denis-Courmont
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#undef NDEBUG
+#include <assert.h>
+
+#include <vlc/vlc.h>
+#include <vlc_block.h>
+
+static const char text[] =
+ "This is a test!\n"
+ "This file can be deleted safely!\n";
+
+static void test_block_File (void)
+{
+ FILE *stream;
+ int res;
+
+ stream = fopen ("testfile.txt", "wb+");
+ assert (stream != NULL);
+
+ res = fputs (text, stream);
+ assert (res != EOF);
+ res = fflush (stream);
+ assert (res != EOF);
+
+ block_t *block = block_File (fileno (stream));
+ fclose (stream);
+
+ assert (block != NULL);
+ assert (block->i_buffer == strlen (text));
+ assert (!memcmp (block->p_buffer, text, block->i_buffer));
+ block_Release (block);
+
+ remove ("testfile.txt");
+}
+
+int main (void)
+{
+ test_block_File ();
+ return 0;
+}
+
More information about the vlc-devel
mailing list