Common Lisp Package: ELEPHANT-TESTS

README:

FUNCTION

Private

ASSOC-TIMING-COMPARISON

For manual use to compare timing. It helps to jack up the # of persons to 10k +

DESERIALIZE (BS SC &OPTIONAL OID-ONLY)

Generic interface to serialization that dispatches based on the current Elephant version

DO-BACKEND-TESTS (&OPTIONAL (SPEC *DEFAULT-SPEC*))

Will test a specific backend based on the spec. Note, if you run a :bdb backend test it will load berkeley db specific tests which should silently succeed if you test another backend

DO-BASIC-INDEXING-TESTS (&OPTIONAL (SPEC *DEFAULT-SPEC*))

Just test indexing

DO-COLLECTION-TESTS (&OPTIONAL (SPEC *DEFAULT-SPEC*))

Just test indexing

DO-CRAZY-PG-TESTS

Specific problematic pg tests

DO-CUR-DEL2-TEST (&OPTIONAL (SPEC *DEFAULT-SPEC*))

Just test indexing

DO-INDEXING-TESTS (&OPTIONAL (SPEC *DEFAULT-SPEC*))

Just test indexing

DO-MIGRATION-TESTS (SPEC1 SPEC2 &OPTIONAL OID-SPEC)

Interface to do explicit migration tests between backends

DO-TEST-SPEC (TESTNAME &OPTIONAL (SPEC *DEFAULT-SPEC*))

For easy interactive running of single tests while debugging

NORMAL-RANGE-LOOKUP (COUNT SIZE)

Given stress1 slot has values between 1 and count, extract a range of size size that starts at (/ count 2)

SERIALIZE (FROB BS SC)

Generic interface to serialization that dispatches based on the current Elephant version

SIMPLE-STRUCT-S1 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SIMPLE-STRUCT-S2 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

STRUCT1-SS1 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

STRUCT1-SS2 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

STRUCT2-SS3 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

