8000 Better result handling for recovery tests (#6826) · mnemosdev/arangodb@239771b · GitHub
[go: up one dir, main page]

Skip to content

Commit 239771b

Browse files
dothebartjsteemann
authored andcommitted
Better result handling for recovery tests (arangodb#6826)
1 parent bacce44 commit 239771b

File tree

159 files changed

+197
-169
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+197
-169
lines changed

js/client/modules/@arangodb/testsuites/recovery.js

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ const toArgv = require('internal').toArgv;
4040

4141
const RED = require('internal').COLORS.COLOR_RED;
4242
const RESET = require('internal').COLORS.COLOR_RESET;
43+
const BLUE = require('internal').COLORS.COLOR_BLUE;
4344

4445
const testPaths = {
4546
'recovery': [tu.pathForTesting('server/recovery')]
@@ -50,6 +51,7 @@ const testPaths = {
5051
// //////////////////////////////////////////////////////////////////////////////
5152

5253
function runArangodRecovery (instanceInfo, options, script, setup, count) {
54+
let tmpDir;
5355
if (!instanceInfo.recoveryArgs) {
5456
let tempDir = fs.getTempPath();
5557
let td = fs.join(tempDir, `${count}`);
@@ -62,7 +64,7 @@ function runArangodRecovery (instanceInfo, options, script, setup, count) {
6264

6365
let appDir = fs.join(td, 'app');
6466
fs.makeDirectoryRecursive(appDir);
65-
let tmpDir = fs.join(td, 'tmp');
67+
tmpDir = fs.join(td, 'tmp');
6668
fs.makeDirectoryRecursive(tmpDir);
6769

6870
let args = pu.makeArgs.arangod(options, appDir, '', tmpDir);
@@ -102,6 +104,21 @@ function runArangodRecovery (instanceInfo, options, script, setup, count) {
102104
let binary = pu.ARANGOD_BIN;
103105

104106
instanceInfo.pid = pu.executeAndWait(binary, argv, options, 'recovery', instanceInfo.rootDir, setup, !setup && options.coreCheck);
107+
if (!setup) {
108+
let jsonFN = fs.join(tmpDir, 'testresult.json');
109+
try {
110+
let result = JSON.parse(fs.read(jsonFN));
111+
fs.remove(jsonFN);
112+
return result;
113+
} catch (x) {
114+
print(RED + 'failed to read ' + jsonFN + RESET);
115+
return {
116+
status: false,
117+
message: 'failed to read ' + jsonFN + x,
118+
duration: -1
119+
};
120+
}
121+
}
105122
}
106123

107124
function recovery (options) {
@@ -139,17 +156,18 @@ function recovery (options) {
139156
let instanceInfo = {};
140157
count += 1;
141158

159+
print(BLUE + "running setup of " + test + RESET);
142160
runArangodRecovery(instanceInfo, localOptions, test, true, count);
143161

144-
runArangodRecovery(instanceInfo, localOptions, test, false, count);
145-
146-
pu.cleanupLastDirectory(localOptions);
147-
148-
results[test] = instanceInfo.pid;
162+
print(BLUE + "running recovery of " + test + RESET);
163+
results[test] = runArangodRecovery(instanceInfo, localOptions, test, false, count);
149164

150165
if (!results[test].status) {
151166
status = false;
152167
}
168+
else {
169+
pu.cleanupLastDirectory(localOptions);
170+
}
153171
} else {
154172
if (options.extremeVerbosity) {
155173
print('Skipped ' + test + ' because of ' + filtered.filter);
@@ -167,9 +185,7 @@ function recovery (options) {
167185
}
168186
results.status = status;
169187

170-
return {
171-
recovery: results
172-
};
188+
return results;
173189
}
174190

175191
exports.setup = function (testFns, defaultFns, opts, fnDocs, optionsDoc, allTestPaths) {

js/common/modules/jsunity.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,17 @@ function Done (suiteName) {
208208
return ret;
209209
}
210210

211+
// //////////////////////////////////////////////////////////////////////////////
212+
// / @brief done with all tests
213+
// //////////////////////////////////////////////////////////////////////////////
214+
215+
function WriteDone (suiteName) {
216+
var ret = Done(suiteName);
217+
let outPath = fs.join(require("internal").options()['temp.path'], 'testresult.json');
218+
fs.write(outPath, JSON.stringify(ret));
219+
return ret;
220+
}
221+
211222
// //////////////////////////////////////////////////////////////////////////////
212223
// / @brief runs a JSUnity test file
213224
// //////////////////////////////////////////////////////////////////////////////
@@ -238,4 +249,5 @@ exports.setTestFilter = setTestFilter;
238249
exports.jsUnity = jsUnity;
239250
exports.run = Run;
240251
exports.done = Done;
252+
exports.writeDone = WriteDone;
241253
exports.runTest = RunTest;

tests/js/server/recovery/applier-restart.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,6 @@ function main (argv) {
7777
return 0;
7878
} else {
7979
jsunity.run(recoverySuite);
80-
return jsunity.done().status ? 0 : 1;
80+
return jsunity.writeDone().status ? 0 : 1;
8181
}
8282
}

tests/js/server/recovery/attributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,6 @@ function main (argv) {
8989
return 0;
9090
} else {
9191
jsunity.run(recoverySuite);
92-
return jsunity.done().status ? 0 : 1;
92+
return jsunity.writeDone().status ? 0 : 1;
9393
}
9494
}

tests/js/server/recovery/big-transaction-durability.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,6 @@ function main (argv) {
105105
return 0;
106106
} else {
107107
jsunity.run(recoverySuite);
108-
return jsunity.done().status ? 0 : 1;
108+
return jsunity.writeDone().status ? 0 : 1;
109109
}
110110
}

tests/js/server/recovery/collection-drop-recreate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,6 @@ function main (argv) {
105105
return 0;
106106
} else {
107107
jsunity.run(recoverySuite);
108-
return jsunity.done().status ? 0 : 1;
108+
return jsunity.writeDone().status ? 0 : 1;
109109
}
110110
}

tests/js/server/recovery/collection-duplicate-name.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,6 @@ function main (argv) {
7777
return runSetup();
7878
} else {
7979
jsunity.run(recoverySuite);
80-
return jsunity.done();
80+
return jsunity.writeDone().status ? 0 : 1;
8181
}
8282
}

tests/js/server/recovery/collection-duplicate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@ function main (argv) {
8585
return 0;
8686
} else {
8787
jsunity.run(recoverySuite);
88-
return jsunity.done().status ? 0 : 1;
88+
return jsunity.writeDone().status ? 0 : 1;
8989
}
9090
}

tests/js/server/recovery/collection-keygen-rocksdb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,6 @@ function main (argv) {
116116
return 0;
117117
} else {
118118
jsunity.run(recoverySuite);
119-
return jsunity.done().status ? 0 : 1;
119+
return jsunity.writeDone().status ? 0 : 1;
120120
}
121121
}

tests/js/server/recovery/collection-keygen.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,6 @@ function main (argv) {
123123
return 0;
124124
} else {
125125
jsunity.run(recoverySuite);
126-
return jsunity.done().status ? 0 : 1;
126+
return jsunity.writeDone().status ? 0 : 1;
127127
}
128128
}

tests/js/server/recovery/collection-properties.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,6 @@ function main (argv) {
129129
return 0;
130130
} else {
131131
jsunity.run(recoverySuite);
132-
return jsunity.done().status ? 0 : 1;
132+
return jsunity.writeDone().status ? 0 : 1;
133133
}
134134
}

tests/js/server/recovery/collection-recreate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,6 @@ function main (argv) {
9696
return 0;
9797
} else {
9898
jsunity.run(recoverySuite);
99-
return jsunity.done().status ? 0 : 1;
99+
return jsunity.writeDone().status ? 0 : 1;
100100
}
101101
}

