diff options
author | Tess Avitabile <tess.avitabile@mongodb.com> | 2016-08-22 14:49:31 -0400 |
---|---|---|
committer | Tess Avitabile <tess.avitabile@mongodb.com> | 2016-09-02 15:10:30 -0400 |
commit | f288ea86db58c6aefe4807ed7ac1815577da2752 (patch) | |
tree | dadff64105fe94dfeef57c00a38c1e4ff960ca07 /src/mongo/dbtests | |
parent | aa7411e6e2c4fd18bbff934c57567d89dc3efa0e (diff) | |
download | mongo-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.cpp | 30 | ||||
-rw-r--r-- | src/mongo/dbtests/jsontests.cpp | 2 | ||||
-rw-r--r-- | src/mongo/dbtests/jstests.cpp | 20 | ||||
-rw-r--r-- | src/mongo/dbtests/querytests.cpp | 2 |
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; } } |