mirror of
https://github.com/shivammathur/setup-php.git
synced 2024-11-22 11:51:07 +07:00
Add PHPUnit problem matcher
This commit is contained in:
parent
1db0b0651d
commit
03f36220f4
24
.github/matchers/phpunit.json
vendored
Normal file
24
.github/matchers/phpunit.json
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "phpunit",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^\\d+\\)\\s.*$"
|
||||
},
|
||||
{
|
||||
"regexp": "^(.*)$",
|
||||
"message": 1
|
||||
},
|
||||
{
|
||||
"regexp": "^\\s*$"
|
||||
},
|
||||
{
|
||||
"regexp": "^(.*):(\\d+)$",
|
||||
"file": 1,
|
||||
"line": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
import * as install from '../src/install';
|
||||
import * as matchers from '../src/matchers';
|
||||
import * as path from 'path';
|
||||
|
||||
/**
|
||||
* Mock install.ts
|
||||
@ -143,4 +145,34 @@ describe('Install', () => {
|
||||
expect(script).toContain('set coverage driver');
|
||||
expect(script).toContain('sh script.sh 7.3 ' + __dirname);
|
||||
});
|
||||
|
||||
describe('Matchers', () => {
|
||||
let originalLogMethod: any;
|
||||
let outputData: any[] = [];
|
||||
|
||||
beforeAll(() => {
|
||||
originalLogMethod = console.log;
|
||||
console['log'] = jest.fn(inputs => outputData.push(inputs));
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
outputData = [];
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
console['log'] = originalLogMethod;
|
||||
});
|
||||
|
||||
it('Add matchers', async () => {
|
||||
matchers.addMatchers();
|
||||
|
||||
expect(outputData).toEqual([
|
||||
`##[add-matcher]${path.join(
|
||||
__dirname,
|
||||
'..',
|
||||
'.github/matchers/phpunit.json'
|
||||
)}`
|
||||
]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -4,6 +4,7 @@ import * as config from './config';
|
||||
import * as coverage from './coverage';
|
||||
import * as extensions from './extensions';
|
||||
import * as utils from './utils';
|
||||
import {addMatchers} from './matchers';
|
||||
|
||||
/**
|
||||
* Build the script
|
||||
@ -63,6 +64,8 @@ export async function run(): Promise<void> {
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
addMatchers();
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
|
10
src/matchers.ts
Normal file
10
src/matchers.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import * as path from 'path';
|
||||
|
||||
/**
|
||||
* Add matches using the Actions Toolkit problem matchers syntax
|
||||
* https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md
|
||||
*/
|
||||
export function addMatchers(): void {
|
||||
const matchersPath = path.join(__dirname, '..', '.github/matchers');
|
||||
console.log(`##[add-matcher]${path.join(matchersPath, 'phpunit.json')}`);
|
||||
}
|
Loading…
Reference in New Issue
Block a user