tests/js/server/recovery/collection-rename-recreate-flush.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,6 @@ function main (argv) {
113113
return 0;
114114
} else {
115115
jsunity.run(recoverySuite);
116-
return jsunity.done().status ? 0 : 1;
116+
return jsunity.writeDone().status ? 0 : 1;
117117
}
118118
}

tests/js/server/recovery/collection-rename-recreate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,6 @@ function main (argv) {
104104
return 0;
105105
} else {
106106
jsunity.run(recoverySuite);
107-
return jsunity.done().status ? 0 : 1;
107+
return jsunity.writeDone().status ? 0 : 1;
108108
}
109109
}

tests/js/server/recovery/collection-rename-with-data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ function main (argv) {
9191
return 0;
9292
} else {
9393
jsunity.run(recoverySuite);
94-
return jsunity.done().status ? 0 : 1;
94+
return jsunity.writeDone().status ? 0 : 1;
9595
}
9696
}

tests/js/server/recovery/collection-rename.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,6 @@ function main (argv) {
126126
return 0;
127127
} else {
128128
jsunity.run(recoverySuite);
129-
return jsunity.done().status ? 0 : 1;
129+
return jsunity.writeDone().status ? 0 : 1;
130130
}
131131
}

tests/js/server/recovery/collection-unload.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,6 @@ function main (argv) {
8888
return 0;
8989
} else {
9090
jsunity.run(recoverySuite);
91-
return jsunity.done().status ? 0 : 1;
91+
return jsunity.writeDone().status ? 0 : 1;
9292
}
9393
}

