blob: a71e4b276c0c4201b1b6711efe35ae3050e32f29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
//
// Tests launching multi-version ReplSetTest replica sets
//
var verifyVersion = function( mongo, version ){
var result = mongo.getDB( "admin" ).runCommand({ serverStatus : 1 })
if( result.version != version ) printjson( result )
assert.eq( result.version, version )
}
var versionsToCheck = [ "1.8.5",
"2.0.6" ]
jsTest.log( "Testing legacy versions..." )
for( var i = 0; i < versionsToCheck.length; i++ ){
var version = versionsToCheck[ i ]
// Set up a replica set
var rst = new ReplSetTest({ nodes : 2 })
rst.startSet({ binVersion : version })
var nodes = rst.nodes
// Make sure the started versions are actually the correct versions
for( var j = 0; j < nodes.length; j++ ) verifyVersion( nodes[j], version )
rst.stopSet()
}
jsTest.log( "Testing mixed versions..." )
// Set up a multi-version replica set
var rst = new ReplSetTest({ nodes : 2 })
rst.startSet({ binVersion : versionsToCheck })
var nodes = rst.nodes
var getVersion = function( mongo ){
var result = mongo.getDB( "admin" ).runCommand({ serverStatus : 1 })
return result.version
}
var verifyAllVersionsFound = function( versionsFound ){
for( var j = 0; j < versionsToCheck.length; j++ )
assert( versionsFound[ versionsToCheck[j] ] )
}
//Make sure we have hosts of all the different versions
var versionsFound = {}
for( var j = 0; j < nodes.length; j++ )
versionsFound[ getVersion( nodes[j] ) ] = true
verifyAllVersionsFound( versionsFound )
rst.stopSet()
jsTest.log( "Done!" )
//
// End
//
|