From a2ad5ed16ce41045897dd3be5b7322ef9dd8856b Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 20 May 2008 22:26:45 +0300 Subject: [PATCH] block_File: test case --- src/Makefile.am | 5 ++++ src/test/block.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/test/block.c diff --git a/src/Makefile.am b/src/Makefile.am index 3fc58e63f1..3732f62d54 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 0000000000..ad03dab1d6 --- /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 +#include +#undef NDEBUG +#include + +#include +#include + +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; +} + -- 2.39.5