tests/js/server/recovery/collections-different-attributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,6 @@ function main (argv) {
101101
return 0;
102102
} else {
103103
jsunity.run(recoverySuite);
104-
return jsunity.done().status ? 0 : 1;
104+
return jsunity.writeDone().status ? 0 : 1;
105105
}
106106
}

tests/js/server/recovery/collections-reuse.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,6 @@ function main (argv) {
126126
return 0;
127127
} else {
128128
jsunity.run(recoverySuite);
129-
return jsunity.done().status ? 0 : 1;
129+
return jsunity.writeDone().status ? 0 : 1;
130130
}
131131
}

tests/js/server/recovery/collector-oom.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ function main (argv) {
9191
return 0;
9292
} else {
9393
jsunity.run(recoverySuite);
94-
return jsunity.done().status ? 0 : 1;
94+
return jsunity.writeDone().status ? 0 : 1;
9595
}
9696
}

tests/js/server/recovery/corrupt-wal-marker-multiple.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,6 @@ function main (argv) {
105105
return 0;
106106
} else {
107107
jsunity.run(recoverySuite);
108-
return jsunity.done().status ? 0 : 1;
108+
return jsunity.writeDone().status ? 0 : 1;
109109
}
110110
}

tests/js/server/recovery/corrupt-wal-marker-single-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,6 @@ function main (argv) {
104104
return 0;
105105
} else {
106106
jsunity.run(recoverySuite);
107-
return jsunity.done().status ? 0 : 1;
107+
return jsunity.writeDone().status ? 0 : 1;
108108
}
109109
}

tests/js/server/recovery/corrupted-crc-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,6 @@ function main (argv) {
9292
return 0;
9393
} else {
9494
jsunity.run(recoverySuite);
95-
return jsunity.done().status ? 0 : 1;
95+
return jsunity.writeDone().status ? 0 : 1;
9696
}
9797
}

tests/js/server/recovery/countermanager-delay-rocksdb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,6 @@ function main (argv) {
9898
return 0;
9999
} else {
100100
jsunity.run(recoverySuite);
101-
return jsunity.done().status ? 0 : 1;
101+
return jsunity.writeDone().status ? 0 : 1;
102102
}
103103
}

tests/js/server/recovery/countermanager-sync-rocksdb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,6 @@ function main (argv) {
9292
return 0;
9393
} else {
9494
jsunity.run(recoverySuite);
95-
return jsunity.done().status ? 0 : 1;
95+
return jsunity.writeDone().status ? 0 : 1;
9696
}
9797
}

