mirror of https://gitee.com/bigwinds/arangodb
added tests
This commit is contained in:
parent
8ec5ad2a1e
commit
9695b25673
|
@ -210,6 +210,7 @@ unittests-recovery:
|
||||||
@echo "================================================================================"
|
@echo "================================================================================"
|
||||||
@echo
|
@echo
|
||||||
|
|
||||||
|
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="collector-oom"
|
||||||
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="transaction-no-abort"
|
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="transaction-no-abort"
|
||||||
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="transaction-no-commit"
|
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="transaction-no-commit"
|
||||||
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="multi-database-durability"
|
$(MAKE) execute-recovery-test PID=$(PID) RECOVERY_SCRIPT="multi-database-durability"
|
||||||
|
|
|
@ -1064,6 +1064,10 @@ int CollectorThread::executeTransferMarkers (TRI_document_collection_t* document
|
||||||
int CollectorThread::queueOperations (triagens::wal::Logfile* logfile,
|
int CollectorThread::queueOperations (triagens::wal::Logfile* logfile,
|
||||||
CollectorCache*& cache) {
|
CollectorCache*& cache) {
|
||||||
TRI_voc_cid_t cid = cache->collectionId;
|
TRI_voc_cid_t cid = cache->collectionId;
|
||||||
|
|
||||||
|
TRI_IF_FAILURE("CollectorThreadQueueOperations") {
|
||||||
|
throw std::bad_alloc();
|
||||||
|
}
|
||||||
|
|
||||||
MUTEX_LOCKER(_operationsQueueLock);
|
MUTEX_LOCKER(_operationsQueueLock);
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,60 @@ var arangodb = require("org/arangodb");
|
||||||
var testHelper = require("org/arangodb/test-helper").Helper;
|
var testHelper = require("org/arangodb/test-helper").Helper;
|
||||||
var db = arangodb.db;
|
var db = arangodb.db;
|
||||||
var internal = require("internal");
|
var internal = require("internal");
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
// --SECTION-- wal failures
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// @brief test suite
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
function walFailureSuite () {
|
||||||
|
var cn = "UnitTestsWal";
|
||||||
|
var c;
|
||||||
|
|
||||||
|
return {
|
||||||
|
|
||||||
|
setUp: function () {
|
||||||
|
internal.debugClearFailAt();
|
||||||
|
db._drop(cn);
|
||||||
|
c = db._create(cn);
|
||||||
|
},
|
||||||
|
|
||||||
|
tearDown: function () {
|
||||||
|
db._drop(cn);
|
||||||
|
c = null;
|
||||||
|
},
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// @brief test bad alloc in collector
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
testCollectorBadAlloc : function () {
|
||||||
|
internal.flushWal(true, true);
|
||||||
|
internal.debugSetFailAt("CollectorThreadQueueOperations");
|
||||||
|
|
||||||
|
var i = 0;
|
||||||
|
for (i = 0; i < 1000; ++i) {
|
||||||
|
c.save({ _key: "test" + i });
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEqual(1000, c.count());
|
||||||
|
internal.flushWal(true, false);
|
||||||
|
|
||||||
|
assertEqual(1000, c.count());
|
||||||
|
internal.wait(6);
|
||||||
|
internal.debugClearFailAt();
|
||||||
|
|
||||||
|
internal.wait(6);
|
||||||
|
testHelper.waitUnload(c);
|
||||||
|
|
||||||
|
assertEqual(1000, c.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// --SECTION-- wal functions
|
// --SECTION-- wal functions
|
||||||
|
@ -39,7 +93,7 @@ var internal = require("internal");
|
||||||
/// @brief test suite
|
/// @brief test suite
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
function WalSuite () {
|
function walSuite () {
|
||||||
var cn = "UnitTestsWal";
|
var cn = "UnitTestsWal";
|
||||||
var c;
|
var c;
|
||||||
|
|
||||||
|
@ -123,7 +177,10 @@ function WalSuite () {
|
||||||
/// @brief executes the test suites
|
/// @brief executes the test suites
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
jsunity.run(WalSuite);
|
if (internal.debugCanUseFailAt()) {
|
||||||
|
jsunity.run(walFailureSuite);
|
||||||
|
}
|
||||||
|
jsunity.run(walSuite);
|
||||||
|
|
||||||
return jsunity.done();
|
return jsunity.done();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue