From: Adam Dickmeiss Date: Tue, 14 Nov 2006 12:41:19 +0000 (+0000) Subject: Added small test of mfile sub system X-Git-Tag: ZEBRA.2.0.6~49 X-Git-Url: http://jsfdemo.indexdata.com/cgi-bin?a=commitdiff_plain;h=35f67dc85e5507c1edc1fecbc2835fab0255ada4;p=idzebra-moved-to-github.git Added small test of mfile sub system --- diff --git a/bfile/.cvsignore b/bfile/.cvsignore index d6368a2..739c29f 100644 --- a/bfile/.cvsignore +++ b/bfile/.cvsignore @@ -6,5 +6,7 @@ Makefile.in *.la tstbfile1 tstbfile2 +tstmfile1 register shadow +*.mf diff --git a/bfile/Makefile.am b/bfile/Makefile.am index 552c686..ea3ae27 100644 --- a/bfile/Makefile.am +++ b/bfile/Makefile.am @@ -1,11 +1,12 @@ -## $Id: Makefile.am,v 1.11 2006-11-08 12:59:27 adam Exp $ +## $Id: Makefile.am,v 1.12 2006-11-14 12:41:19 adam Exp $ noinst_LTLIBRARIES = libidzebra-bfile.la -check_PROGRAMS = tstbfile1 tstbfile2 +check_PROGRAMS = tstmfile1 tstbfile1 tstbfile2 TESTS = $(check_PROGRAMS) +tstmfile1_SOURCES = tstmfile1.c tstbfile1_SOURCES = tstbfile1.c tstbfile2_SOURCES = tstbfile2.c diff --git a/bfile/mfile.h b/bfile/mfile.h index 2c7deb6..cfa408f 100644 --- a/bfile/mfile.h +++ b/bfile/mfile.h @@ -1,4 +1,4 @@ -/* $Id: mfile.h,v 1.9 2006-11-14 08:12:06 adam Exp $ +/* $Id: mfile.h,v 1.10 2006-11-14 12:41:19 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -26,6 +26,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include #include +#include #ifdef WIN32 diff --git a/bfile/tstmfile1.c b/bfile/tstmfile1.c new file mode 100644 index 0000000..1bd394e --- /dev/null +++ b/bfile/tstmfile1.c @@ -0,0 +1,72 @@ +/* $Id: tstmfile1.c,v 1.1 2006-11-14 12:41:19 adam Exp $ + Copyright (C) 1995-2006 + Index Data ApS + +This file is part of the Zebra server. + +Zebra 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, or (at your option) any later +version. + +Zebra 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 St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + +#include +#include +#include +#include +#include +#include +#include "mfile.h" + +#define BLOCK_SIZE 16 + +void tst1(void) +{ + MFile_area a = mf_init("main", 0 /* spec */, 0 /* base */); + YAZ_CHECK(a); + mf_destroy(a); +} + +void tst2(void) +{ + char buf[BLOCK_SIZE]; + MFile_area a = mf_init("main", 0 /* spec */, 0 /* base */); + MFile f; + + YAZ_CHECK(a); + + mf_reset(a, 1); + + f = mf_open(a, "mymfile", BLOCK_SIZE, 1); + YAZ_CHECK(f); + + YAZ_CHECK_EQ(mf_read(f, 0, 0, 0, buf), 0); + + memset(buf, 'a', BLOCK_SIZE); + YAZ_CHECK_EQ(mf_write(f, 0, 0, 0, buf), 0); + + YAZ_CHECK_EQ(mf_read(f, 0, 0, 0, buf), 1); + + mf_close(f); + + mf_destroy(a); +} + +int main(int argc, char **argv) +{ + YAZ_CHECK_INIT(argc, argv); + tst1(); + tst2(); + YAZ_CHECK_TERM; +} +