diff --git a/UnitTests/unittest.js b/UnitTests/unittest.js index 3cde66d058..6b1c556430 100644 --- a/UnitTests/unittest.js +++ b/UnitTests/unittest.js @@ -86,6 +86,12 @@ function resultsToXml(results, baseName, cluster) { } let xml = buildXml(); + let total = 0; + + if (current.hasOwnProperty('total')) { + total = current.total; + } + let failuresFound = 0; if (current.hasOwnProperty('failed')) { @@ -95,8 +101,8 @@ function resultsToXml(results, baseName, cluster) { xml.elem("testsuite", { errors: 0, failures: failuresFound, + tests: total, name: clprefix + runName, - tests: current.total, time: current.duration }); diff --git a/js/client/modules/@arangodb/testing.js b/js/client/modules/@arangodb/testing.js index 23305330bb..b2f3ce0b95 100644 --- a/js/client/modules/@arangodb/testing.js +++ b/js/client/modules/@arangodb/testing.js @@ -176,20 +176,37 @@ const makeResults = function(testname) { return function(status, message) { let duration = time() - startTime; + let results; - let results = { - status: status, - duration: duration, - total: 1, - failed: status ? 0 : 1, - 'testing.js': { + if (status) { + let result; + + try { + result = JSON.parse(fs.read("testresult.json")); + + if ((typeof result[0] === 'object') && + result[0].hasOwnProperty('status')) { + results = result[0]; + } + + } catch (x) {} + } + + if (results === undefined) { + results = { status: status, - duration: duration - } - }; + duration: duration, + total: 1, + failed: status ? 0 : 1, + 'testing.js': { + status: status, + duration: duration + } + }; - if (message) { - results['testing.js'].message = message; + if (message) { + results['testing.js'].message = message; + } } let full = {}; @@ -3794,7 +3811,7 @@ function unitTest(cases, options) { _.defaults(options, optionsDefaults); - if (cases === undefined) { + if (cases === undefined || cases.length === 0) { printUsage(); print('FATAL: "which" is undefined\n');