From a8c7e09c5b0315230482036bc92827a4ca4e281c Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Fri, 19 Jun 2020 14:47:34 +0530 Subject: [PATCH] Fix Xdebug coverage --- __tests__/coverage.test.ts | 6 ++++++ dist/index.js | 14 ++++++++------ src/coverage.ts | 31 ++++++++++++++++++------------- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/__tests__/coverage.test.ts b/__tests__/coverage.test.ts index 30ab8ca1..3033d773 100644 --- a/__tests__/coverage.test.ts +++ b/__tests__/coverage.test.ts @@ -41,6 +41,12 @@ describe('Config tests', () => { expect(linux).toContain('add_extension xdebug'); }); + it('checking addCoverage with Xdebug on linux', async () => { + const linux: string = await coverage.addCoverage('xdebug', '8.0', 'linux'); + expect(linux).toContain('add_extension xdebug'); + expect(linux).toContain('echo "xdebug.mode=coverage"'); + }); + it('checking addCoverage with Xdebug on darwin', async () => { const darwin: string = await coverage.addCoverage( 'xdebug', diff --git a/dist/index.js b/dist/index.js index 3bbbd003..254b8440 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2147,13 +2147,15 @@ const config = __importStar(__webpack_require__(641)); * @param pipe */ async function addCoverageXdebug(version, os_version, pipe) { - switch (version) { - case '7.4': + const xdebug = (await extensions.addExtension('xdebug', version, os_version, true)) + pipe; + const ini = await config.addINIValues('xdebug.mode=coverage', os_version, true); + const log = await utils.addLog('$tick', 'xdebug', 'Xdebug enabled as coverage driver', os_version); + switch (true) { + case /8.[0-9]/.test(version): + return xdebug + '\n' + ini + '\n' + log; + case /5\.[3-6]|7.[0-4]/.test(version): default: - return ((await extensions.addExtension('xdebug', version, os_version, true)) + - pipe + - '\n' + - (await utils.addLog('$tick', 'xdebug', 'Xdebug enabled as coverage driver', os_version))); + return xdebug + '\n' + log; } } exports.addCoverageXdebug = addCoverageXdebug; diff --git a/src/coverage.ts b/src/coverage.ts index d46c11fd..9b839edb 100644 --- a/src/coverage.ts +++ b/src/coverage.ts @@ -14,20 +14,25 @@ export async function addCoverageXdebug( os_version: string, pipe: string ): Promise { - switch (version) { - case '7.4': + const xdebug = + (await extensions.addExtension('xdebug', version, os_version, true)) + pipe; + const ini = await config.addINIValues( + 'xdebug.mode=coverage', + os_version, + true + ); + const log = await utils.addLog( + '$tick', + 'xdebug', + 'Xdebug enabled as coverage driver', + os_version + ); + switch (true) { + case /8.[0-9]/.test(version): + return xdebug + '\n' + ini + '\n' + log; + case /5\.[3-6]|7.[0-4]/.test(version): default: - return ( - (await extensions.addExtension('xdebug', version, os_version, true)) + - pipe + - '\n' + - (await utils.addLog( - '$tick', - 'xdebug', - 'Xdebug enabled as coverage driver', - os_version - )) - ); + return xdebug + '\n' + log; } }