build: convert nodejs tap output to junit and store in circleci as test results
This commit is contained in:
parent
cf2103d6e9
commit
60821c8ab0
4 changed files with 69 additions and 9 deletions
|
@ -936,7 +936,9 @@ steps-test-node: &steps-test-node
|
||||||
command: |
|
command: |
|
||||||
cd src
|
cd src
|
||||||
export ELECTRON_OUT_DIR=Default
|
export ELECTRON_OUT_DIR=Default
|
||||||
node electron/script/node-spec-runner.js
|
node electron/script/node-spec-runner.js junit
|
||||||
|
- store_test_results:
|
||||||
|
path: src/junit
|
||||||
|
|
||||||
chromium-upgrade-branches: &chromium-upgrade-branches
|
chromium-upgrade-branches: &chromium-upgrade-branches
|
||||||
/chromium\-upgrade\/[0-9]+/
|
/chromium\-upgrade\/[0-9]+/
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
"shx": "^0.3.2",
|
"shx": "^0.3.2",
|
||||||
"standard-markdown": "^5.0.0",
|
"standard-markdown": "^5.0.0",
|
||||||
"sumchecker": "^2.0.2",
|
"sumchecker": "^2.0.2",
|
||||||
|
"tap-xunit": "^2.4.1",
|
||||||
"temp": "^0.8.3",
|
"temp": "^0.8.3",
|
||||||
"timers-browserify": "1.4.2",
|
"timers-browserify": "1.4.2",
|
||||||
"ts-loader": "^6.0.2",
|
"ts-loader": "^6.0.2",
|
||||||
|
@ -124,4 +125,4 @@
|
||||||
"git add filenames.auto.gni"
|
"git add filenames.auto.gni"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,8 @@ const path = require('path')
|
||||||
const BASE = path.resolve(__dirname, '../..')
|
const BASE = path.resolve(__dirname, '../..')
|
||||||
const NODE_DIR = path.resolve(BASE, 'third_party', 'electron_node')
|
const NODE_DIR = path.resolve(BASE, 'third_party', 'electron_node')
|
||||||
const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx'
|
const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx'
|
||||||
|
const JUNIT_DIR = process.argv[2] ? path.resolve(process.argv[2]) : null
|
||||||
|
const TAP_FILE_NAME = 'test.tap'
|
||||||
|
|
||||||
const utils = require('./lib/utils')
|
const utils = require('./lib/utils')
|
||||||
const { YARN_VERSION } = require('./yarn')
|
const { YARN_VERSION } = require('./yarn')
|
||||||
|
@ -16,7 +18,7 @@ if (!process.mainModule) {
|
||||||
async function main () {
|
async function main () {
|
||||||
const DISABLED_TESTS = require('./node-disabled-tests.json')
|
const DISABLED_TESTS = require('./node-disabled-tests.json')
|
||||||
|
|
||||||
const testChild = cp.spawn('python', ['tools/test.py', '--verbose', '-p', 'tap', '--logfile', 'test.tap', '--mode=debug', 'default', `--skip-tests=${DISABLED_TESTS.join(',')}`, '--shell', utils.getAbsoluteElectronExec(), '-J'], {
|
const testChild = cp.spawn('python', ['tools/test.py', '--verbose', '-p', 'tap', '--logfile', TAP_FILE_NAME, '--mode=debug', 'default', `--skip-tests=${DISABLED_TESTS.join(',')}`, '--shell', utils.getAbsoluteElectronExec(), '-J'], {
|
||||||
env: {
|
env: {
|
||||||
...process.env,
|
...process.env,
|
||||||
ELECTRON_RUN_AS_NODE: 'true'
|
ELECTRON_RUN_AS_NODE: 'true'
|
||||||
|
@ -25,7 +27,17 @@ async function main () {
|
||||||
stdio: 'inherit'
|
stdio: 'inherit'
|
||||||
})
|
})
|
||||||
testChild.on('exit', (testCode) => {
|
testChild.on('exit', (testCode) => {
|
||||||
process.exit(testCode)
|
if (JUNIT_DIR) {
|
||||||
|
fs.mkdirSync(JUNIT_DIR)
|
||||||
|
const converterStream = require('tap-xunit')()
|
||||||
|
fs.createReadStream(
|
||||||
|
path.resolve(NODE_DIR, TAP_FILE_NAME)
|
||||||
|
).pipe(converterStream).pipe(
|
||||||
|
fs.createWriteStream(path.resolve(JUNIT_DIR, 'nodejs.xml'))
|
||||||
|
).on('close', () => {
|
||||||
|
process.exit(testCode)
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
55
yarn.lock
55
yarn.lock
|
@ -1865,6 +1865,11 @@ duplexer3@^0.1.4:
|
||||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||||
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
||||||
|
|
||||||
|
duplexer@~0.1.1:
|
||||||
|
version "0.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
|
||||||
|
integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
|
||||||
|
|
||||||
duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0:
|
duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0:
|
||||||
version "3.7.1"
|
version "3.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
|
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
|
||||||
|
@ -2293,6 +2298,11 @@ etag@~1.8.1:
|
||||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||||
|
|
||||||
|
events-to-array@^1.0.1:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6"
|
||||||
|
integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=
|
||||||
|
|
||||||
events@^3.0.0:
|
events@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
|
resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
|
||||||
|
@ -3759,7 +3769,7 @@ js-tokens@^3.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
|
||||||
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
|
||||||
|
|
||||||
js-yaml@^3.11.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1:
|
js-yaml@^3.11.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.2.7, js-yaml@^3.6.1:
|
||||||
version "3.13.1"
|
version "3.13.1"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||||
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
||||||
|
@ -4072,6 +4082,11 @@ lodash.uniq@^4.5.0:
|
||||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||||
|
|
||||||
|
lodash@^4.0.0:
|
||||||
|
version "4.17.15"
|
||||||
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||||
|
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||||
|
|
||||||
lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
|
lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
|
||||||
version "4.17.14"
|
version "4.17.14"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
|
||||||
|
@ -4416,7 +4431,7 @@ minimist@0.0.8:
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
|
||||||
|
|
||||||
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0:
|
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
|
||||||
|
@ -5537,7 +5552,7 @@ read-pkg@^5.1.1:
|
||||||
parse-json "^4.0.0"
|
parse-json "^4.0.0"
|
||||||
type-fest "^0.4.1"
|
type-fest "^0.4.1"
|
||||||
|
|
||||||
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
|
"readable-stream@1 || 2", readable-stream@^2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
|
||||||
version "2.3.6"
|
version "2.3.6"
|
||||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
|
||||||
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
|
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
|
||||||
|
@ -6994,6 +7009,29 @@ table@^5.2.3:
|
||||||
slice-ansi "^2.1.0"
|
slice-ansi "^2.1.0"
|
||||||
string-width "^3.0.0"
|
string-width "^3.0.0"
|
||||||
|
|
||||||
|
tap-parser@~1.2.2:
|
||||||
|
version "1.2.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-1.2.2.tgz#5e2f6970611f079c7cf857de1dc7aa1b480de7a5"
|
||||||
|
integrity sha1-Xi9pcGEfB5x8+FfeHceqG0gN56U=
|
||||||
|
dependencies:
|
||||||
|
events-to-array "^1.0.1"
|
||||||
|
inherits "~2.0.1"
|
||||||
|
js-yaml "^3.2.7"
|
||||||
|
optionalDependencies:
|
||||||
|
readable-stream "^2"
|
||||||
|
|
||||||
|
tap-xunit@^2.4.1:
|
||||||
|
version "2.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/tap-xunit/-/tap-xunit-2.4.1.tgz#9823797b676ae5017f4e380bd70abb893b8e120e"
|
||||||
|
integrity sha512-qcZStDtjjYjMKAo7QNiCtOW256g3tuSyCSe5kNJniG1Q2oeOExJq4vm8CwboHZURpkXAHvtqMl4TVL7mcbMVVA==
|
||||||
|
dependencies:
|
||||||
|
duplexer "~0.1.1"
|
||||||
|
minimist "~1.2.0"
|
||||||
|
tap-parser "~1.2.2"
|
||||||
|
through2 "~2.0.0"
|
||||||
|
xmlbuilder "~4.2.0"
|
||||||
|
xtend "~4.0.0"
|
||||||
|
|
||||||
tapable@^1.0.0, tapable@^1.1.0:
|
tapable@^1.0.0, tapable@^1.1.0:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
||||||
|
@ -7078,7 +7116,7 @@ throttleit@0.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
|
resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
|
||||||
integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8=
|
integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8=
|
||||||
|
|
||||||
through2@^2.0.0, through2@^2.0.3:
|
through2@^2.0.0, through2@^2.0.3, through2@~2.0.0:
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
|
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
|
||||||
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
|
||||||
|
@ -7826,7 +7864,14 @@ x-is-string@^0.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
|
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
|
||||||
integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
|
integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
|
||||||
|
|
||||||
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
|
xmlbuilder@~4.2.0:
|
||||||
|
version "4.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
|
||||||
|
integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=
|
||||||
|
dependencies:
|
||||||
|
lodash "^4.0.0"
|
||||||
|
|
||||||
|
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||||
|
|
Loading…
Reference in a new issue