-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestMover.js
136 lines (116 loc) · 3.06 KB
/
testMover.js
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// Module to move ALL of the tests for Production Coverage Comparison
module.exports.restoreTests = restoreTests;
module.exports.moveOrigTests = moveOrigTests;
module.exports.getOrigTests = getOrigTests;
module.exports.getStoredTests = getStoredTests;
module.exports.setTestsDir = setTestsDir;
module.exports.setStoreDir = setStoreDir;
module.exports.getTestsDir = getTestsDir;
module.exports.getStoreDir = getStoreDir;
var fs = require('fs-extra');
var async = require('async');
var shelljs = require('shelljs');
var testsToMove = [];
var testsDir = "";
var storeDir = "";
var srcDir = "";
var trgDir = "";
function setStoreDir(dir) {
storeDir = dir;
}
function setTestsDir(dir) {
testsDir = dir;
}
function getStoreDir() {
return storeDir;
}
function getTestsDir() {
return testsDir;
}
// Get the list of original tests
function getOrigTests(callback) {
srcDir = testsDir;
console.log("org from " + srcDir);
testsToMove = shelljs.ls('-R', srcDir).filter(function (file) {
return file.match(/\Test.java$/);
});
var onumTests = testsToMove.length;
console.log("Original number of tests: " + onumTests);
callback(null);
}
// Get the list of stored tests
function getStoredTests(callback) {
srcDir = storeDir;
console.log("stored in " + srcDir);
testsToMove = shelljs.ls('-R', srcDir).filter(function (file) {
return file.match(/\Test.java$/);
});
var numStoredTests = testsToMove.length;
console.log("Number of stored tests: " + numStoredTests);
callback(null);
}
function moveOrigTests(callback) {
trgDir = storeDir;
console.log("Move tests from " + srcDir + " to " + trgDir);
async.whilst(areTestsToMove, moveTest, function (err) {
if (err) {
callback(err);
} else {
allMoved(err);
callback(null);
}
});
}
function restoreTests(rcallback) {
trgDir = testsDir;
srcDir = storeDir;
console.log("Restore tests from " + srcDir + " to " + trgDir);
async.whilst(areTestsToMove, moveTest, function (err) {
if (err) {
rcallback(err);
} else {
allRestored(err);
rcallback(null);
}
});
}
function areTestsToMove() {
// console.log("testsToMove.length " + testsToMove.length);
return testsToMove.length > 0;
}
function allRestored(err) {
if (err) {
console.log("Restore Move :" + err);
} else {
console.log("All original tests restored");
var tests = shelljs.ls('-R', trgDir).filter(function (file) {
return file.match(/\Test.java$/);
});
var numTests = tests.length;
console.log("Num Tests: " + tests.length);
}
}
function moveTest(callback) {
var test = testsToMove[0];
fs.move(srcDir + test, trgDir + test, function (err) {
if (err) {
callback(err);
} else {
// console.log("Moved " + srcDir + test + " to " + trgDir + test);
testsToMove.shift();
callback();
}
});
}
function allMoved(err) {
if (err) {
console.log("Orig Move :" + err);
} else {
console.log("All original tests moved");
var tests = shelljs.ls('-R', trgDir).filter(function (file) {
return file.match(/\Test.java$/);
});
var numTests = tests.length;
console.log("Test Store Num Tests: " + tests.length + "\n\n");
}
}