// test that disk space check happens on --repairpath partition

var baseName = "jstests_disk_repair4";
var smallbase = MongoRunner.dataDir + "/repairpartitiontest"
var smallpath = smallbase + "/dir"

doIt = false;
files = listFiles( MongoRunner.dataDir );
for ( i in files ) {
    if ( files[ i ].name == smallbase ) {
        doIt = true;
    }
}

if ( !doIt ) {
    print( "path " + smallpath + " missing, skipping repair4 test" );
    doIt = false;
}

if ( doIt ) {

    port = allocatePorts( 1 )[ 0 ];
    repairpath = MongoRunner.dataPath + baseName + "/";
    
    resetDbpath( smallpath );
    resetDbpath( repairpath );
    
    m = startMongoProgram( "mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--port", port, "--dbpath", smallpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
    db = m.getDB( baseName );
    db[ baseName ].save( {} );
    assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles:true} ) );
    function check() {
        files = listFiles( smallpath );
        for( f in files ) {
            assert( ! new RegExp( "^" + smallpath + "backup_" ).test( files[ f ].name ), "backup dir in dbpath" );
        }
        
        assert.eq.automsg( "1", "db[ baseName ].count()" );
    }
    
    check();
    stopMongod( port );

}