From a35f5a1945a17b56b3567f8cd7ebc7ca3d57b1a1 Mon Sep 17 00:00:00 2001 From: Billyyyyy3320 Date: Mon, 30 Dec 2019 14:50:37 +0800 Subject: [PATCH 1/3] fix: fail to test specific package --- packages/@vuepress/test-utils/lib/createJestRunner.js | 10 ++++++++-- scripts/test.js | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/@vuepress/test-utils/lib/createJestRunner.js b/packages/@vuepress/test-utils/lib/createJestRunner.js index 0456e0482b..484f9b3019 100644 --- a/packages/@vuepress/test-utils/lib/createJestRunner.js +++ b/packages/@vuepress/test-utils/lib/createJestRunner.js @@ -1,9 +1,15 @@ const execa = require('execa') -const rawArgs = process.argv.slice(2) const usedPorts = [] -module.exports = function createJestRunner (jestArgs) { +/** + * Run jest + * + * @param {array} jestArgs an array of Jest CLI options + * @param {array} rawArgs the processed process.argv - contains '--inspect-brk' for debug + */ + +module.exports = function createJestRunner (jestArgs, rawArgs) { return async function () { const execArgv = getChildProcesExecArgv() const args = [...execArgv, ...jestArgs] diff --git a/scripts/test.js b/scripts/test.js index f5ee8cc981..8e4c10cef1 100644 --- a/scripts/test.js +++ b/scripts/test.js @@ -8,7 +8,7 @@ const args = minimist(rawArgs) let regex if (args.p) { const packages = (args.p || args.package).split(',').join('|') - regex = `.*@vuepress/(${packages}|plugin-(${packages}))/.*\\.spec\\.js$` + regex = `.*@vuepress/(${packages}|plugin-(${packages}))/.*\\.spec\\.(js|ts)$` const i = rawArgs.indexOf('-p') rawArgs.splice(i, 2) } @@ -17,7 +17,7 @@ const jestRunner = createJestRunner([ '--config', 'scripts/jest.config.js', '--runInBand', ...(regex ? [regex] : []) -]) +], rawArgs) // ensure the basic temp files were generated createApp({ From 0e88b6e6563ae33d29b021c3dc6ea3c26ffacdae Mon Sep 17 00:00:00 2001 From: Billyyyyy3320 Date: Mon, 30 Dec 2019 14:51:24 +0800 Subject: [PATCH 2/3] chore: fix typo --- packages/@vuepress/test-utils/lib/createJestRunner.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vuepress/test-utils/lib/createJestRunner.js b/packages/@vuepress/test-utils/lib/createJestRunner.js index 484f9b3019..eedc38c89f 100644 --- a/packages/@vuepress/test-utils/lib/createJestRunner.js +++ b/packages/@vuepress/test-utils/lib/createJestRunner.js @@ -11,7 +11,7 @@ const usedPorts = [] module.exports = function createJestRunner (jestArgs, rawArgs) { return async function () { - const execArgv = getChildProcesExecArgv() + const execArgv = getChildProcessExecArgv() const args = [...execArgv, ...jestArgs] console.log(`running node with args: ${args.join(' ')}`) args.unshift(...rawArgs, require.resolve('jest-cli/bin/jest')) @@ -21,7 +21,7 @@ module.exports = function createJestRunner (jestArgs, rawArgs) { } } -function getChildProcesExecArgv () { +function getChildProcessExecArgv () { const execArgv = process.execArgv.slice(0) const inspectArgvIndex = execArgv.findIndex(argv => argv.includes('--inspect-brk') From 6547f8eaf9edadc919d292a5a1874037f4e72df0 Mon Sep 17 00:00:00 2001 From: Billyyyyy3320 Date: Mon, 30 Dec 2019 15:40:43 +0800 Subject: [PATCH 3/3] feat: change createJestRunner argument --- packages/@vuepress/test-utils/lib/createJestRunner.js | 8 ++++---- scripts/test.js | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/@vuepress/test-utils/lib/createJestRunner.js b/packages/@vuepress/test-utils/lib/createJestRunner.js index eedc38c89f..56f57e8e8e 100644 --- a/packages/@vuepress/test-utils/lib/createJestRunner.js +++ b/packages/@vuepress/test-utils/lib/createJestRunner.js @@ -6,15 +6,15 @@ const usedPorts = [] * Run jest * * @param {array} jestArgs an array of Jest CLI options - * @param {array} rawArgs the processed process.argv - contains '--inspect-brk' for debug + * @param {array} debug whether start with '--inspect-brk' or not */ -module.exports = function createJestRunner (jestArgs, rawArgs) { +module.exports = function createJestRunner (jestArgs, debug) { return async function () { const execArgv = getChildProcessExecArgv() - const args = [...execArgv, ...jestArgs] + const args = [require.resolve('jest-cli/bin/jest'), ...execArgv, ...jestArgs] + if (debug) args.unshift('--inspect-brk') console.log(`running node with args: ${args.join(' ')}`) - args.unshift(...rawArgs, require.resolve('jest-cli/bin/jest')) await execa('node', args, { stdio: 'inherit' }) diff --git a/scripts/test.js b/scripts/test.js index 8e4c10cef1..686ba37e64 100644 --- a/scripts/test.js +++ b/scripts/test.js @@ -6,6 +6,8 @@ const rawArgs = process.argv.slice(2) const args = minimist(rawArgs) let regex +const debug = !!args['inspect-brk'] + if (args.p) { const packages = (args.p || args.package).split(',').join('|') regex = `.*@vuepress/(${packages}|plugin-(${packages}))/.*\\.spec\\.(js|ts)$` @@ -17,7 +19,7 @@ const jestRunner = createJestRunner([ '--config', 'scripts/jest.config.js', '--runInBand', ...(regex ? [regex] : []) -], rawArgs) +], debug) // ensure the basic temp files were generated createApp({