aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-11-05 23:15:07 +0100
committerMihai Moldovan <ionic@ionic.de>2018-02-27 01:44:35 +0100
commit1c7abb05bffb9f4da00222251e3bdf8add261c03 (patch)
tree32188bd7532bcc6e88728011f88cd1e9b96776f1
parent0b62599008ea195bdc492370e6cb4043c824c095 (diff)
downloadnx-libs-1c7abb05bffb9f4da00222251e3bdf8add261c03.tar.gz
nx-libs-1c7abb05bffb9f4da00222251e3bdf8add261c03.tar.bz2
nx-libs-1c7abb05bffb9f4da00222251e3bdf8add261c03.zip
Lift record to xorg-server-1.2.0/xorg-server-1.3.0.0 state
-rw-r--r--nx-X11/programs/Xserver/record/set.c222
1 files changed, 0 insertions, 222 deletions
diff --git a/nx-X11/programs/Xserver/record/set.c b/nx-X11/programs/Xserver/record/set.c
index afb1024dd..9a47d1b7b 100644
--- a/nx-X11/programs/Xserver/record/set.c
+++ b/nx-X11/programs/Xserver/record/set.c
@@ -44,9 +44,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,28 +52,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;
-
-#ifndef max
-#define max(_a, _b) ( ((_a) > (_b)) ? (_a) : (_b) )
-#endif
-
-#endif /* TESTING */
-
#include "set.h"
static int
@@ -417,20 +393,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,
@@ -455,12 +417,8 @@ _RecordSetMemoryRequirements(pIntervals, nIntervals, alignment, ppCreateSet)
&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;
@@ -509,183 +467,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)malloc(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)
- {
- free(bs);
- }
- }
-}
-
-#endif /* TESTING */