Merge pull request #84 from decnorton/develop

Add problem matcher for PHPUnit
This commit is contained in:
Shivam Mathur 2019-12-19 02:18:02 +05:30 committed by GitHub
commit 8039546df3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 69 additions and 0 deletions

24
.github/matchers/phpunit.json vendored Normal file
View File

@ -0,0 +1,24 @@
{
"problemMatcher": [
{
"owner": "phpunit",
"pattern": [
{
"regexp": "^\\d+\\)\\s.*$"
},
{
"regexp": "^(.*)$",
"message": 1
},
{
"regexp": "^\\s*$"
},
{
"regexp": "^(.*):(\\d+)$",
"file": 1,
"line": 2
}
]
}
]
}

View File

@ -1,4 +1,6 @@
import * as install from '../src/install';
import * as matchers from '../src/matchers';
import * as path from 'path';
/**
* Mock install.ts
@ -150,4 +152,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'
)}`
]);
});
});
});

View File

@ -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
@ -68,6 +69,8 @@ export async function run(): Promise<void> {
);
break;
}
addMatchers();
} catch (error) {
core.setFailed(error.message);
}

10
src/matchers.ts Normal file
View 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')}`);
}