xunit-file
Advanced tools
Comparing version 0.0.8 to 0.0.9
@@ -76,3 +76,3 @@ /** | ||
runner.on('end', function(){ | ||
var timestampStr = (new Date).toISOString().split('.', 1)[0]; | ||
appendLine(fd, tag('testsuite', { | ||
@@ -84,6 +84,10 @@ name: process.env.SUITE_NAME || 'Mocha Tests' | ||
, skipped: stats.tests - stats.failures - stats.passes | ||
, timestamp: (new Date).toUTCString() | ||
, timestamp: timestampStr | ||
, time: stats.duration / 1000 | ||
}, false)); | ||
if( process.env.XUNIT_LOG_ENV) { | ||
logProperties(fd); | ||
} | ||
tests.forEach(function(test){ | ||
@@ -105,2 +109,55 @@ writeTest(fd, test); | ||
/** | ||
* Writes a list of process and environment variables to the <properties> section in the XML. | ||
*/ | ||
function logProperties(fd) { | ||
var attrs = new Object(); | ||
var properties = "\n"; | ||
properties += logProperty('process.arch', process.arch); | ||
properties += logProperty('process.platform', process.platform); | ||
properties += logProperty('process.memoryUsage', objectToString(process.memoryUsage())); | ||
properties += logProperty('process.cwd', process.cwd()); | ||
properties += logProperty('process.execPath', process.execPath) | ||
properties += logProperty('process.execArgv', process.execArgv.join( ' ')); | ||
properties += logProperty('process.argv', process.argv.join( ' ')); | ||
properties += logProperty('process.version', process.version.replace('"','')); | ||
properties += logProperty('process.versions', objectToString(process.versions)); | ||
properties += logProperty('process.env.PATH', process.env.PATH); | ||
properties += logProperty('process.env.NODE_PATH', process.env.NODE_PATH); | ||
properties += logProperty('process.env.SUITE_NAME', process.env.SUITE_NAME); | ||
properties += logProperty('process.env.XUNIT_FILE', process.env.XUNIT_FILE); | ||
properties += logProperty('process.env.LOG_XUNIT', process.env.LOG_XUNIT); | ||
appendLine(fd, tag('properties', {}, false, properties)); | ||
} | ||
/** | ||
* Formats a single property value. | ||
*/ | ||
function logProperty( name, value) { | ||
return ' ' + tag('property', { name: name, value: value }, true) + '\n'; | ||
} | ||
/** | ||
* Simple utility to convert a flat Object to a readable string. | ||
*/ | ||
function objectToString( obj) { | ||
var arrayString = ''; | ||
if( obj) { | ||
for (var prop in obj) { | ||
var propValue = '' + obj[prop]; | ||
if( arrayString.length > 0) { | ||
arrayString += ', '; | ||
} | ||
arrayString += prop + ": '" + propValue.replace( "'", "\\'") + "'"; | ||
} | ||
} | ||
return '[ ' + arrayString + ']'; | ||
} | ||
/** | ||
* Output tag for the given `test.` | ||
@@ -107,0 +164,0 @@ */ |
{ | ||
"name": "xunit-file", | ||
"description": "Basically the same reporter as mocha's xunit reporter, but writes the output in a file.", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"author": { | ||
@@ -6,0 +6,0 @@ "name": "Matthias Jahn", |
@@ -41,2 +41,30 @@ xunit-file | ||
Set XUNIT_LOG_ENV environment variable, if you want the output process and environment variables in the properties section of the xml file. | ||
``` | ||
$ XUNIT_LOG_ENV=true mocha -R xunit-file | ||
``` | ||
Add the following to the xml report. | ||
```xml | ||
<properties> | ||
<property name="process.arch" value="x64"/> | ||
<property name="process.platform" value="win32"/> | ||
<property name="process.memoryUsage" value="[ rss: '26570752', heapTotal: '17734144', heapUsed: '8982088']"/> | ||
<property name="process.cwd" value="D:\Dev\Demo\git\Demo\DemoApp\build\jsTest"/> | ||
<property name="process.execPath" value="D:\Dev\Demo\git\Demo\DemoApp\build\nodeJs\node-v0.11.10-windows-x64\bin\node.exe"/> | ||
<property name="process.version" value="v0.11.10"/> | ||
<property name="process.versions" value="[ http_parser: '2.2', node: '0.11.10', v8: '3.22.24.10', uv: '0.11.17', zlib: '1.2.3', modules: '13', openssl: '1.0.1e']"/> | ||
... | ||
<property name="process.env.NODE_PATH" value="D:\Dev\Demo\git\Demo\DemoApp\build\jsTest\node_modules"/> | ||
<property name="process.env.SUITE_NAME" value="jsTest.myTest"/> | ||
<property name="process.env.XUNIT_FILE" value="D:\Dev\Demo\git\Demo\DemoApp\build\test-results\TEST-jsTest.myTest.xml"/> | ||
<property name="process.env.LOG_XUNIT" value="undefined"/> | ||
</properties> | ||
``` | ||
# Credits | ||
@@ -43,0 +71,0 @@ This reporter is just the original [xunit reporter](https://github.com/visionmedia/mocha/blob/master/lib/reporters/xunit.js) from mocha only writing the result in an xml file. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
11291
219
75
14