SQLite4
Files in lsm-test/ of 50e87e23bb8e0c0a
Not logged in

Files in directory /lsm-test of check-in 50e87e23bb8e0c0a




Organization of test case files:

  lsmtest1.c: Data tests. Tests that perform many inserts and deletes on a 
              database file, then verify that the contents of the database can
              be queried.

  lsmtest2.c: Crash tests. Tests that attempt to verify that the database 
              recovers correctly following an application or system crash.

  lsmtest3.c: Rollback tests. Tests that focus on the explicit rollback of
              transactions and sub-transactions.

  lsmtest4.c: Multi-client tests.

  lsmtest5.c: Multi-client tests with a different thread for each client.

  lsmtest6.c: OOM injection tests.

  lsmtest7.c: API tests.





Test case structure:

Single client operations tests:

  1. Data source.

  2. Database system (either an LSM configuration or a foreign system).

  3. Fault injection:
      + Crash, 
      + IO error, 
      + OOM condition.

  4. Close/reopen test.

How do we add, to the above structure, a test for a checkpoint larger than
4KB (generated by causing the free-list to be very long).