summaryrefslogtreecommitdiff
path: root/jstests/slowWeekly/ns1.js
blob: f51db01aca41606d6d2e29a7dee6dcd7123a3a5e (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

mydb = db.getSisterDB( "test_ns1" );
mydb.dropDatabase();

check = function( n , isNew ){
    var coll = mydb["x" + n];
    if ( isNew ){
        assert.eq( 0 , coll.count() , "pop a: " + n );
        coll.insert( { _id : n } );
    }
    assert.eq( 1 , coll.count() , "pop b: " + n );
    assert.eq( n , coll.findOne()._id , "pop c: " + n );
    return coll;
}

max = 0;

for ( ; max<1000; max++ ){
    check(max,true);
}

function checkall( removed ){
    for ( var i=0; i<max; i++ ){
        if ( removed == i ){
            assert.eq( 0 , mydb["x"+i].count() , "should be 0 : " + removed );
        }
        else {
            check( i , false );
        }
    }
}

checkall();

Random.srand( 123124 );
its = max / 2;
print( "its: " + its );
for ( i=0; i<its; i++ ){
    x = Random.randInt( max );
    check( x , false ).drop();
    checkall( x );
    check( x , true );
    if ( ( i + 1 ) % 20 == 0 ){
        print( i + "/" + its );
    }
}    
print( "yay" )

mydb.dropDatabase();