From 35f67dc85e5507c1edc1fecbc2835fab0255ada4 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 14 Nov 2006 12:41:19 +0000 Subject: [PATCH] Added small test of mfile sub system --- bfile/.cvsignore | 2 ++ bfile/Makefile.am | 5 ++-- bfile/mfile.h | 3 ++- bfile/tstmfile1.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 bfile/tstmfile1.c 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; +} + -- 1.7.10.4