STRUCT2-SS4 (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

Undocumented

COPY-SIMPLE-STRUCT (INSTANCE)

COPY-STRUCT1 (INSTANCE)

COPY-STRUCT2 (INSTANCE)

COUNT-EXPLICIT-PERSONS

COUNT-PERSONS

COUNT-SLOT-PERSONS

CRUNCH (S K V)

CRUNCH-STRING (S K V)

DEEP-EQUALP (THING ANOTHER)

DO-MIGRATION-TEST-SPEC (TEST SPEC1 SPEC2)

DO-TEST (&OPTIONAL (NAME *TEST*))

DO-TESTS

FIND-SLOT-DEF (CLASS-NAME SLOT-NAME)

HALF-FLOOR (S K V)

IN-OUT-DEEP-EQUALP (VAR)

IN-OUT-EQ (VAR)

IN-OUT-EQUAL (VAR)

IN-OUT-EQUALP (VAR)

IN-OUT-UNINTERNED-EQUAL (VAR)

IN-OUT-VALUE (VAR)

INDEX-CDR (BT PK VAL)

INDEX-LOOKUP

INDEXED-RANGE-LOOKUP (CLASS COUNT SIZE)

INDEXED-STRESS-SETUP (COUNT CLASS-NAME &REST INST-ARGS)

INHIBIT-ROLLBACK-P (C)

KEY-MAKER (S KEY VALUE)

MAKE-A-STRUCT2 (&KEY ((SS3 DUM459) NIL) ((SS4 DUM460) NIL))

MAKE-MOD-INDEX (MOD)

MAKE-SIMPLE-STRUCT (&KEY ((S1 DUM47) NIL) ((S2 DUM48) NIL))

MAKE-STRESS-CLASSES

MAKE-STRUCT1 (&KEY ((SS1 DUM412) NIL) ((SS2 DUM413) NIL))

NON-MONOTONIC-STRESS-DEF (I)

NORMAL-LOOKUP

NORMAL-STRESS-SETUP (COUNT CLASS-NAME &REST INST-ARGS)

OBJECT-VALUES (LIST)

ODD (S K V)

PERFORMANCE-TEST

REGULAR-CLASS-TEST (SC)

REPORT-RETRY (CONDITION SC)

RUN-REGRESSION-TESTS (TYPE)

SERIALIZER-PERFORMANCE-TEST

SERIALIZER-STDCLASS-TEST

SETUP-TESTING

SETUP-ZORK (&KEY INITIALLY-ZERO (ZORK-COUNT *ZORK-COUNT*) (WITH-INDICES T))

SIMPLE-STRUCT-P (OBJECT)

SETFSIMPLE-STRUCT-S1 (NEW-VALUE INSTANCE)

SETFSIMPLE-STRUCT-S2 (NEW-VALUE INSTANCE)

SLOT-ACCESS-TEST

STRUCT1-P (OBJECT)

SETFSTRUCT1-SS1 (NEW-VALUE INSTANCE)

SETFSTRUCT1-SS2 (NEW-VALUE INSTANCE)

STRUCT2-P (OBJECT)

SETFSTRUCT2-SS3 (NEW-VALUE INSTANCE)

SETFSTRUCT2-SS4 (NEW-VALUE INSTANCE)

TEST-THREADED-OBJECT-CREATION (STABLE-BOOTSTRAP INDEXED)

TWICE (S K V)

TYPE= (T1 T2)

WIPE-ALL

WIPE-CLASS (NAME)

MACRO

Private

DO-THREADED-TESTS ((&KEY (THREAD-COUNT 5)) &BODY BODY)

run computation being tested in multiple threads. *store-controller* gets automatically propagated. thread-count threads will be spawned. returns two values -- first is one of errors occured in threads, or NIL if there were none. second is a list of results OR errors. thread-id from range [0, thread-count) is available inside thread body.

FINISHES (&BODY BODY)

We shadow finishes because it is used in deftest tests with a different meaning

MAYBE-REPORT-FAILURE (BLOCK-NAME &BODY BODY)

if body returns object, it's reported as fail and execution goes out of block

WITH-BUFFER-STREAMS (NAMES &BODY BODY)

Grab a buffer-stream, executes forms, and returns the stream to the pool on exit.

Undocumented

DEFTEST (NAME &REST BODY)

IS-IN-OUT-EQUAL (VAR)

PCURSOR-KEY (FORM)

PCURSOR-PKEY (FORM)

PCURSOR-VALUE (FORM)

GENERIC-FUNCTION

Private

Undocumented

SETFCLASS-SLOTS (NEW-VALUE SLOT-CLASS)

FINALIZE-INHERITANCE (CLASS)

HOLDERS (INSTANCE)

SLOT-MAKUNBOUND-USING-CLASS (CLASS OBJECT SLOTD)

STRESS1 (OBJ)

SLOT-ACCESSOR

Private

Undocumented

CLASS-SLOTS (CLASS)

K (OBJECT)

SETFK (NEW-VALUE OBJECT)

MID (OBJECT)

SETFMID (NEW-VALUE OBJECT)

MSGD (OBJECT)

SETFMSGD (NEW-VALUE OBJECT)

PERFSLOT1 (OBJECT)

SETFPERFSLOT1 (NEW-VALUE OBJECT)

PERFSLOT2 (OBJECT)

SETFPERFSLOT2 (NEW-VALUE OBJECT)

PERFSLOT3 (OBJECT)

SETFPERFSLOT3 (NEW-VALUE OBJECT)

SLOT-DEFINITION-NAME (SLOT-DEFINITION)

SETFSLOT-DEFINITION-NAME (NEW-VALUE SLOT-DEFINITION)

SLOT1 (OBJECT)

SETFSLOT1 (NEW-VALUE OBJECT)

SLOT2 (OBJECT)

SETFSLOT2 (NEW-VALUE OBJECT)

SLOT3 (OBJECT)

SETFSLOT3 (NEW-VALUE OBJECT)

SLOT4 (OBJECT)

SETFSLOT4 (NEW-VALUE OBJECT)

SPUD-MSGID (OBJECT)

SETFSPUD-MSGID (NEW-VALUE OBJECT)

SPUD-VALUE (OBJECT)

SETFSPUD-VALUE (NEW-VALUE OBJECT)

STR-OF (OBJECT)

VL (OBJECT)

SETFVL (NEW-VALUE OBJECT)

VARIABLE

Private

*DEFAULT-SPEC*

Set this at the REPL to have the following interfaces default to a given spec mostly here to save typing...

*TESTBDB-SPEC*

The primary test spec for testing berkeley db backends

*TESTBDB-SPEC2*

A second bdb test directory for bdb-to-bdb tests

*TESTSQLITE3-MEMORY-SPEC*

Using :memory: as a file name will get you an completely in-memory system

*TESTSQLITE3-SPEC*

This is of the form '(filename &optional init-function),

*TESTSQLITE3-SPEC-OID*

This is of the form '(filename &optional init-function),

*TESTSQLITE3-SPEC2*

This is of the form '(filename &optional init-function),

Undocumented

*BDB-SPEC*

*RANGE-SIZE*

*STRESS-COUNT*

*TEST-SPEC-PRIMARY*

*TEST-SPEC-SECONDARY*

*TESTBDB-SPEC-OID*

*TESTPG-SPEC*

*TESTPG-SPEC2*

*TESTPM-SPEC*

*THREAD-BATCHES*

*THREAD-COUNT*

*THREAD-RUNS*

*ZORK-COUNT*

FIRST-KEY

KEYS

NORMAL-INDEX

NUM_JOBS

NUM_PERSONS

OBJS

PERSONS_PER_JOB

TEST-ITEMS

CLASS

Private

Undocumented

BAR

BLOB

CACHE-TEST

CACHE-TEST2

CLASS-ONE

CLASS-TWO

FOO

IDX-CSLOT

IDX-EIGHT

IDX-FIVE

IDX-FIVE-DEL

IDX-FOUR

IDX-NINE

IDX-ONE-A

IDX-ONE-B

IDX-ONE-C

IDX-ONE-D

IDX-ONE-E

IDX-ONE-F

IDX-SEVEN

IDX-SIX

IDX-THREE

IDX-TWO

IDX-TWO-BASE

IDX-TWO-SUB1

IDX-TWO-SUB1-1

IDX-TWO-SUB2

IDX-UNBOUND-DEL

IPFOO

JOB

KEY

MAKE-PERSISTENT

MAKE-PERSISTENT2

MANAGED-OBJECT

MESSAGE

MIGRATE-SIMPLE-CLASS

MINUS-P-CLASS

MIX-1

MIX-2

MIX-3

MIX-4

MIX-5

MIX-6

NESTED

NIL-SLOT-CLASS

NO-EVAL-INITFORM

NONP-CLASS

P-CLASS

P-INITFORM-TEST

P-INITFORM-TEST-2

PBAR

PERFORMANCE-TEST

PERSON

PFOO

PINEAPPLE

PJASSOC

REDEF

ROLLBACK-TEST

SIMPLE-CLASS

SIMPLE-STRUCT

SPUD

STRESS-INDEX

STRESS-NORMAL

STRUCT1

STRUCT2

SWITCH-TRANSIENT

UPDATE-CLASS

ZORK187

CONDITION

Private

Undocumented

INHIBIT-ROLLBACK-TEST