summaryrefslogtreecommitdiff
path: root/src/mongo/dbtests
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2016-08-22 14:49:31 -0400
committerTess Avitabile <tess.avitabile@mongodb.com>2016-09-02 15:10:30 -0400
commitf288ea86db58c6aefe4807ed7ac1815577da2752 (patch)
treedadff64105fe94dfeef57c00a38c1e4ff960ca07 /src/mongo/dbtests
parentaa7411e6e2c4fd18bbff934c57567d89dc3efa0e (diff)
downloadmongo-f288ea86db58c6aefe4807ed7ac1815577da2752.tar.gz
SERVER-25159 Default BSON validation version should depend on admin.system.version
Diffstat (limited to 'src/mongo/dbtests')
-rw-r--r--src/mongo/dbtests/jsobjtests.cpp30
-rw-r--r--src/mongo/dbtests/jsontests.cpp2
-rw-r--r--src/mongo/dbtests/jstests.cpp20
-rw-r--r--src/mongo/dbtests/querytests.cpp2
4 files changed, 37 insertions, 17 deletions
diff --git a/src/mongo/dbtests/jsobjtests.cpp b/src/mongo/dbtests/jsobjtests.cpp
index a6b3fea9547..2334cadd512 100644
--- a/src/mongo/dbtests/jsobjtests.cpp
+++ b/src/mongo/dbtests/jsobjtests.cpp
@@ -582,7 +582,7 @@ public:
bb << "a" << 1;
BSONObj tmp = bb.asTempObj();
ASSERT(tmp.objsize() == 4 + (1 + 2 + 4) + 1);
- ASSERT(tmp.valid());
+ ASSERT(tmp.valid(BSONVersion::kLatest));
ASSERT(tmp.hasField("a"));
ASSERT(!tmp.hasField("b"));
ASSERT_BSONOBJ_EQ(tmp, BSON("a" << 1));
@@ -590,7 +590,7 @@ public:
bb << "b" << 2;
BSONObj obj = bb.obj();
ASSERT_EQUALS(obj.objsize(), 4 + (1 + 2 + 4) + (1 + 2 + 4) + 1);
- ASSERT(obj.valid());
+ ASSERT(obj.valid(BSONVersion::kLatest));
ASSERT(obj.hasField("a"));
ASSERT(obj.hasField("b"));
ASSERT_BSONOBJ_EQ(obj, BSON("a" << 1 << "b" << 2));
@@ -600,7 +600,7 @@ public:
bb << "a" << GT << 1;
BSONObj tmp = bb.asTempObj();
ASSERT(tmp.objsize() == 4 + (1 + 2 + (4 + 1 + 4 + 4 + 1)) + 1);
- ASSERT(tmp.valid());
+ ASSERT(tmp.valid(BSONVersion::kLatest));
ASSERT(tmp.hasField("a"));
ASSERT(!tmp.hasField("b"));
ASSERT_BSONOBJ_EQ(tmp, BSON("a" << BSON("$gt" << 1)));
@@ -609,7 +609,7 @@ public:
BSONObj obj = bb.obj();
ASSERT(obj.objsize() ==
4 + (1 + 2 + (4 + 1 + 4 + 4 + 1)) + (1 + 2 + (4 + 1 + 4 + 4 + 1)) + 1);
- ASSERT(obj.valid());
+ ASSERT(obj.valid(BSONVersion::kLatest));
ASSERT(obj.hasField("a"));
ASSERT(obj.hasField("b"));
ASSERT_BSONOBJ_EQ(obj, BSON("a" << BSON("$gt" << 1) << "b" << BSON("$lt" << 2)));
@@ -619,7 +619,7 @@ public:
bb << "a" << 1;
BSONObj tmp = bb.asTempObj();
ASSERT(tmp.objsize() == 4 + (1 + 2 + 4) + 1);
- ASSERT(tmp.valid());
+ ASSERT(tmp.valid(BSONVersion::kLatest));
ASSERT(tmp.hasField("a"));
ASSERT(!tmp.hasField("b"));
ASSERT_BSONOBJ_EQ(tmp, BSON("a" << 1));
@@ -631,7 +631,7 @@ public:
}
bb << "b" << arr.arr();
BSONObj obj = bb.obj();
- ASSERT(obj.valid());
+ ASSERT(obj.valid(BSONVersion::kLatest));
ASSERT(obj.hasField("a"));
ASSERT(obj.hasField("b"));
}
@@ -1070,8 +1070,8 @@ class Base {
public:
virtual ~Base() {}
void run() {
- ASSERT(valid().valid());
- ASSERT(!invalid().valid());
+ ASSERT(valid().valid(BSONVersion::kLatest));
+ ASSERT(!invalid().valid(BSONVersion::kLatest));
}
protected:
@@ -1120,7 +1120,7 @@ public:
b.appendNull("a");
BSONObj o = b.done();
set(o, 4, mongo::Undefined);
- ASSERT(o.valid());
+ ASSERT(o.valid(BSONVersion::kLatest));
}
};
@@ -1303,7 +1303,7 @@ public:
void run() {
const char data[] = {0x07, 0x00, 0x00, 0x00, char(type_), 'a', 0x00};
BSONObj o(data);
- ASSERT(!o.valid());
+ ASSERT(!o.valid(BSONVersion::kLatest));
}
private:
@@ -1666,7 +1666,7 @@ public:
b2.done();
b1.append("f", 10.0);
BSONObj ret = b1.done();
- ASSERT(ret.valid());
+ ASSERT(ret.valid(BSONVersion::kLatest));
ASSERT(ret.woCompare(fromjson("{a:'bcd',foo:{ggg:44},f:10}")) == 0);
}
};
@@ -1687,7 +1687,7 @@ public:
BSONObj o = BSON("now" << DATENOW);
Date_t after = jsTime();
- ASSERT(o.valid());
+ ASSERT(o.valid(BSONVersion::kLatest));
BSONElement e = o["now"];
ASSERT(e.type() == Date);
@@ -1705,7 +1705,7 @@ public:
b.appendTimeT("now", aTime);
BSONObj o = b.obj();
- ASSERT(o.valid());
+ ASSERT(o.valid(BSONVersion::kLatest));
BSONElement e = o["now"];
ASSERT_EQUALS(Date, e.type());
@@ -1719,8 +1719,8 @@ public:
BSONObj min = BSON("a" << MINKEY);
BSONObj max = BSON("b" << MAXKEY);
- ASSERT(min.valid());
- ASSERT(max.valid());
+ ASSERT(min.valid(BSONVersion::kLatest));
+ ASSERT(max.valid(BSONVersion::kLatest));
BSONElement minElement = min["a"];
BSONElement maxElement = max["b"];
diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp
index ecd156ed5a6..5ba320b3297 100644
--- a/src/mongo/dbtests/jsontests.cpp
+++ b/src/mongo/dbtests/jsontests.cpp
@@ -625,7 +625,7 @@ class Base {
public:
virtual ~Base() {}
void run() {
- ASSERT(fromjson(json()).valid());
+ ASSERT(fromjson(json()).valid(BSONVersion::kLatest));
assertEquals(bson(), fromjson(json()), "mode: json-to-bson");
assertEquals(bson(), fromjson(tojson(bson())), "mode: <default>");
assertEquals(bson(), fromjson(tojson(bson(), Strict)), "mode: strict");
diff --git a/src/mongo/dbtests/jstests.cpp b/src/mongo/dbtests/jstests.cpp
index 3ec0130cdb2..d9dd6b69ce7 100644
--- a/src/mongo/dbtests/jstests.cpp
+++ b/src/mongo/dbtests/jstests.cpp
@@ -789,6 +789,11 @@ public:
class NumberDecimal {
public:
void run() {
+ // Set the featureCompatibilityVersion to 3.4 so that BSON validation always uses
+ // BSONVersion::kLatest.
+ serverGlobalParams.featureCompatibilityVersion.store(
+ ServerGlobalParams::FeatureCompatibilityVersion_34);
+
unique_ptr<Scope> s(globalScriptEngine->newScope());
BSONObjBuilder b;
Decimal128 val = Decimal128("2.010");
@@ -818,6 +823,11 @@ public:
class NumberDecimalGetFromScope {
public:
void run() {
+ // Set the featureCompatibilityVersion to 3.4 so that BSON validation always uses
+ // BSONVersion::kLatest.
+ serverGlobalParams.featureCompatibilityVersion.store(
+ ServerGlobalParams::FeatureCompatibilityVersion_34);
+
unique_ptr<Scope> s(globalScriptEngine->newScope());
ASSERT(s->exec("a = 5;", "a", false, true, false));
ASSERT_TRUE(Decimal128(5).isEqual(s->getNumberDecimal("a")));
@@ -827,6 +837,11 @@ public:
class NumberDecimalBigObject {
public:
void run() {
+ // Set the featureCompatibilityVersion to 3.4 so that BSON validation always uses
+ // BSONVersion::kLatest.
+ serverGlobalParams.featureCompatibilityVersion.store(
+ ServerGlobalParams::FeatureCompatibilityVersion_34);
+
unique_ptr<Scope> s(globalScriptEngine->newScope());
BSONObj in;
@@ -1121,6 +1136,11 @@ public:
void run() {
// Insert in Javascript -> Find using DBDirectClient
+ // Set the featureCompatibilityVersion to 3.4 so that BSON validation always uses
+ // BSONVersion::kLatest.
+ serverGlobalParams.featureCompatibilityVersion.store(
+ ServerGlobalParams::FeatureCompatibilityVersion_34);
+
// Drop the collection
const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext();
OperationContext& txn = *txnPtr;
diff --git a/src/mongo/dbtests/querytests.cpp b/src/mongo/dbtests/querytests.cpp
index cdcca08b505..888d9bd4454 100644
--- a/src/mongo/dbtests/querytests.cpp
+++ b/src/mongo/dbtests/querytests.cpp
@@ -1200,7 +1200,7 @@ public:
unique_ptr<DBClientCursor> cursor = _client.query(ns, Query().sort("7"));
while (cursor->more()) {
BSONObj o = cursor->next();
- verify(o.valid());
+ verify(o.valid(BSONVersion::kLatest));
// cout << " foo " << o << endl;
}
}