summaryrefslogtreecommitdiff
path: root/jstests/dur/dur_passthrough.js
blob: fb1c1df1e2b0dd7e6dfb8f6a882a0363daeee6e2 (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
//
// simple runner to run toplevel tests in jstests
//

//TODO(mathias) add --master or make another test
//conn = startMongodEmpty("--port", 30200, "--dbpath", "/data/db/dur_passthrough", "--dur", "--smallfiles", "--durOptions", "24");

conn = startMongodEmpty("--port", 30200, "--dbpath", "/data/db/dur_passthrough", "--dur", "--nopreallocj", "--smallfiles",
"--durOptions", "8");
db = conn.getDB("test");

function doTest() {
    var files = listFiles("jstests");
    files = files.sort(compareOn('name'));

    var runnerStart = new Date()

    files.forEach(
        function (x) {

            if (/[\/\\]_/.test(x.name) ||
                 !/\.js$/.test(x.name) ||
                 /repair/.test(x.name) || // fails on recovery
                 /shellkillop/.test(x.name) || // takes forever and don't test anything new
                 false // placeholder so all real tests end in ||
               )
            {
                print(" >>>>>>>>>>>>>>> skipping " + x.name);
                return;
            }

            print();
            print(" *******************************************");
            print("         Test : " + x.name + " ...");
            print("                " + Date.timeFunc(function () { load(x.name); }, 1) + "ms");

        }
    );

    stopMongod(30200);

    var runnerEnd = new Date()

    print( "total runner time: " + ( ( runnerEnd.getTime() - runnerStart.getTime() ) / 1000 ) + "secs" )
}

if (db.serverBuildInfo().bits == 64 &&
    db.serverBuildInfo().debug == false &&
    db.hostInfo().os.type == "Linux")
{
        doTest();
}
else {
    print("Skipping.  Only run this test on non-debug, 64bit, Linux builds");
}

//TODO(mathias): test recovery here