summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2009-08-24 11:54:44 -0400
committerEliot Horowitz <eliot@10gen.com>2009-08-24 11:54:44 -0400
commitf5a8781aae72d1596b0270f107a8575359bce779 (patch)
tree3925f5c9d8e0abdee2c4a5fa6ffa141c677a66da
parenta2e000830f884d3be8938b87ffaf6b84a62e5a50 (diff)
downloadmongo-f5a8781aae72d1596b0270f107a8575359bce779.tar.gz
wait for tools to quit before continuing - faster and more reliable
-rw-r--r--jstests/tool/tool1.js40
1 files changed, 24 insertions, 16 deletions
diff --git a/jstests/tool/tool1.js b/jstests/tool/tool1.js
index 6bb9ad17e38..586dfb859ac 100644
--- a/jstests/tool/tool1.js
+++ b/jstests/tool/tool1.js
@@ -5,35 +5,45 @@ dbPath = "/data/db/" + baseName + "/";
externalPath = "/data/db/" + baseName + "_external/"
externalFile = externalPath + "export.json"
+function fileSize(){
+ var l = listFiles( externalPath );
+ for ( var i=0; i<l.length; i++ ){
+ if ( l[i].name == externalFile )
+ return l[i].size;
+ }
+ return -1;
+}
+
+
port = allocatePorts( 1 )[ 0 ];
resetDbpath( externalPath );
m = startMongod( "--port", port, "--dbpath", dbPath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
c = m.getDB( baseName ).getCollection( baseName );
c.save( { a: 1 } );
+assert( c.findOne() );
-startMongoProgramNoConnect( "mongodump", "--host", "127.0.0.1:" + port, "--out", externalPath );
-sleep( 3000 );
+runMongoProgram( "mongodump", "--host", "127.0.0.1:" + port, "--out", externalPath );
c.drop();
-startMongoProgramNoConnect( "mongorestore", "--host", "127.0.0.1:" + port, "--dir", externalPath );
-assert.soon( function() { return c.findOne() && 1 == c.findOne().a; } );
+runMongoProgram( "mongorestore", "--host", "127.0.0.1:" + port, "--dir", externalPath );
+assert( c.findOne() && 1 == c.findOne().a , "mongodump then restore has no data" );
resetDbpath( externalPath );
-startMongoProgramNoConnect( "mongoexport", "--host", "127.0.0.1:" + port, "-d", baseName, "-c", baseName, "--out", externalFile );
-sleep( 3000 );
+assert.eq( -1 , fileSize() , "mongoexport prep invalid" );
+runMongoProgram( "mongoexport", "--host", "127.0.0.1:" + port, "-d", baseName, "-c", baseName, "--out", externalFile );
+assert.lt( 10 , fileSize() , "file size changed" );
+
c.drop();
-startMongoProgramNoConnect( "mongoimportjson", "--host", "127.0.0.1:" + port, "-d", baseName, "-c", baseName, "--file", externalFile );
-assert.soon( function() { return c.findOne() && 1 == c.findOne().a; } );
+runMongoProgram( "mongoimportjson", "--host", "127.0.0.1:" + port, "-d", baseName, "-c", baseName, "--file", externalFile );
+assert( c.findOne() && 1 == c.findOne().a );
stopMongod( port );
resetDbpath( externalPath );
-startMongoProgramNoConnect( "mongodump", "--dbpath", dbPath, "--out", externalPath );
-sleep( 3000 );
+runMongoProgram( "mongodump", "--dbpath", dbPath, "--out", externalPath );
resetDbpath( dbPath );
-startMongoProgramNoConnect( "mongorestore", "--dbpath", dbPath, "--dir", externalPath );
-sleep( 5000 );
+runMongoProgram( "mongorestore", "--dbpath", dbPath, "--dir", externalPath );
m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbPath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
c = m.getDB( baseName ).getCollection( baseName );
assert( c.findOne(), "object missing a" );
@@ -42,11 +52,9 @@ assert( 1 == c.findOne().a, "object wrong" );
stopMongod( port );
resetDbpath( externalPath );
-startMongoProgramNoConnect( "mongoexport", "--dbpath", dbPath, "-d", baseName, "-c", baseName, "--out", externalFile );
-sleep( 3000 );
+runMongoProgram( "mongoexport", "--dbpath", dbPath, "-d", baseName, "-c", baseName, "--out", externalFile );
resetDbpath( dbPath );
-startMongoProgramNoConnect( "mongoimportjson", "--dbpath", dbPath, "-d", baseName, "-c", baseName, "--file", externalFile );
-sleep( 5000 );
+runMongoProgram( "mongoimportjson", "--dbpath", dbPath, "-d", baseName, "-c", baseName, "--file", externalFile );
m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbPath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
c = m.getDB( baseName ).getCollection( baseName );
assert( c.findOne(), "object missing b" );