tests/js/server/recovery/create-and-drop-databases.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,6 @@ function main (argv) {
107107
return 0;
108108
} else {
109109
jsunity.run(recoverySuite);
110-
return jsunity.done().status ? 0 : 1;
110+
return jsunity.writeDone().status ? 0 : 1;
111111
}
112112
}

tests/js/server/recovery/create-collection-fail.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,6 @@ function main (argv) {
104104
return 0;
105105
} else {
106106
jsunity.run(recoverySuite);
107-
return jsunity.done().status ? 0 : 1;
107+
return jsunity.writeDone().status ? 0 : 1;
108108
}
109109
}

tests/js/server/recovery/create-collection-tmpfile-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,6 @@ function main (argv) {
100100
return 0;
101101
} else {
102102
jsunity.run(recoverySuite);
103-
return jsunity.done().status ? 0 : 1;
103+
return jsunity.writeDone().status ? 0 : 1;
104104
}
105105
}

tests/js/server/recovery/create-collections.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,6 @@ function main (argv) {
178178
return 0;
179179
} else {
180180
jsunity.run(recoverySuite);
181-
return jsunity.done().status ? 0 : 1;
181+
return jsunity.writeDone().status ? 0 : 1;
182182
}
183183
}

tests/js/server/recovery/create-database-existing.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ function main (argv) {
9191
return 0;
9292
} else {
9393
jsunity.run(recoverySuite);
94-
return jsunity.done().status ? 0 : 1;
94+
return jsunity.writeDone().status ? 0 : 1;
9595
}
9696
}

tests/js/server/recovery/create-database-fail-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,6 @@ function main (argv) {
103103
return 0;
104104
} else {
105105
jsunity.run(recoverySuite);
106-
return jsunity.done().status ? 0 : 1;
106+
return jsunity.writeDone().status ? 0 : 1;
107107
}
108108
}

tests/js/server/recovery/create-database-recovery.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,6 @@ function main (argv) {
7676
return 0;
7777
} else {
7878
jsunity.run(recoverySuite);
79-
return jsunity.done().status ? 0 : 1;
79+
return jsunity.writeDone().status ? 0 : 1;
8080
}
8181
}

tests/js/server/recovery/create-databases.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,6 @@ function main (argv) {
101101
return 0;
102102
} else {
103103
jsunity.run(recoverySuite);
104-
return jsunity.done().status ? 0 : 1;
104+
return jsunity.writeDone().status ? 0 : 1;
105105
}
106106
}

tests/js/server/recovery/create-indexes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,6 @@ function main (argv) {
115115
return 0;
116116
} else {
117117
jsunity.run(recoverySuite);
118-
return jsunity.done().status ? 0 : 1;
118+
return jsunity.writeDone().status ? 0 : 1;
119119
}
120120
}

tests/js/server/recovery/create-with-temp-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,6 @@ function main (argv) {
8686
return 0;
8787
} else {
8888
jsunity.run(recoverySuite);
89-
return jsunity.done().status ? 0 : 1;
89+
return jsunity.writeDone().status ? 0 : 1;
9090
}
9191
}

tests/js/server/recovery/create-with-temp-old-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,6 @@ function main (argv) {
8686
return 0;
8787
} else {
8888
jsunity.run(recoverySuite);
89-
return jsunity.done().status ? 0 : 1;
89+
return jsunity.writeDone().status ? 0 : 1;
9090
}
9191
}

tests/js/server/recovery/die-during-collector-mmfiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,6 @@ function main (argv) {
111111
return 0;
112112
} else {
113113
jsunity.run(recoverySuite);
114-
return jsunity.done().status ? 0 : 1;
114+
return jsunity.writeDone().status ? 0 : 1;
115115
}
116116
}

tests/js/server/recovery/disk-full-datafile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,6 @@ function main (argv) {
9292
return 0;
9393
} else {
9494
jsunity.run(recoverySuite);
95-
return jsunity.done().status ? 0 : 1;
95+
return jsunity.writeDone().status ? 0 : 1;
9696
}
9797
}

0 commit comments

Comments
 (0)
0