Update jest config for coverage (#64648)

* set files to track for coverage collection

* increase timeout to 4h

* trying to add detectOpenHandles to avoid worker stuck

* update config

* make config paths more common

* update configs

* update jest oss config

* exclude 'tests' folder for coverage
This commit is contained in:
Dmitry Lemeshko 2020-04-29 20:00:14 +03:00 committed by GitHub
parent f8e01bd3a1
commit bac638a37e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 2 deletions

View file

@ -3,7 +3,7 @@
library 'kibana-pipeline-library'
kibanaLibrary.load() // load from the Jenkins instance
kibanaPipeline(timeoutMinutes: 180) {
kibanaPipeline(timeoutMinutes: 240) {
catchErrors {
withEnv([
'CODE_COVERAGE=1', // Needed for multiple ci scripts, such as remote.ts, test/scripts/*.sh, schema.js, etc.

View file

@ -40,6 +40,7 @@ export default {
],
collectCoverageFrom: [
'src/plugins/**/*.{ts,tsx}',
'!src/plugins/**/{__test__,__snapshots__,__examples__,mocks,tests}/**/*',
'!src/plugins/**/*.d.ts',
'packages/kbn-ui-framework/src/components/**/*.js',
'!packages/kbn-ui-framework/src/components/index.js',

View file

@ -39,7 +39,7 @@ else
# build runtime for canvas
echo "NODE_ENV=$NODE_ENV"
node ./legacy/plugins/canvas/scripts/shareable_runtime
node --max-old-space-size=6144 scripts/jest --ci --verbose --coverage
node --max-old-space-size=6144 scripts/jest --ci --verbose --detectOpenHandles --coverage
# rename file in order to be unique one
test -f ../target/kibana-coverage/jest/coverage-final.json \
&& mv ../target/kibana-coverage/jest/coverage-final.json \

View file

@ -34,6 +34,20 @@ export function createJestConfig({ kibanaDirectory, xPackKibanaDirectory }) {
'^test_utils/stub_web_worker': `${xPackKibanaDirectory}/test_utils/stub_web_worker.ts`,
'^(!!)?file-loader!': fileMockPath,
},
collectCoverageFrom: [
'legacy/plugins/**/*.{js,jsx,ts,tsx}',
'legacy/server/**/*.{js,jsx,ts,tsx}',
'plugins/**/*.{js,jsx,ts,tsx}',
'!**/{__test__,__snapshots__,__examples__,integration_tests,tests}/**',
'!**/*.test.{js,ts,tsx}',
'!**/flot-charts/**',
'!**/test/**',
'!**/build/**',
'!**/scripts/**',
'!**/mocks/**',
'!**/plugins/apm/e2e/**',
],
coveragePathIgnorePatterns: ['.*\\.d\\.ts'],
coverageDirectory: '<rootDir>/../target/kibana-coverage/jest',
coverageReporters: !!process.env.CODE_COVERAGE ? ['json'] : ['html'],
setupFiles: [