Files
codecov-action/src/buildExec.test.ts
T

152 lines
3.2 KiB
TypeScript
Raw Normal View History

2021-01-02 19:02:52 -05:00
import buildExec from './buildExec';
2021-03-08 19:25:23 -05:00
const github = require('@actions/github');
2021-06-08 11:33:55 -04:00
import VERSION from './version';
2021-06-08 11:33:55 -04:00
2021-03-08 19:25:23 -05:00
const context = github.context;
2021-01-02 17:50:17 -05:00
test('no arguments', () => {
2021-01-02 19:11:49 -05:00
const {execArgs, filepath, failCi} = buildExec();
2021-03-08 19:25:23 -05:00
2021-03-08 19:30:10 -05:00
const args = [
2021-01-02 19:02:52 -05:00
'codecov.sh',
'-n',
'',
'-F',
'',
'-Q',
2021-06-08 11:33:55 -04:00
`github-action-${VERSION}`,
2021-03-08 19:25:23 -05:00
];
if (context.eventName == 'pull_request') {
args.push('-C', `${context.payload.pull_request.head.sha}`);
}
expect(execArgs).toEqual(args);
2021-01-02 17:50:17 -05:00
expect(filepath).toEqual('codecov.sh');
2021-01-02 19:11:49 -05:00
expect(failCi).toBeFalsy();
2021-01-02 17:50:17 -05:00
});
2021-01-02 18:44:08 -05:00
test('all arguments', () => {
const envs = {
2021-01-02 19:02:52 -05:00
'move_coverage_to_trash': 'true',
'commit_parent': '83231650328f11695dfb754ca0f540516f188d27',
'aws_curl_args': '--timeout 1',
'codecov_curl_args': '--timeout 2',
'env_vars': 'OS,PYTHON',
'fail_ci_if_error': 'true',
'file': 'coverage.xml',
'files': 'dir1/coverage.xml,dir2/coverage.xml',
'flags': 'test',
2021-01-02 19:11:49 -05:00
'functionalities':
'gcov,coveragepy,fix,search,code,network,gcovout,html,recursesubs',
2021-01-02 19:02:52 -05:00
'gcov_args': '--timeout 3',
'gcov_root_dr': 'gcov_dir/',
'gcov_path_exclude': '**/exclude-dir/*.*',
'gcov_executable': 'gcov',
'gcov_path_include': '**/include-dir/*.*',
'gcov_prefix': 'demo',
'name': 'codecov',
2021-03-16 09:17:23 -04:00
'network_filter': 'dir1',
2021-01-02 19:02:52 -05:00
'override_branch': 'thomasrockhu/test',
'override_build': '1',
'override_commit': '9caabca5474b49de74ef5667deabaf74cdacc244',
'override_pr': '2',
'override_tag': 'v1.2',
'root_dir': 'root/',
'directory': 'coverage/',
'token': 'd3859757-ab80-4664-924d-aef22fa7557b',
'verbose': 't',
'working-directory': 'src',
'path_to_write_report': 'codecov/',
'xcode_derived_data': '~/Library/Developer/Xcode/DerivedData',
'xcode_package': 'MyApp',
};
2021-01-02 18:44:08 -05:00
2021-01-02 19:02:52 -05:00
for (const env of Object.keys(envs)) {
process.env['INPUT_' + env.toUpperCase()] = envs[env];
2021-01-02 18:44:08 -05:00
}
2021-01-02 19:11:49 -05:00
const {execArgs, filepath, failCi} = buildExec();
2021-01-02 18:44:08 -05:00
expect(execArgs).toEqual([
2021-01-02 19:02:52 -05:00
'src/codecov.sh',
'-n',
'codecov',
'-F',
'test',
'-Q',
2021-06-08 11:33:55 -04:00
`github-action-${VERSION}`,
2021-01-02 19:02:52 -05:00
'-c',
'-N',
'83231650328f11695dfb754ca0f540516f188d27',
'-A',
'--timeout 1',
'-U',
'--timeout 2',
'-e',
'OS,PYTHON',
'-Z',
'-f',
'coverage.xml',
'-f',
'dir1/coverage.xml',
'-f',
'dir2/coverage.xml',
'-X',
'gcov',
'-X',
'coveragepy',
'-X',
'fix',
'-X',
'search',
'-X',
'code',
'-X',
'network',
'-X',
'gcovout',
'-X',
'html',
'-X',
'recursesubs',
'-a',
'--timeout 3',
'-g',
'**/exclude-dir/*.*',
'-x',
'gcov',
'-G',
'**/include-dir/*.*',
'-k',
'demo',
2021-03-16 09:17:23 -04:00
'-i',
'dir1',
2021-01-02 19:02:52 -05:00
'-B',
'thomasrockhu/test',
'-b',
'1',
'-C',
'9caabca5474b49de74ef5667deabaf74cdacc244',
'-P',
'2',
'-T',
'v1.2',
2021-03-06 00:00:33 -08:00
'-R',
2021-01-02 19:02:52 -05:00
'root/',
'-s',
'coverage/',
'-v',
'-q',
'codecov/',
'-D',
'~/Library/Developer/Xcode/DerivedData',
'-J',
'MyApp',
2021-01-02 18:44:08 -05:00
]);
2021-01-02 18:51:07 -05:00
expect(filepath).toEqual('src/codecov.sh');
2021-01-02 19:11:49 -05:00
expect(failCi).toBeTruthy();
2021-01-02 18:44:08 -05:00
2021-01-02 19:02:52 -05:00
for (const env of Object.keys(envs)) {
delete process.env['INPUT_' + env.toUpperCase()];
2021-01-02 18:44:08 -05:00
}
});