Skip to content

Commit b0fd011

Browse files
Generate code coverage reports for packages (#4946)
Add a `yarn coverage` command to packages to generate coverage reports. Coverage is not yet automated in CI.
1 parent 7c51376 commit b0fd011

22 files changed

+1180
-605
lines changed

e2e/karma.conf.js

+8
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ const karmaTypescriptConfig = {
3232
}
3333
};
3434

35+
// Enable coverage reports and instrumentation under KARMA_COVERAGE=1 env
36+
const coverageEnabled = !!process.env.KARMA_COVERAGE;
37+
if (coverageEnabled) {
38+
karmaTypescriptConfig.coverageOptions.instrumentation = true;
39+
karmaTypescriptConfig.coverageOptions.exclude = /_test\.ts$/;
40+
karmaTypescriptConfig.reports = {html: 'coverage', 'text-summary': ''};
41+
}
42+
3543
const devConfig = {
3644
frameworks: ['jasmine', 'karma-typescript'],
3745
files: [

e2e/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"lint": "tslint -p . -t verbose",
6666
"run-browserstack": "karma start --browserstack",
6767
"test": "./scripts/test.sh",
68+
"coverage": "KARMA_COVERAGE=1 ./scripts/test.sh",
6869
"test-ci": "./scripts/test-ci.sh",
6970
"update-dependency": "ts-node ./scripts/update-dependency.ts"
7071
},

tfjs-automl/karma.conf.js

+12
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ const karmaTypescriptConfig = {
3535
}
3636
};
3737

38+
// Enable coverage reports and instrumentation under KARMA_COVERAGE=1 env
39+
const coverageEnabled = !!process.env.KARMA_COVERAGE;
40+
if (coverageEnabled) {
41+
karmaTypescriptConfig.coverageOptions.instrumentation = true;
42+
karmaTypescriptConfig.coverageOptions.exclude = [
43+
/test_browser\.ts/,
44+
/test_util\.ts/,
45+
/_test\.ts/
46+
];
47+
karmaTypescriptConfig.reports = {html: 'coverage', 'text-summary': ''};
48+
}
49+
3850
module.exports = function(config) {
3951
const args = [];
4052
if (config.testEnv) {

tfjs-automl/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"test": "yarn && yarn build && karma start",
1414
"test-dev": "karma start",
1515
"test-node": "tsc && ts-node --transpile-only --skip-ignore --project tsconfig.test.json src/test_node.ts",
16+
"coverage": "KARMA_COVERAGE=1 karma start --singleRun",
1617
"run-flaky": "node ../scripts/run_flaky.js",
1718
"run-browserstack": "karma start --singleRun --reporters='dots,karma-typescript,BrowserStack' --hostname='bs-local.com'",
1819
"test-ci": "./scripts/test-ci.sh",

tfjs-backend-cpu/.nycrc

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extension": [
3+
".ts"
4+
],
5+
"reporter": [
6+
"html",
7+
"text-summary"
8+
],
9+
"include": [
10+
"src/**/*"
11+
],
12+
"exclude": [
13+
"src/run_tests.ts",
14+
"src/**/*_test.ts"
15+
],
16+
"cache": false,
17+
"sourceMap": true,
18+
"instrument": true
19+
}

tfjs-backend-cpu/package.json

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"karma-jasmine": "~1.1.0",
3434
"karma-typescript": "~5.5.1",
3535
"npm-run-all": "~4.1.3",
36+
"nyc": "^15.1.0",
3637
"rimraf": "~2.6.2",
3738
"rollup": "~2.3.2",
3839
"rollup-plugin-terser": "~5.3.0",
@@ -57,6 +58,7 @@
5758
"publish-local": "rimraf dist/ && yarn build && rollup -c && yalc push",
5859
"publish-npm": "npm publish",
5960
"lint": "tslint -p . -t verbose",
61+
"coverage": "yarn nyc yarn ts-node --transpile-only -P tsconfig.test.json src/run_tests.ts",
6062
"test": "yarn && yarn build-deps && yarn build && ts-node --transpile-only --project tsconfig.test.json src/run_tests.ts",
6163
"test-dev": "tsc && ts-node --transpile-only --project tsconfig.test.json src/run_tests.ts",
6264
"test-ci": "ts-node --transpile-only --skip-ignore --project tsconfig.test.json src/run_tests.ts"

0 commit comments

Comments
 (0)