22// Tests launching multi-version ShardingTest clusters
33//
44
5- var verifyVersion = function ( mongo , version ) {
6-
7- var result = mongo . getDB ( "admin" ) . runCommand ( { serverStatus : 1 } )
8-
9- if ( result . version != version ) printjson ( result )
10-
11- assert . eq ( result . version , version )
12- }
5+ load ( './jstests/multiVersion/libs/verify_versions.js' ) ;
136
14- var versionsToCheck = [ "1.8.5" ,
15- "2.0.6" ]
7+ // Check our latest versions
8+ var versionsToCheck = [ "last-stable" ,
9+ "latest" ] ;
1610
1711jsTest . log ( "Testing legacy versions..." )
1812
@@ -36,9 +30,9 @@ for( var i = 0; i < versionsToCheck.length; i++ ){
3630 var configs = [ st . config0 ]
3731
3832 // Make sure the started versions are actually the correct versions
39- for ( var j = 0 ; j < shards . length ; j ++ ) verifyVersion ( shards [ j ] , version )
40- for ( var j = 0 ; j < mongoses . length ; j ++ ) verifyVersion ( mongoses [ j ] , version )
41- for ( var j = 0 ; j < configs . length ; j ++ ) verifyVersion ( configs [ j ] , version )
33+ for ( var j = 0 ; j < shards . length ; j ++ ) assert . binVersion ( shards [ j ] , version ) ;
34+ for ( var j = 0 ; j < mongoses . length ; j ++ ) assert . binVersion ( mongoses [ j ] , version ) ;
35+ for ( var j = 0 ; j < configs . length ; j ++ ) assert . binVersion ( configs [ j ] , version ) ;
4236
4337 st . stop ( )
4438}
@@ -65,34 +59,24 @@ var shards = [ st.shard0, st.shard1 ]
6559var mongoses = [ st . s0 , st . s1 ]
6660var configs = [ st . config0 , st . config1 , st . config2 ]
6761
68- var getVersion = function ( mongo ) {
69- var result = mongo . getDB ( "admin" ) . runCommand ( { serverStatus : 1 } )
70- return result . version
71- }
72-
73- var verifyAllVersionsFound = function ( versionsFound ) {
74- for ( var j = 0 ; j < versionsToCheck . length ; j ++ )
75- assert ( versionsFound [ versionsToCheck [ j ] ] )
76- }
77-
7862// Make sure we have hosts of all the different versions
79- var versionsFound = { }
63+ var versionsFound = [ ] ;
8064for ( var j = 0 ; j < shards . length ; j ++ )
81- versionsFound [ getVersion ( shards [ j ] ) ] = true
65+ versionsFound . push ( shards [ j ] . getBinVersion ( ) ) ;
8266
83- verifyAllVersionsFound ( versionsFound )
67+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
8468
85- versionsFound = { }
69+ versionsFound = [ ] ;
8670for ( var j = 0 ; j < mongoses . length ; j ++ )
87- versionsFound [ getVersion ( mongoses [ j ] ) ] = true
71+ versionsFound . push ( mongoses [ j ] . getBinVersion ( ) ) ;
8872
89- verifyAllVersionsFound ( versionsFound )
73+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
9074
91- versionsFound = { }
75+ versionsFound = [ ] ;
9276for ( var j = 0 ; j < configs . length ; j ++ )
93- versionsFound [ getVersion ( configs [ j ] ) ] = true
77+ versionsFound . push ( configs [ j ] . getBinVersion ( ) ) ;
9478
95- verifyAllVersionsFound ( versionsFound )
79+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
9680
9781st . stop ( )
9882
@@ -128,39 +112,34 @@ var getVersion = function( mongo ){
128112 return result . version
129113}
130114
131- var verifyAllVersionsFound = function ( versionsFound ) {
132- for ( var j = 0 ; j < versionsToCheck . length ; j ++ )
133- assert ( versionsFound [ versionsToCheck [ j ] ] )
134- }
135-
136115// Make sure we have hosts of all the different versions
137- var versionsFound = { }
116+ versionsFound = [ ]
138117for ( var j = 0 ; j < nodesA . length ; j ++ )
139- versionsFound [ getVersion ( nodesA [ j ] ) ] = true
118+ versionsFound . push ( nodesA [ j ] . getBinVersion ( ) ) ;
140119
141- verifyAllVersionsFound ( versionsFound )
120+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
142121
143- versionsFound = { }
122+ versionsFound = [ ]
144123for ( var j = 0 ; j < nodesB . length ; j ++ )
145- versionsFound [ getVersion ( nodesA [ j ] ) ] = true
124+ versionsFound . push ( nodesB [ j ] . getBinVersion ( ) ) ;
146125
147- verifyAllVersionsFound ( versionsFound )
126+ assert . allBinVersions ( versionsToCheck , versionsFound ) ; ( versionsFound )
148127
149- versionsFound = { }
150- for ( var j = 0 ; j < mongoses . length ; j ++ )
151- versionsFound [ getVersion ( mongoses [ j ] ) ] = true
128+ versionsFound = [ ] ;
129+ for ( var j = 0 ; j < mongoses . length ; j ++ )
130+ versionsFound . push ( mongoses [ j ] . getBinVersion ( ) ) ;
152131
153- verifyAllVersionsFound ( versionsFound )
154-
155- versionsFound = { }
156- for ( var j = 0 ; j < configs . length ; j ++ )
157- versionsFound [ getVersion ( configs [ j ] ) ] = true
158-
159- verifyAllVersionsFound ( versionsFound )
160-
161- st . stop ( )
132+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
133+
134+ versionsFound = [ ] ;
135+ for ( var j = 0 ; j < configs . length ; j ++ )
136+ versionsFound . push ( configs [ j ] . getBinVersion ( ) ) ;
162137
163- jsTest . log ( "Done!" )
138+ assert . allBinVersions ( versionsToCheck , versionsFound ) ;
139+
140+ jsTest . log ( "DONE!" ) ;
141+
142+ st . stop ( )
164143
165144//
166145// End
0 commit comments