testRecreateDatabases : function () {
   var i;
   for (i = 0; i < 5; ++i) {
     db._useDatabase("UnitTestsRecovery" + i);
     var docs = db.foo.toArray();
     assertEqual(1, docs.length);
     assertEqual("test" + i, docs[0].value);
   }
 }
function runSetup () {
  "use strict";
  internal.debugClearFailAt();
  
  db._drop("test");
  db._create("test");

  var i;
  for (i = 0; i < 5; ++i) {
    db._useDatabase("_system");

    try {
      db._dropDatabase("UnitTestsRecovery" + i);
    } 
    catch (err) {
      // ignore this error
    }

    db._createDatabase("UnitTestsRecovery" + i);
    db._useDatabase("UnitTestsRecovery" + i);
    db._create("test");
    db.test.save({ value: i });
  }
    
  db._useDatabase("_system");

  for (i = 0; i < 5; ++i) {
    db._dropDatabase("UnitTestsRecovery" + i);
  }
  
  for (i = 0; i < 5; ++i) {
    db._useDatabase("_system");

    try {
      db._dropDatabase("UnitTestsRecovery" + i);
    } 
    catch (err) {
      // ignore this error
    }

    db._createDatabase("UnitTestsRecovery" + i);
    db._useDatabase("UnitTestsRecovery" + i);
    db._create("foo");
    db.foo.save({ value: "test" + i });
  }
  
  db._useDatabase("_system");

  db.test.save({ _key: "crashme" }, true);

  internal.debugSegfault("crashing server");
}