cleanup and documentation updates
[webpac] / openisis / lrectest.c
diff --git a/openisis/lrectest.c b/openisis/lrectest.c
deleted file mode 100644 (file)
index 4f6a2db..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
-       openisis - an open implementation of the CDS/ISIS database
-       Version 0.8.x (patchlevel see file Version)
-       Copyright (C) 2001-2003 by Erik Grziwotz, erik@openisis.org
-
-       This library is free software; you can redistribute it and/or
-       modify it under the terms of the GNU Lesser General Public
-       License as published by the Free Software Foundation; either
-       version 2.1 of the License, or (at your option) any later version.
-
-       This library 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
-       Lesser General Public License for more details.
-
-       You should have received a copy of the GNU Lesser General Public
-       License along with this library; if not, write to the Free Software
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-       see README for more information
-EOH */
-
-/*
-       $Id: lrectest.c,v 1.12 2003/05/01 10:05:41 mawag Exp $
-       tests for lrec methods.
-*/
-
-#include <errno.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "openisis.h"
-#include "loi.h"
-#include "lfdt.h"
-#include "luti.h"
-
-#ifdef WIN32
-#define snprintf _snprintf
-#define vsnprintf _vsnprintf
-#endif
-
-static const char* _TheSummary = "Meeting on the Implementation of the Recommendations of the Third Regional Conference of Ministers of Education and Ministers Responsible for Economic Planning in the Arab States";
-#define SUMLEN (strlen (_TheSummary))
-
-static Fd _TheFds[] = {
-       { 20, 0, FTX, 0, 0, 32, "author", "", 0, 0, 0, 0 },
-       { 21, 0, FTX, 1, 0, 32, "names", "", 0, 0, 0, 0 },
-       { 22, 0, FTX, 1, 0, 32, "year", "", 0, 0, 0, 0 },
-       { 42, 0, FTX, 1, 0, 32, "title", "", 0, 0, 0, 0 },
-       { 49, 0, FTX, 1, 0, 32, "summary", "", 0, 0, 0, 0 },
-       { 70, 0, FTX, 1, 0, 32, "country", "", 0, 0, 0, 0 },
-       { 80, 0, FTX, 1, 0, 32, "conference", "", 0, 0, 0, 0 },
-       { 81, 0, FTE, 0, 0, 32, "format", "", 0, 0, 0, 0 },
-       { 81, 0, FTV, 0, 0, 1, "autoformat", "", 0, 0, 0, 0 },
-       { 81, 0, FTV, 0, 0, 2, "naligned", "", 0, 0, 0, 0 },
-       { 81, 0, FTV, 0, 0, 73, "aligned", "", 0, 0, 0, 0 },
-       { 82, 0, FTB, 0, 0, 10, "soldout", "", 0, 0, 0, 0 }
-};
-
-static Fdt _TheFdt = {
-       sizeof(_TheFds) / sizeof(_TheFds[0]),
-       _TheFds,
-       0
-};
-
-static void check (
-       char *msg, Rec *rec, int *tag, const char **val, int len, int used
-) {
-       Field *F;
-       int idx, vlen, ok;
-       if (0 == rec) {
-               fprintf (stderr, "ERR %s: 0 == rec\n", msg);
-               exit (1);
-       }
-       if (! OPENISIS_RECOK (rec)) {
-               fprintf (stderr, "ERR %s: ! RECOK: b %d u %d/%d f %d/%d\n",
-                       msg, rec->base, rec->used, rec->bytes, rec->len, rec->fields);
-               exit (1);
-       }
-       if (len != rec->len) {
-               fprintf (stderr, "ERR %s: len %d != %d\n", msg, rec->len, len);
-               log_rec (LOG_ERROR, rec, 0, 0);
-               exit (1);
-       }
-       if (0 <= used && used != rec->used - rec->base) {
-               fprintf (stderr, "ERR %s: used %d (%d-%d) != %d\n",
-                       msg, (rec->used - rec->base), rec->used, rec->base, used);
-               log_rec (LOG_ERROR, rec, 0, 0);
-               exit (1);
-       }
-       ok = !0;
-       for (idx = 0; len > idx; ++idx) {
-               vlen = strlen (val[idx]);
-               F = rec->field + idx;
-               if (F->tag != tag[idx]) {
-                       fprintf (stderr, "ERR %s: fld[%d] tag %d != %d\n",
-                               msg, idx, F->tag, tag[idx]);
-                       ok = 0;
-               }
-               if (F->len != vlen ||
-                       strncmp (F->val, val[idx], vlen)) {
-                       fprintf (stderr, "ERR %s: fld[%d] val <%.*s> != <%s>\n",
-                               msg, idx, (int)F->len, F->val, val[idx]);
-                       ok = 0;
-               }
-       }
-       if (! ok) {
-               exit (1);
-       }
-}
-
-int main (int argc, char **argv) {
-       const char *args[32];
-       const char *vals[32];
-       int   tags[32];
-       Rec  *rec  =  0;
-
-       /* call lio_init to prepare stderr on windows */
-       openIsisCOpen (0);
-
-       if (1 < argc) {
-#define EXPFLD (1332 + (1000 - 888))
-               int bytes = 0, used = 0, num = atoi (argv[1]);
-               printf ("entering loops (%d) ...\n", num);
-               while (num) {
-                       int j;
-                       rec = 0;
-                       for (j = 1000; 1 <= --j;  ) {
-                               RADD (rec, j, _TheSummary, SUMLEN, !0);
-                       }
-                       for (j = 888; 666 <= --j;  ) {
-                               rec = rSet (rec, RDEL | RNOC, j, 0);
-                       }
-                       for (j = 666; 444 <= --j;  ) {
-                               rec = rSet (rec, RDEL, j, 0);
-                       }
-                       for (j = 444; 222 <= --j;  ) {
-                               rec = rSet (rec, RDEL | RNOC, j, 0);
-                       }
-                       for (j = 1333; 222 <= --j;  ) {
-                               RADD (rec, j, _TheSummary, SUMLEN, !0);
-                       }
-                       if (EXPFLD != rec->len) {
-                               printf ("%d: ERR: #len = %d, expected %d\n",
-                                       num, rec->len, EXPFLD);
-                               exit (1);
-                       }
-                       if (0 == bytes) {
-                               bytes = rec->bytes;
-                               used  = rec->used;
-                               printf ("mem %d use %d ...\n",
-                                       rec->bytes, rec->used);
-                       }
-                       else {
-                               if (bytes != rec->bytes || used != rec->used) {
-                                       printf ("%d: ERR: mem = %d use = %d\n",
-                                               num, rec->bytes, rec->used);
-                                       exit (1);
-                               }
-                               if (0 == (num % 100)) {
-                                       printf ("%d ...\n", num);
-                               }
-                       }
-                       mFree (rec);
-                       --num;
-               }
-               printf ("ok.\n");
-               exit (0);
-       }
-
-       args[0] = "20";
-       args[1] = "Mary";
-       rec = rSet (rec, RARGV | 2, args);
-       tags[0] = 20;
-       vals[0] = args[1];
-       check ("A", rec, tags, vals, 1, 4);
-
-       args[0] = "22";
-       args[1] = "1953";
-       args[2] = "70";
-       args[3] = "Italy";
-       args[4] = "98";
-       args[5] = "illegal";
-       args[6] = "20";
-       args[7] = "John";
-       rec = rSet (rec, RARGV | RFDT | 8, &_TheFdt, args);
-       tags[0] = 20;
-       vals[0] = "Mary";
-       tags[1] = 22;
-       vals[1] = "1953";
-       tags[2] = 70;
-       vals[2] = "Italy";
-       tags[3] = 20;
-       vals[3] = "John";
-       check ("B", rec, tags, vals, 3, 13);
-
-       args[0] = "98";
-       args[1] = "illegal";
-       args[2] = "20";
-       args[3] = "John";
-       rec = rSet (rec, RARGV | RFDT | RIGN | 4, &_TheFdt, args);
-       check ("C", rec, tags, vals, 4, 17);
-
-       rec = rSet (rec, RDEL, 20, 0);
-       tags[0] = 22;
-       vals[0] = "1953";
-       tags[1] = 70;
-       vals[1] = "Italy";
-       check ("D", rec, tags, vals, 2, 9);
-
-       rec = rSet (rec, RDFLT | RFDT, &_TheFdt,
-               81, "naligned", 22, "already there", 0);
-       tags[2] = 81;
-       vals[2] = "2";
-       check ("D1", rec, tags, vals, 3, 10);
-
-       tags[3] = 234;
-       vals[3] = "foo";
-       rec = rSet (rec, RDFLT, 234, "foo", 0);
-       check ("D2", rec, tags, vals, 4, 13);
-
-       rec = rSet (rec, RDEL, 234, 81, 0);
-       check ("D3", rec, tags, vals, 2, 13);
-
-       rec = rSet (rec, 0, 20, "Mary", 20, "James", 90, "Alabama", 0);
-       tags[2] = 20;
-       vals[2] = "Mary";
-       tags[3] = 20;
-       vals[3] = "James";
-       tags[4] = 90;
-       vals[4] = "Alabama";
-       check ("E", rec, tags, vals, 5, 29);
-
-       rec = rSet (rec, RFDT | RCHG, &_TheFdt,
-               20, "Lary", 70, "Greece", 70, "Cuba", 42, "Folklore from Africa",
-               81, "invalid", 0);
-       tags[0] = 22;
-       vals[0] = "1953";
-       tags[1] = 70;
-       vals[1] = "Greece";
-       tags[2] = 20;
-       vals[2] = "Lary";
-       tags[3] = 90;
-       vals[3] = "Alabama";
-       tags[4] = 70;
-       vals[4] = "Cuba";
-       tags[5] = 42;
-       vals[5] = "Folklore from Africa";
-       check ("F", rec, tags, vals, 6, 45);
-
-       rec = rSet (rec, 0, 20, "Peter", 20, "Gary", 70, "Egypt", 0);
-       tags[6] = 20;
-       vals[6] = "Peter";
-       tags[7] = 20;
-       vals[7] = "Gary";
-       tags[8] = 70;
-       vals[8] = "Egypt";
-       check ("G", rec, tags, vals, 9, 59);
-
-       args[0] = "author[1]";
-       args[1] = "81";
-       args[2] = "70";
-       rec = rSet (rec, RFDT | RARGV | RDEL | 3, &_TheFdt, args);
-       tags[0] = 22;
-       vals[0] = "1953";
-       tags[1] = 20;
-       vals[1] = "Lary";
-       tags[2] = 90;
-       vals[2] = "Alabama";
-       tags[3] = 42;
-       vals[3] = "Folklore from Africa";
-       tags[4] = 20;
-       vals[4] = "Gary";
-       check ("H", rec, tags, vals, 5, 39);
-
-       args[0] = "author[0]";
-       args[1] = "May";
-       args[2] = "summary";
-       args[3] = _TheSummary;
-       args[4] = "soldout";
-       args[5] = "format";
-       args[6] = "aligned";
-       rec = rSet (rec, RFDT | RARGV | RCHG | RNOC | 7, &_TheFdt, args);
-       vals[1] = "May";
-       tags[5] = 49;
-       vals[5] = _TheSummary;
-       tags[6] = 82;
-       vals[6] = "1";
-       tags[7] = 81;
-       vals[7] = "73";
-       check ("I", rec, tags, vals, 8, 42 + SUMLEN);
-
-       args[0] = "20[0]";
-       args[1] = "Marilyn";
-       args[2] = "49[1]";
-       args[3] = _TheSummary;
-       rec = rSet (rec, RARGV | RCHG | 4, args);
-       vals[1] = "Marilyn";
-       tags[8] = 49;
-       vals[8] = _TheSummary;
-       check ("J", rec, tags, vals, 9, 45 + 2 * SUMLEN);
-
-       rec = rSet (rec, RDEL | 2, 82, 22, 0);
-       tags[0] = 20;
-       vals[0] = "Marilyn";
-       tags[1] = 90;
-       vals[1] = "Alabama";
-       tags[2] = 42;
-       vals[2] = "Folklore from Africa";
-       tags[3] = 20;
-       vals[3] = "Gary";
-       tags[4] = 49;
-       vals[4] = _TheSummary;
-       tags[5] = 81;
-       vals[5] = "73";
-       tags[6] = 49;
-       vals[6] = _TheSummary;
-       check ("K", rec, tags, vals, 7, 40 + 2 * SUMLEN);
-
-       rec = rSet (rec, RFDT | RCHG, &_TheFdt,
-               82, "false", 81, "2", 49, "overview", 0);
-       vals[4] = "overview";
-       vals[5] = "2";
-       tags[6] = 82;
-       vals[6] = "0";
-       check ("L", rec, tags, vals, 7, 48);
-
-       mFree (rec);
-
-       printf ("ok.\n");
-       return 0;
-}
-