mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-09-08 05:44:07 +07:00
Refactor coverage and extension code
This commit is contained in:
@ -2,20 +2,15 @@ import * as coverage from '../src/coverage';
|
||||
|
||||
jest.mock('../src/extensions', () => ({
|
||||
addExtension: jest.fn().mockImplementation(extension => {
|
||||
return 'addExtension ' + extension + '\n';
|
||||
return 'add_extension ' + extension + '\n';
|
||||
})
|
||||
}));
|
||||
|
||||
describe('Config tests', () => {
|
||||
it('checking addCoverage with PCOV on windows', async () => {
|
||||
let win32: string = await coverage.addCoverage('pcov', '7.4', 'win32');
|
||||
expect(win32).toContain('addExtension pcov');
|
||||
expect(win32).toContain(
|
||||
'if(php -m | findstr -i xdebug) { Disable-PhpExtension xdebug $php_dir'
|
||||
);
|
||||
expect(win32).toContain(
|
||||
'if (Test-Path $ext_dir\\php_xdebug.dll) { Remove-Item $ext_dir\\php_xdebug.dll }'
|
||||
);
|
||||
expect(win32).toContain('add_extension pcov');
|
||||
expect(win32).toContain('Remove-Extension xdebug');
|
||||
|
||||
win32 = await coverage.addCoverage('pcov', '7.0', 'win32');
|
||||
expect(win32).toContain('PHP 7.1 or newer is required');
|
||||
@ -26,24 +21,19 @@ describe('Config tests', () => {
|
||||
|
||||
it('checking addCoverage with PCOV on linux', async () => {
|
||||
const linux: string = await coverage.addCoverage('pcov', '7.4', 'linux');
|
||||
expect(linux).toContain('addExtension pcov');
|
||||
expect(linux).toContain('sudo sed -i "/xdebug/d" "$ini_file"');
|
||||
expect(linux).toContain('sudo phpdismod -v 7.4 xdebug');
|
||||
expect(linux).toContain(
|
||||
'sudo DEBIAN_FRONTEND=noninteractive apt-fast remove php-xdebug'
|
||||
);
|
||||
expect(linux).toContain('add_extension pcov');
|
||||
expect(linux).toContain('remove_extension xdebug');
|
||||
});
|
||||
|
||||
it('checking addCoverage with PCOV on darwin', async () => {
|
||||
const darwin: string = await coverage.addCoverage('pcov', '7.4', 'darwin');
|
||||
expect(darwin).toContain('addExtension pcov');
|
||||
expect(darwin).toContain('sudo sed -i \'\' "/xdebug/d" "$ini_file"');
|
||||
expect(darwin).toContain('sudo rm -rf "$ext_dir"/xdebug.so');
|
||||
expect(darwin).toContain('add_extension pcov');
|
||||
expect(darwin).toContain('remove_extension xdebug');
|
||||
});
|
||||
|
||||
it('checking addCoverage with Xdebug on windows', async () => {
|
||||
const win32: string = await coverage.addCoverage('xdebug', '7.4', 'win32');
|
||||
expect(win32).toContain('addExtension xdebug');
|
||||
expect(win32).toContain('add_extension xdebug');
|
||||
});
|
||||
|
||||
it('checking addCoverage with Xdebug on windows', async () => {
|
||||
@ -53,7 +43,7 @@ describe('Config tests', () => {
|
||||
|
||||
it('checking addCoverage with Xdebug on linux', async () => {
|
||||
const linux: string = await coverage.addCoverage('xdebug', '7.4', 'linux');
|
||||
expect(linux).toContain('addExtension xdebug');
|
||||
expect(linux).toContain('add_extension xdebug');
|
||||
});
|
||||
|
||||
it('checking addCoverage with Xdebug on linux', async () => {
|
||||
@ -67,7 +57,7 @@ describe('Config tests', () => {
|
||||
'7.4',
|
||||
'darwin'
|
||||
);
|
||||
expect(darwin).toContain('addExtension xdebug');
|
||||
expect(darwin).toContain('add_extension xdebug');
|
||||
});
|
||||
|
||||
it('checking addCoverage with Xdebug on darwin', async () => {
|
||||
@ -81,33 +71,20 @@ describe('Config tests', () => {
|
||||
|
||||
it('checking disableCoverage windows', async () => {
|
||||
const win32 = await coverage.addCoverage('none', '7.4', 'win32');
|
||||
expect(win32).toContain('Disable-PhpExtension xdebug');
|
||||
expect(win32).toContain('Disable-PhpExtension pcov');
|
||||
expect(win32).toContain(
|
||||
'if (Test-Path $ext_dir\\php_xdebug.dll) { Remove-Item $ext_dir\\php_xdebug.dll }'
|
||||
);
|
||||
expect(win32).toContain(
|
||||
'if (Test-Path $ext_dir\\php_pcov.dll) { Remove-Item $ext_dir\\php_pcov.dll }'
|
||||
);
|
||||
expect(win32).toContain('Remove-Extension xdebug');
|
||||
expect(win32).toContain('Remove-Extension pcov');
|
||||
});
|
||||
|
||||
it('checking disableCoverage on linux', async () => {
|
||||
const linux: string = await coverage.addCoverage('none', '7.4', 'linux');
|
||||
expect(linux).toContain('sudo phpdismod -v 7.4 xdebug');
|
||||
expect(linux).toContain('sudo phpdismod -v 7.4 pcov');
|
||||
expect(linux).toContain('sudo sed -i "/xdebug/d" "$ini_file"');
|
||||
expect(linux).toContain('sudo sed -i "/pcov/d" "$ini_file"');
|
||||
expect(linux).toContain(
|
||||
'sudo DEBIAN_FRONTEND=noninteractive apt-fast remove php-xdebug php-pcov'
|
||||
);
|
||||
expect(linux).toContain('remove_extension xdebug');
|
||||
expect(linux).toContain('remove_extension pcov');
|
||||
});
|
||||
|
||||
it('checking disableCoverage on darwin', async () => {
|
||||
const darwin: string = await coverage.addCoverage('none', '7.4', 'darwin');
|
||||
expect(darwin).toContain('sudo sed -i \'\' "/xdebug/d" "$ini_file"');
|
||||
expect(darwin).toContain('sudo sed -i \'\' "/pcov/d" "$ini_file"');
|
||||
expect(darwin).toContain('sudo rm -rf "$ext_dir"/xdebug.so');
|
||||
expect(darwin).toContain('sudo rm -rf "$ext_dir"/pcov.so');
|
||||
expect(darwin).toContain('remove_extension xdebug');
|
||||
expect(darwin).toContain('remove_extension pcov');
|
||||
});
|
||||
|
||||
it('checking no or invalid coverage driver', async () => {
|
||||
|
@ -9,7 +9,7 @@ describe('Extension tests', () => {
|
||||
);
|
||||
expect(win32).toContain('Add-Extension xdebug');
|
||||
expect(win32).toContain('Add-Extension pcov');
|
||||
expect(win32).toContain('Add-Phalcon phalcon4');
|
||||
expect(win32).toContain('phalcon.ps1 phalcon4');
|
||||
|
||||
win32 = await extensions.addExtension(
|
||||
'phalcon3, does_not_exist',
|
||||
@ -17,7 +17,7 @@ describe('Extension tests', () => {
|
||||
'win32',
|
||||
true
|
||||
);
|
||||
expect(win32).toContain('Add-Phalcon phalcon3');
|
||||
expect(win32).toContain('phalcon.ps1 phalcon3');
|
||||
expect(win32).toContain('Add-Extension does_not_exist');
|
||||
|
||||
win32 = await extensions.addExtension('xdebug', '7.2', 'fedora');
|
||||
@ -80,10 +80,10 @@ describe('Extension tests', () => {
|
||||
expect(darwin).toContain('sudo pecl install pcov');
|
||||
|
||||
darwin = await extensions.addExtension('phalcon3', '7.0', 'darwin');
|
||||
expect(darwin).toContain('add_phalcon phalcon3');
|
||||
expect(darwin).toContain('phalcon_darwin.sh phalcon3');
|
||||
|
||||
darwin = await extensions.addExtension('phalcon4', '7.3', 'darwin');
|
||||
expect(darwin).toContain('add_phalcon phalcon4');
|
||||
expect(darwin).toContain('phalcon_darwin.sh phalcon4');
|
||||
|
||||
darwin = await extensions.addExtension('pcov', '5.6', 'darwin');
|
||||
expect(darwin).toContain('sudo pecl install pcov');
|
||||
|
@ -47,8 +47,7 @@ jest.mock('../src/install', () => ({
|
||||
}
|
||||
case 'win32':
|
||||
script = await install.build(os_version + '.sh', version, os_version);
|
||||
script +=
|
||||
'pwsh script.ps1 -version ' + version + ' -dir ' + __dirname;
|
||||
script += 'pwsh script.ps1 ' + version + ' ' + __dirname;
|
||||
break;
|
||||
default:
|
||||
script += os_version + ' is not supported';
|
||||
@ -90,13 +89,13 @@ describe('Install', () => {
|
||||
// @ts-ignore
|
||||
let script: string = await install.run();
|
||||
expect(script).toContain('initial script');
|
||||
expect(script).toContain('pwsh script.ps1 -version 7.0 -dir ' + __dirname);
|
||||
expect(script).toContain('pwsh script.ps1 7.0 ' + __dirname);
|
||||
|
||||
setEnv('7.3', 'win32', '', '', '', '');
|
||||
// @ts-ignore
|
||||
script = await install.run();
|
||||
expect(script).toContain('initial script');
|
||||
expect(script).toContain('pwsh script.ps1 -version 7.3 -dir ' + __dirname);
|
||||
expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
|
||||
|
||||
setEnv('7.3', 'win32', 'a, b', 'a=b', 'x', '');
|
||||
// @ts-ignore
|
||||
@ -105,7 +104,7 @@ describe('Install', () => {
|
||||
expect(script).toContain('install extensions');
|
||||
expect(script).toContain('edit php.ini');
|
||||
expect(script).toContain('set coverage driver');
|
||||
expect(script).toContain('pwsh script.ps1 -version 7.3 -dir ' + __dirname);
|
||||
expect(script).toContain('pwsh script.ps1 7.3 ' + __dirname);
|
||||
});
|
||||
|
||||
it('Test install on linux', async () => {
|
||||
|
Reference in New Issue
Block a user