1*38d69855Sdan 2*38d69855Sdan 3*38d69855SdanOrganization of test case files: 4*38d69855Sdan 5*38d69855Sdan lsmtest1.c: Data tests. Tests that perform many inserts and deletes on a 6*38d69855Sdan database file, then verify that the contents of the database can 7*38d69855Sdan be queried. 8*38d69855Sdan 9*38d69855Sdan lsmtest2.c: Crash tests. Tests that attempt to verify that the database 10*38d69855Sdan recovers correctly following an application or system crash. 11*38d69855Sdan 12*38d69855Sdan lsmtest3.c: Rollback tests. Tests that focus on the explicit rollback of 13*38d69855Sdan transactions and sub-transactions. 14*38d69855Sdan 15*38d69855Sdan lsmtest4.c: Multi-client tests. 16*38d69855Sdan 17*38d69855Sdan lsmtest5.c: Multi-client tests with a different thread for each client. 18*38d69855Sdan 19*38d69855Sdan lsmtest6.c: OOM injection tests. 20*38d69855Sdan 21*38d69855Sdan lsmtest7.c: API tests. 22*38d69855Sdan 23*38d69855Sdan lsmtest8.c: Writer crash tests. Tests in this file attempt to verify that 24*38d69855Sdan the system recovers and other clients proceed unaffected if 25*38d69855Sdan a process fails in the middle of a write transaction. 26*38d69855Sdan 27*38d69855Sdan The difference from lsmtest2.c is that this file tests 28*38d69855Sdan live-recovery (recovery from a failure that occurs while other 29*38d69855Sdan clients are still running) whereas lsmtest2.c tests recovery 30*38d69855Sdan from a system or power failure. 31*38d69855Sdan 32*38d69855Sdan lsmtest9.c: More data tests. These focus on testing that calling 33*38d69855Sdan lsm_work(nMerge=1) to compact the database does not corrupt it. 34*38d69855Sdan In other words, that databases containing block-redirects 35*38d69855Sdan can be read and written. 36*38d69855Sdan 37*38d69855Sdan 38*38d69855Sdan 39*38d69855Sdan 40*38d69855Sdan 41