mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 15:24:16 +01:00
448 lines
12 KiB
Text
448 lines
12 KiB
Text
# $Id: TESTS,v 11.34 2000/11/06 19:31:56 sue Exp $
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Access method tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
test001 Small keys/data
|
|
Put/get per key
|
|
Dump file
|
|
Close, reopen
|
|
Dump file
|
|
|
|
test002 Small keys/medium data
|
|
Put/get per key
|
|
Dump file
|
|
Close, reopen
|
|
Dump file
|
|
|
|
test003 Small keys/large data
|
|
Put/get per key
|
|
Dump file
|
|
Close, reopen
|
|
Dump file
|
|
|
|
test004 Small keys/medium data
|
|
Put/get per key
|
|
Sequential (cursor) get/delete
|
|
|
|
test005 Small keys/medium data
|
|
Put/get per key
|
|
Close, reopen
|
|
Sequential (cursor) get/delete
|
|
|
|
test006 Small keys/medium data
|
|
Put/get per key
|
|
Keyed delete and verify
|
|
|
|
test007 Small keys/medium data
|
|
Put/get per key
|
|
Close, reopen
|
|
Keyed delete
|
|
|
|
test008 Small keys/large data
|
|
Put/get per key
|
|
Loop through keys by steps (which change)
|
|
... delete each key at step
|
|
... add each key back
|
|
... change step
|
|
Confirm that overflow pages are getting reused
|
|
|
|
test009 Small keys/large data
|
|
Same as test008; close and reopen database
|
|
|
|
test010 Duplicate test
|
|
Small key/data pairs.
|
|
|
|
test011 Duplicate test
|
|
Small key/data pairs.
|
|
Test DB_KEYFIRST, DB_KEYLAST, DB_BEFORE and DB_AFTER.
|
|
To test off-page duplicates, run with small pagesize.
|
|
|
|
test012 Large keys/small data
|
|
Same as test003 except use big keys (source files and
|
|
executables) and small data (the file/executable names).
|
|
|
|
test013 Partial put test
|
|
Overwrite entire records using partial puts. Make sure
|
|
that NOOVERWRITE flag works.
|
|
|
|
test014 Exercise partial puts on short data
|
|
Run 5 combinations of numbers of characters to replace,
|
|
and number of times to increase the size by.
|
|
|
|
test015 Partial put test
|
|
Partial put test where the key does not initially exist.
|
|
|
|
test016 Partial put test
|
|
Partial put where the datum gets shorter as a result of
|
|
the put.
|
|
|
|
test017 Basic offpage duplicate test.
|
|
|
|
test018 Offpage duplicate test
|
|
Key_{first,last,before,after} offpage duplicates.
|
|
|
|
test019 Partial get test.
|
|
|
|
test020 In-Memory database tests.
|
|
|
|
test021 Btree range tests.
|
|
|
|
test022 Test of DB->getbyteswapped().
|
|
|
|
test023 Duplicate test
|
|
Exercise deletes and cursor operations within a
|
|
duplicate set.
|
|
|
|
test024 Record number retrieval test.
|
|
|
|
test025 DB_APPEND flag test.
|
|
|
|
test026 Small keys/medium data w/duplicates
|
|
Put/get per key.
|
|
Loop through keys -- delete each key
|
|
... test that cursors delete duplicates correctly
|
|
|
|
test027 Off-page duplicate test
|
|
Test026 with parameters to force off-page duplicates.
|
|
|
|
test028 Cursor delete test
|
|
Test put operations after deleting through a cursor.
|
|
|
|
test029 Record renumbering
|
|
|
|
test030 DB_NEXT_DUP functionality
|
|
|
|
test031 Duplicate sorting functionality
|
|
Make sure DB_NODUPDATA works.
|
|
|
|
test032 DB_GET_BOTH
|
|
|
|
test033 DB_GET_BOTH without comparison function
|
|
|
|
test034 Test032 with off-page duplicates
|
|
|
|
test035 Test033 with off-page duplicates
|
|
|
|
test036 Test KEYFIRST and KEYLAST when the key doesn't exist
|
|
|
|
test037 Test DB_RMW
|
|
|
|
test038 DB_GET_BOTH on deleted items
|
|
|
|
test039 DB_GET_BOTH on deleted items without comparison function
|
|
|
|
test040 Test038 with off-page duplicates
|
|
|
|
test041 Test039 with off-page duplicates
|
|
|
|
test042 Concurrent Data Store test
|
|
|
|
test043 Recno renumbering and implicit creation test
|
|
|
|
test044 Small system integration tests
|
|
Test proper functioning of the checkpoint daemon,
|
|
recovery, transactions, etc.
|
|
|
|
test045 Small random tester
|
|
Runs a number of random add/delete/retrieve operations.
|
|
Tests both successful conditions and error conditions.
|
|
|
|
test046 Overwrite test of small/big key/data with cursor checks.
|
|
|
|
test047 Cursor get test with SET_RANGE option.
|
|
|
|
test048 Cursor stability across Btree splits.
|
|
|
|
test049 Cursor operations on unitialized cursors.
|
|
|
|
test050 Cursor overwrite test for Recno.
|
|
|
|
test051 Fixed-length record Recno test.
|
|
|
|
test052 Renumbering record Recno test.
|
|
|
|
test053 DB_REVSPLITOFF flag test
|
|
|
|
test054 Cursor maintenance during key/data deletion.
|
|
|
|
test054 Basic cursor operations.
|
|
|
|
test055 Cursor maintenance during key deletes.
|
|
|
|
test056 Cursor maintenance during deletes.
|
|
|
|
test057 Cursor maintenance during key deletes.
|
|
|
|
test058 Verify that deleting and reading duplicates results in
|
|
correct ordering.
|
|
|
|
test059 Cursor ops work with a partial length of 0.
|
|
|
|
test060 Test of the DB_EXCL flag to DB->open().
|
|
|
|
test061 Test of txn abort and commit for in-memory databases.
|
|
|
|
test062 Test of partial puts (using DB_CURRENT) onto duplicate pages.
|
|
|
|
test063 Test of the DB_RDONLY flag to DB->open
|
|
|
|
test064 Test of DB->get_type
|
|
|
|
test065 Test of DB->stat(DB_RECORDCOUNT)
|
|
|
|
test066 Test of cursor overwrites of DB_CURRENT w/ duplicates.
|
|
|
|
test067 Test of DB_CURRENT partial puts onto almost empty duplicate
|
|
pages, with and without DB_DUP_SORT.
|
|
|
|
test068 Test of DB_BEFORE and DB_AFTER with partial puts.
|
|
|
|
test069 Test of DB_CURRENT partial puts without duplicates--
|
|
test067 w/ small ndups.
|
|
|
|
test070 Test of DB_CONSUME (Four consumers, 1000 items.)
|
|
|
|
test071 Test of DB_CONSUME (One consumer, 10000 items.)
|
|
|
|
test072 Cursor stability test when dups are moved off-page
|
|
|
|
test073 Test of cursor stability on duplicate pages.
|
|
|
|
test074 Test of DB_NEXT_NODUP.
|
|
|
|
test075 Test of DB->rename().
|
|
(formerly test of DB_TRUNCATE cached page invalidation [#1487])
|
|
|
|
test076 Test creation of many small databases in a single environment.
|
|
[#1528].
|
|
|
|
test077 Test of DB_GET_RECNO [#1206].
|
|
|
|
test078 Test of DBC->c_count().
|
|
|
|
test079 Test of deletes in large trees. (test006 w/ sm. pagesize).
|
|
|
|
test080 Test of DB->remove()
|
|
|
|
test081 Test off-page duplicates and overflow pages together with
|
|
very large keys (key/data as file contents).
|
|
|
|
test082 Test of DB_PREV_NODUP (uses test074).
|
|
|
|
test083 Test of DB->key_range.
|
|
|
|
test084 Sanity test of large (64K) pages.
|
|
|
|
test085 Test of cursor behavior when a cursor is pointing to a deleted
|
|
btree key which then has duplicates added. [#2473]
|
|
|
|
test086 Test of cursor stability across btree splits/rsplits with
|
|
subtransaction aborts (a variant of test048). [#2373]
|
|
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Cursor Join.
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
jointest Test duplicate assisted joins.
|
|
Executes 1, 2, 3 and 4-way joins with differing
|
|
index orders and selectivity.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Deadlock detection.
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
dead001 Use two different configurations to test deadlock
|
|
detection among a variable number of processes. One
|
|
configuration has the processes deadlocked in a ring.
|
|
The other has the processes all deadlocked on a single
|
|
resource.
|
|
|
|
dead002 Same test as dead001, but use "detect on every collision"
|
|
instead of separate deadlock detector.
|
|
|
|
dead003 Same test as dead002, but explicitly specify oldest or
|
|
youngest. Verify the correct lock was aborted/granted.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Lock tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
lock001 Basic lock test, gets/puts. Contention without waiting.
|
|
|
|
lock002 Multi-process lock tests.
|
|
|
|
lock003 Multiprocess random lock test.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Logging test
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
log001 Read/write log records.
|
|
|
|
log002 Tests multiple logs
|
|
Log truncation
|
|
lsn comparison and file functionality.
|
|
|
|
log003 Verify that log_flush is flushing records correctly.
|
|
|
|
log004 Prev on log when beginning of log has been truncated.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Mpool test
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
memp001 Randomly updates pages.
|
|
|
|
memp002 Tests multiple processes accessing and modifying the same
|
|
files.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Recovery
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
recd001 Per-operation recovery tests for non-duplicate, non-split
|
|
messages. Makes sure that we exercise redo, undo, and
|
|
do-nothing condition. Any test that appears with the
|
|
message (change state) indicates that we've already run
|
|
the particular test, but we are running it again so that
|
|
we can change the state of the data base to prepare for
|
|
the next test (this applies to all other recovery tests
|
|
as well).
|
|
|
|
recd002 Split recovery tests. For every known split log message,
|
|
makes sure that we exercise redo, undo, and do-nothing
|
|
condition.
|
|
|
|
recd003 Duplicate recovery tests. For every known duplicate log
|
|
message, makes sure that we exercise redo, undo, and
|
|
do-nothing condition.
|
|
|
|
recd004 Big key test where big key gets elevated to internal page.
|
|
|
|
recd005 Verify reuse of file ids works on catastrophic recovery.
|
|
|
|
recd006 Nested transactions.
|
|
|
|
recd007 File create/delete tests.
|
|
|
|
recd008 Test deeply nested transactions.
|
|
|
|
recd009 Verify record numbering across split/reverse splits
|
|
and recovery.
|
|
|
|
recd010 Verify duplicates across split/reverse splits
|
|
and recovery.
|
|
|
|
recd011 Verify that recovery to a specific timestamp works.
|
|
|
|
recd012 Test of log file ID management. [#2288]
|
|
|
|
recd013 Test of cursor adjustment on child transaction aborts. [#2373]
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Subdatabase tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
subdb001 Tests mixing db and subdb operations
|
|
Create a db, add data, try to create a subdb.
|
|
Test naming db and subdb with a leading - for
|
|
correct parsing
|
|
Existence check -- test use of -excl with subdbs
|
|
|
|
subdb002 Tests basic subdb functionality
|
|
Small keys, small data
|
|
Put/get per key
|
|
Dump file
|
|
Close, reopen
|
|
Dump file
|
|
|
|
subdb003 Tests many subdbs
|
|
Creates many subdbs and puts a small amount of
|
|
data in each (many defaults to 2000)
|
|
|
|
subdb004 Tests large subdb names
|
|
subdb name = filecontents,
|
|
key = filename, data = filecontents
|
|
Put/get per key
|
|
Dump file
|
|
Dump subdbs, verify data and subdb name match
|
|
|
|
subdb005 Tests cursor operations in subdbs
|
|
Put/get per key
|
|
Verify cursor operations work within subdb
|
|
Verify cursor operations do not work across subdbs
|
|
|
|
subdb006 Tests intra-subdb join
|
|
|
|
subdb007 Tests page size differences between subdbs
|
|
Open several subdbs, each with a different pagesize
|
|
Small keys, small data
|
|
Put/get per key per subdb
|
|
Dump file, verify per subdb
|
|
Close, reopen per subdb
|
|
Dump file, verify per subdb
|
|
|
|
subdb008 Tests lorder differences between subdbs
|
|
Open several subdbs, each with a different/random lorder
|
|
Small keys, small data
|
|
Put/get per key per subdb
|
|
Dump file, verify per subdb
|
|
Close, reopen per subdb
|
|
Dump file, verify per subdb
|
|
|
|
subdb009 Test DB->rename() method for subdbs
|
|
|
|
subdb010 Test DB->remove() method for subdbs
|
|
|
|
subdbtest001 Tests multiple access methods in one subdb
|
|
Open several subdbs, each with a different access method
|
|
Small keys, small data
|
|
Put/get per key per subdb
|
|
Dump file, verify per subdb
|
|
Close, reopen per subdb
|
|
Dump file, verify per subdb
|
|
|
|
subdbtest002 Tests multiple access methods in one subdb access by
|
|
multiple processes
|
|
Open several subdbs, each with a different access method
|
|
Small keys, small data
|
|
Put/get per key per subdb
|
|
Fork off several child procs to each delete selected
|
|
data from their subdb and then exit
|
|
Dump file, verify contents of each subdb is correct
|
|
Close, reopen per subdb
|
|
Dump file, verify per subdb
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Transaction tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
txn001 Begin, commit, abort testing.
|
|
|
|
txn002 Verify that read-only transactions do not write log records.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Environment tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
env001 Test of env remove interface (formerly env_remove).
|
|
|
|
env002 Test of DB_LOG_DIR and env name resolution.
|
|
|
|
env003 Test of DB_TMP_DIR and env name resolution.
|
|
|
|
env004 Multiple data directories test.
|
|
|
|
env005 Test for using subsystems without initializing them correctly.
|
|
|
|
env006 Smoke test that the utilities all run.
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
RPC tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
[RPC tests also include running all Access Method tests for all methods
|
|
via an RPC server]
|
|
|
|
rpc001 Test RPC server timeouts for cursor, txn and env handles.
|
|
|
|
rpc002 Test unsupported functions
|
|
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
Recno backing file tests
|
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
rsrc001 Basic backing file test (put/get)
|
|
|
|
rsrc002 Test of set_re_delim
|