1
0
Fork 0

test fixes

This commit is contained in:
Jan Steemann 2016-03-24 19:25:25 +01:00
parent 07e43276c6
commit d9c5877054
15 changed files with 47 additions and 169 deletions

View File

@ -52,6 +52,12 @@ Overview
13. the HTTP API for modifying documents (/_api/document) does not return the `error`
attribute with a value of `false` in case an operation succeeds.
14. calling either collection.edges(), collection.outEdges(), collection.inEdges()
with an array of edge ids will now make the edge ids unique before returning the
connected edges. This is probably desired anyway, as results will be returned only
once per distinct input edge id. However, it may break client applications that
rely on the old behavior.
### New capabilities:

View File

@ -1571,7 +1571,6 @@ int TRI_CreateDatabaseServer(TRI_server_t* server, TRI_voc_tick_t databaseId,
try {
builder.openObject();
builder.add("database", VPackValue(databaseId));
builder.add("data", VPackValue(VPackValueType::Object));
// name not yet in use
defaults->toVelocyPack(builder);
@ -1677,7 +1676,6 @@ int TRI_CreateDatabaseServer(TRI_server_t* server, TRI_voc_tick_t databaseId,
// write marker into log
if (writeMarker) {
builder.close(); // close inner
builder.close();
res = WriteCreateMarker(databaseId, builder.slice());
}

View File

@ -3312,7 +3312,6 @@ const recoveryTests = [
"indexes-sparse-skiplist",
"indexes-geo",
"edges",
"cap-constraint",
"indexes",
"many-inserts",
"many-updates",

View File

@ -1,112 +0,0 @@
/*jshint globalstrict:false, strict:false, unused : false */
/*global assertEqual */
////////////////////////////////////////////////////////////////////////////////
/// @brief tests for dump/reload
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2010-2012 triagens GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Jan Steemann
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
var db = require("@arangodb").db;
var internal = require("internal");
var jsunity = require("jsunity");
function runSetup () {
'use strict';
internal.debugClearFailAt();
var i, j, c;
for (i = 0; i < 5; ++i) {
db._drop("UnitTestsRecovery" + i);
c = db._create("UnitTestsRecovery" + i);
c.ensureCapConstraint((i + 1) * 10);
for (j = 0; j < 100; ++j) {
c.save({ _key: "test" + j, value1: i, value2: j });
}
}
db._drop("test");
c = db._create("test");
c.save({ _key: "crashme" }, true);
internal.debugSegfault("crashing server");
}
////////////////////////////////////////////////////////////////////////////////
/// @brief test suite
////////////////////////////////////////////////////////////////////////////////
function recoverySuite () {
'use strict';
jsunity.jsUnity.attachAssertions();
return {
setUp: function () {
},
tearDown: function () {
},
////////////////////////////////////////////////////////////////////////////////
/// @brief test whether we can restore the trx data
////////////////////////////////////////////////////////////////////////////////
testCapConstraint : function () {
var i, j, c, n, doc;
for (i = 0; i < 5; ++i) {
c = db._collection("UnitTestsRecovery" + i);
n = (i + 1) * 10;
assertEqual(n, c.count());
for (j = 100 - n; j < 100; ++j) {
doc = c.document("test" + j);
assertEqual(i, doc.value1);
assertEqual(j, doc.value2);
}
}
}
};
}
////////////////////////////////////////////////////////////////////////////////
/// @brief executes the test suite
////////////////////////////////////////////////////////////////////////////////
function main (argv) {
'use strict';
if (argv[1] === "setup") {
runSetup();
return 0;
}
else {
jsunity.run(recoverySuite);
return jsunity.done().status ? 0 : 1;
}
}

View File

@ -46,7 +46,6 @@ function runSetup () {
c.ensureUniqueConstraint("value1");
c.ensureUniqueSkiplist("value2");
c.ensureCapConstraint(50);
}
db._drop("test");
@ -79,11 +78,11 @@ function recoverySuite () {
var hash = null, skip = null;
for (i = 0; i < 5; ++i) {
c = db._collection("UnitTestsRecovery" + i);
assertEqual(50, c.count());
assertEqual(100, c.count());
idx = c.getIndexes();
assertEqual(4, idx.length);
assertEqual(3, idx.length);
for (j = 1; j < 4; ++j) {
for (j = 1; j < 3; ++j) {
if (idx[j].type === 'hash') {
hash = idx[j];
}
@ -95,13 +94,13 @@ function recoverySuite () {
assertNotNull(hash);
assertNotNull(skip);
for (j = 50; j < 100; ++j) {
for (j = 0; j < 100; ++j) {
doc = c.document("test" + j);
assertEqual("foo" + j, doc.value1);
assertEqual("bar" + j, doc.value2);
assertEqual(1, c.byExampleHash(hash.id, { value1: "foo" + j }).toArray().length);
assertEqual(1, c.byExampleSkiplist(skip.id, { value2: "bar" + j }).toArray().length);
assertEqual(1, c.byExample({ value1: "foo" + j }).toArray().length);
assertEqual(1, c.byExample({ value2: "bar" + j }).toArray().length);
}
}

View File

@ -44,7 +44,6 @@ function runSetup () {
c.ensureHashIndex("value1");
c.ensureSkiplist("value2");
c.ensureCapConstraint(1000);
}
// drop all indexes but primary
@ -91,7 +90,7 @@ function recoverySuite () {
c = db._collection("UnitTestsRecovery4");
idx = c.getIndexes();
assertEqual(4, idx.length);
assertEqual(3, idx.length);
}
};

View File

@ -93,7 +93,7 @@ function recoverySuite () {
assertFalse(idx.sparse);
assertEqual([ "value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleHash(idx.id, { value: i }).toArray().length);
assertEqual(1, c.byExample({ value: i }).toArray().length);
}
c = db._collection("UnitTestsRecovery2");
@ -102,7 +102,7 @@ function recoverySuite () {
assertFalse(idx.sparse);
assertEqual([ "a.value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleHash(idx.id, { "a.value": i }).toArray().length);
assertEqual(1, c.byExample({ "a.value": i }).toArray().length);
}
c = db._collection("UnitTestsRecovery3");
@ -110,10 +110,10 @@ function recoverySuite () {
assertFalse(idx.unique);
assertFalse(idx.sparse);
assertEqual([ "a", "b" ], idx.fields);
assertEqual(250, c.byExampleHash(idx.id, { a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 2, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 2 }).toArray().length);
}
};

View File

@ -93,7 +93,7 @@ function recoverySuite () {
assertFalse(idx.sparse);
assertEqual([ "value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleSkiplist(idx.id, { value: i }).toArray().length);
assertEqual(1, c.byExample({ value: i }).toArray().length);
}
c = db._collection("UnitTestsRecovery2");
@ -102,7 +102,7 @@ function recoverySuite () {
assertFalse(idx.sparse);
assertEqual([ "a.value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleSkiplist(idx.id, { "a.value" : i }).toArray().length);
assertEqual(1, c.byExample({ "a.value" : i }).toArray().length);
}
c = db._collection("UnitTestsRecovery3");
@ -110,10 +110,10 @@ function recoverySuite () {
assertFalse(idx.unique);
assertFalse(idx.sparse);
assertEqual([ "a", "b" ], idx.fields);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 2, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 2 }).toArray().length);
}
};

View File

@ -93,7 +93,7 @@ function recoverySuite () {
assertTrue(idx.sparse);
assertEqual([ "value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleHash(idx.id, { value: i }).toArray().length);
assertEqual(1, c.byExample({ value: i }).toArray().length);
}
c = db._collection("UnitTestsRecovery2");
@ -102,7 +102,7 @@ function recoverySuite () {
assertTrue(idx.sparse);
assertEqual([ "a.value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleHash(idx.id, { "a.value": i }).toArray().length);
assertEqual(1, c.byExample({ "a.value": i }).toArray().length);
}
c = db._collection("UnitTestsRecovery3");
@ -110,10 +110,10 @@ function recoverySuite () {
assertFalse(idx.unique);
assertTrue(idx.sparse);
assertEqual([ "a", "b" ], idx.fields);
assertEqual(250, c.byExampleHash(idx.id, { a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExampleHash(idx.id, { a: 2, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 2 }).toArray().length);
}
};

View File

@ -93,7 +93,7 @@ function recoverySuite () {
assertTrue(idx.sparse);
assertEqual([ "value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleSkiplist(idx.id, { value: i }).toArray().length);
assertEqual(1, c.byExample({ value: i }).toArray().length);
}
c = db._collection("UnitTestsRecovery2");
@ -102,7 +102,7 @@ function recoverySuite () {
assertTrue(idx.sparse);
assertEqual([ "a.value" ], idx.fields);
for (i = 0; i < 1000; ++i) {
assertEqual(1, c.byExampleSkiplist(idx.id, { "a.value" : i }).toArray().length);
assertEqual(1, c.byExample({ "a.value" : i }).toArray().length);
}
c = db._collection("UnitTestsRecovery3");
@ -110,10 +110,10 @@ function recoverySuite () {
assertFalse(idx.unique);
assertTrue(idx.sparse);
assertEqual([ "a", "b" ], idx.fields);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExampleSkiplist(idx.id, { a: 2, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 1, b: 2 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 1 }).toArray().length);
assertEqual(250, c.byExample({ a: 2, b: 2 }).toArray().length);
}
};

View File

@ -41,7 +41,6 @@ function runSetup () {
c.ensureHashIndex("value1");
c.ensureSkiplist("value2");
c.ensureCapConstraint(5000);
for (i = 0; i < 1000; ++i) {
c.save({ _key: "test" + i, value1: i, value2: "test" + (i % 10) });
@ -88,25 +87,19 @@ function recoverySuite () {
return 0;
});
assertEqual(4, idx.length);
assertEqual(3, idx.length);
assertEqual("primary", idx[0].type);
assertEqual("hash", idx[1].type);
assertFalse(idx[1].unique);
assertFalse(idx[1].sparse);
assertEqual([ "value1" ], idx[1].fields);
var hash = idx[1];
assertEqual("skiplist", idx[2].type);
assertFalse(idx[2].unique);
assertFalse(idx[2].sparse);
assertEqual([ "value2" ], idx[2].fields);
var skip = idx[2];
assertEqual("cap", idx[3].type);
assertEqual(5000, idx[3].size);
assertEqual(0, idx[3].byteSize);
for (i = 0; i < 1000; ++i) {
var doc = c.document("test" + i);
assertEqual(i, doc.value1);
@ -114,13 +107,13 @@ function recoverySuite () {
}
for (i = 0; i < 1000; ++i) {
docs = c.byExampleHash(hash.id, { value1: i }).toArray();
docs = c.byExample({ value1: i }).toArray();
assertEqual(1, docs.length);
assertEqual("test" + i, docs[0]._key);
}
for (i = 0; i < 1000; ++i) {
docs = c.byExampleSkiplist(skip.id, { value2: "test" + (i % 10) }).toArray();
docs = c.byExample({ value2: "test" + (i % 10) }).toArray();
assertEqual(100, docs.length);
}

View File

@ -86,7 +86,6 @@ function recoverySuite () {
testResumeRecoveryAll : function () {
var c = db._collection("UnitTestsRecovery"), i, j, doc;
var idx = c.getIndexes()[1];
assertEqual(50001, c.count());
@ -94,7 +93,7 @@ function recoverySuite () {
doc = c.document("test" + i);
assertEqual("test" + i, doc.value1);
assertEqual(i + 1, doc.value2);
assertEqual(1, c.byExampleSkiplist(idx.id, { value2: i + 1 }).toArray().length);
assertEqual(1, c.byExample({ value2: i + 1 }).toArray().length);
}
for (j = 0; j < 4; ++j) {
@ -103,7 +102,7 @@ function recoverySuite () {
assertEqual("test" + i, doc.value1);
assertEqual("abc" + i, doc.value2);
assertEqual(4, c.byExampleSkiplist(idx.id, { value2: "abc" + i }).toArray().length);
assertEqual(4, c.byExample({ value2: "abc" + i }).toArray().length);
}
}
}

View File

@ -86,7 +86,6 @@ function recoverySuite () {
testResumeRecoveryOther : function () {
var c = db._collection("UnitTestsRecovery"), i, j, doc;
var idx = c.getIndexes()[1];
assertEqual(50001, c.count());
@ -94,7 +93,7 @@ function recoverySuite () {
doc = c.document("test" + i);
assertEqual("test" + i, doc.value1);
assertEqual(i + 1, doc.value2);
assertEqual(1, c.byExampleSkiplist(idx.id, { value2: i + 1 }).toArray().length);
assertEqual(1, c.byExample({ value2: i + 1 }).toArray().length);
}
for (j = 0; j < 4; ++j) {
@ -103,7 +102,7 @@ function recoverySuite () {
assertEqual("test" + i, doc.value1);
assertEqual("abc" + i, doc.value2);
assertEqual(4, c.byExampleSkiplist(idx.id, { value2: "abc" + i }).toArray().length);
assertEqual(4, c.byExample({ value2: "abc" + i }).toArray().length);
}
}
}

View File

@ -70,14 +70,13 @@ function recoverySuite () {
testResumeRecoverySimple : function () {
var c = db._collection("UnitTestsRecovery"), doc;
var idx = c.getIndexes()[1];
assertEqual(1, c.count());
doc = c.document("test");
assertEqual(1, doc.foo);
assertEqual(2, doc.bar);
assertEqual(1, c.byExampleHash(idx.id, { foo: 1, bar: 2 }).toArray().length);
assertEqual(1, c.byExample({ foo: 1, bar: 2 }).toArray().length);
}
};

View File

@ -81,7 +81,6 @@ function recoverySuite () {
testResumeRecovery : function () {
var c = db._collection("UnitTestsRecovery"), i, j, doc;
var idx = c.getIndexes()[1];
assertEqual(50001, c.count());
@ -89,7 +88,7 @@ function recoverySuite () {
doc = c.document("test" + i);
assertEqual("test" + i, doc.value1);
assertEqual(i, doc.value2);
assertEqual(1, c.byExampleSkiplist(idx.id, { value2: i }).toArray().length);
assertEqual(1, c.byExample({ value2: i }).toArray().length);
}
for (j = 0; j < 4; ++j) {
@ -98,7 +97,7 @@ function recoverySuite () {
assertEqual("test" + i, doc.value1);
assertEqual("abc" + i, doc.value2);
assertEqual(4, c.byExampleSkiplist(idx.id, { value2: "abc" + i }).toArray().length);
assertEqual(4, c.byExample({ value2: "abc" + i }).toArray().length);
}
}
}