diff options
author | Adam Jackson <ajax@theobromine.nwnk.net> | 2006-07-21 22:37:59 -0400 |
---|---|---|
committer | Adam Jackson <ajax@theobromine.nwnk.net> | 2006-07-21 22:37:59 -0400 |
commit | 985611d5cd079f97da700c7b8e898d33da004be0 (patch) | |
tree | 44ad811425202a5f292cd45b9955add223f0b9d2 /record/set.c | |
parent | 6cf844ab69926b6d23619a12c97734af3881ba67 (diff) |
Delete some long-unused testing code.
Diffstat (limited to 'record/set.c')
-rw-r--r-- | record/set.c | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/record/set.c b/record/set.c index 7323aa0ed..0ebb0884d 100644 --- a/record/set.c +++ b/record/set.c @@ -1,4 +1,3 @@ - /* Copyright 1995, 1998 The Open Group @@ -44,9 +43,6 @@ from The Open Group. implemented, and RecordCreateSet will decide heuristically which one to use based on the set members. - Note: When compiling for use in the server, do not use -DTESTING. - When compiling for stand-alone testing of the set ADT, use -DTESTING. - */ #ifdef HAVE_DIX_CONFIG_H @@ -55,41 +51,7 @@ from The Open Group. #include <string.h> -#ifndef TESTING #include "misc.h" -#else -#include <stdio.h> -#include <stdlib.h> - -/* stuff that you normally get from the X Server's environment */ - -typedef int Bool; -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif - -typedef unsigned short CARD16; - -#define xalloc malloc -#define xfree free -#define ALLOCATE_LOCAL malloc -#define DEALLOCATE_LOCAL free - -void *Xcalloc(size) - int size; -{ - void *p = malloc(size); - if (p) memset(p, 0, size); - return p; -} - -#ifndef max -#define max(_a, _b) ( ((_a) > (_b)) ? (_a) : (_b) ) -#endif - -#endif /* TESTING */ - #include "set.h" static int @@ -402,20 +364,6 @@ bailout: return (RecordSetPtr)prls; } -#ifdef TESTING -typedef enum { - BitVectorImplementation, IntervalListImplementation} RecordSetImplementation; - -RecordSetImplementation _RecordSetImpl; - -static void -_RecordForceSetImplementation(setimpl) - RecordSetImplementation setimpl; -{ - _RecordSetImpl = setimpl; -} -#endif - typedef RecordSetPtr (*RecordCreateSetProcPtr)( RecordSetInterval *pIntervals, int nIntervals, @@ -438,12 +386,8 @@ _RecordSetMemoryRequirements(RecordSetInterval *pIntervals, int nIntervals, &bma); rlsize = IntervalListMemoryRequirements(pIntervals, nIntervals, maxMember, &rla); -#ifdef TESTING - if (_RecordSetImpl == BitVectorImplementation) -#else if ( ( (nIntervals > 1) && (maxMember <= 255) ) || (bmsize < rlsize) ) -#endif { *alignment = bma; *ppCreateSet = BitVectorCreateSet; @@ -492,183 +436,3 @@ RecordCreateSet(pIntervals, nIntervals, pMem, memsize) } return (*pCreateSet)(pIntervals, nIntervals, pMem, size); } - -/***************************************************************************/ - -#ifdef TESTING - -/* - -Test Strategy - -Having two set representations is convenient for testing because we -can play them against each other. The test code will be able to -specify which implementation to use. This breaks the encapsulation, -but that seems acceptable for testing. The crux of the test loop -looks like this: - -loop: - generate random list of Intervals - - create set A using bit vector implementation - create set B using Interval list implementation - - for each possible set member - if set A and set B disagree on whether this is a member error; - - iterate over both sets, comparing the intervals returned by each. - if intervals or number of intervals are different error; - - iterate over intervals of set A - for i = interval.first to interval.last - if i is not a member of set B error; - - iterate over intervals of set B - for i = interval.first to interval.last - if i is not a member of set A error; - - destroy sets A, B - -*/ - -int GenerateRandomIntervals(pIntervals, maxintervals) - RecordSetInterval *pIntervals; - int maxintervals; -{ - int i, nIntervals; - - nIntervals = rand() % maxintervals; - - for (i = 0; i < nIntervals; i++) - { - pIntervals[i].first = rand(); - pIntervals[i].last = pIntervals[i].first + rand(); - } - return nIntervals; -} - -#define MAXINTERVALS 100 - -int main(argc, argv) - int argc; - char **argv; -{ - RecordSetPtr bs, rs; - RecordSetInterval br, rr; - RecordSetIteratePtr bi, ri; - CARD16 i; - int testcount; - RecordSetInterval intervals[MAXINTERVALS]; - int nIntervals; - int bsize, rsize; - int balign, ralign; - int pad; - - for (testcount = 0; 1; testcount++) - { - nIntervals = GenerateRandomIntervals(intervals, MAXINTERVALS); - printf("%d nIntervals %d\n", testcount, nIntervals); - - if (testcount & 1) - { - _RecordForceSetImplementation(BitVectorImplementation); - bsize = RecordSetMemoryRequirements(intervals, nIntervals, &balign); - _RecordForceSetImplementation(IntervalListImplementation); - rsize = RecordSetMemoryRequirements(intervals, nIntervals, &ralign); - pad = (ralign - (bsize & (ralign - 1))) & (ralign - 1); - bs = (RecordSetPtr)xalloc(bsize + pad + rsize ); - if (!bs) - { - fprintf(stderr, "%d: failed to alloc memory for sets\n", - testcount); - continue; - } - rs = (RecordSetPtr)(((char *)bs) + bsize + pad); - } - else - { - bs = rs = NULL; - bsize = rsize = 0; - } - - _RecordForceSetImplementation(BitVectorImplementation); - bs = RecordCreateSet(intervals, nIntervals, bs, bsize); - _RecordForceSetImplementation(IntervalListImplementation); - rs = RecordCreateSet(intervals, nIntervals, rs, rsize); - - if (!bs || !rs) - { - fprintf(stderr, "%d: failed to create sets\n", testcount); - continue; - } - - for (i = 0; i < 65535; i++) - { - unsigned long b, r; - - b = RecordIsMemberOfSet(bs, i); - r = RecordIsMemberOfSet(rs, i); - if ( (b && !r) || (!b && r) ) - { - fprintf(stderr, "%d: isMemberOfSet %d\n", - testcount, (int)i); - } - } - - bi = RecordIterateSet(bs, NULL, &br); - ri = RecordIterateSet(rs, NULL, &rr); - - while (bi && ri) - { - if ( (rr.first != br.first) || (rr.last != br.last) ) - { - fprintf(stderr, "%d: iterateSet interval value mismatch\n", - testcount); - } - bi = RecordIterateSet(bs, bi, &br); - ri = RecordIterateSet(rs, ri, &rr); - } - if (bi != ri) - { - fprintf(stderr, "%d: iterateSet interval count mismatch\n", - testcount); - } - - - bi = NULL; - while (bi = RecordIterateSet(bs, bi, &br)) - { - for (i = br.first; i <= br.last; i++) - { - if (!RecordIsMemberOfSet(rs, i)) - { - fprintf(stderr, "%d: iterateSet b / isMemberOfSet r %d\n", - testcount, (int)i); - } - } - } - - ri = NULL; - while (ri = RecordIterateSet(rs, ri, &rr)) - { - for (i = rr.first; i <= rr.last; i++) - { - if (!RecordIsMemberOfSet(bs, i) ) - { - fprintf(stderr, "%d: iterateSet r / isMemberOfSet b %d\n", - testcount, (int)i); - } - } - } - - RecordDestroySet(bs); - RecordDestroySet(rs); - - if (testcount & 1) - { - xfree(bs); - } - } -} - -#endif /* TESTING */ |