Skip to content

Commit ae904d5

Browse files
obecnymayurkale22
authored andcommitted
chore: fixing coverage for karma using istanbul (open-telemetry#466)
1 parent 173cab2 commit ae904d5

File tree

17 files changed

+63
-130
lines changed

17 files changed

+63
-130
lines changed

karma.base.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@ module.exports = {
1919
hostname: 'localhost',
2020
browsers: ['ChromeHeadless'],
2121
frameworks: ['mocha'],
22-
reporters: ['spec'],
22+
coverageIstanbulReporter: {
23+
reports: ['json'],
24+
dir: '.nyc_output',
25+
fixWebpackSourcePaths: true
26+
},
27+
reporters: ['spec', 'coverage-istanbul'],
2328
files: ['test/index-webpack.ts'],
2429
preprocessors: { 'test/index-webpack.ts': ['webpack'] },
2530
webpackMiddleware: { noInfo: true }

packages/opentelemetry-core/webpack/test.config.js renamed to karma.webpack.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
* limitations under the License.
1515
*/
1616

17-
const webpackNodePolyfills = require('../../../webpack.node-polyfills.js');
17+
const webpackNodePolyfills = require('./webpack.node-polyfills.js');
1818

19-
// This is the webpack configuration for browser Karma tests.
19+
// This is the webpack configuration for browser Karma tests with coverage.
2020
module.exports = {
2121
mode: 'development',
2222
target: 'web',
@@ -26,6 +26,15 @@ module.exports = {
2626
module: {
2727
rules: [
2828
{ test: /\.ts$/, use: 'ts-loader' },
29+
{
30+
enforce: 'post',
31+
exclude: /(node_modules|\.test\.[tj]sx?$)/,
32+
test: /\.ts$/,
33+
use: {
34+
loader: 'istanbul-instrumenter-loader',
35+
options: { esModules: true }
36+
}
37+
},
2938
// This setting configures Node polyfills for the browser that will be
3039
// added to the webpack bundle for Karma tests.
3140
{ parser: { node: webpackNodePolyfills } }

packages/opentelemetry-core/karma.conf.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
const webpackConfig = require('./webpack/test.config.js');
17+
const karmaWebpackConfig = require('../../karma.webpack');
1818
const karmaBaseConfig = require('../../karma.base');
1919

2020
module.exports = (config) => {
2121
config.set(Object.assign({}, karmaBaseConfig, {
22-
webpack: webpackConfig
22+
webpack: karmaWebpackConfig
2323
}))
2424
};

packages/opentelemetry-core/package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@
1111
"repository": "open-telemetry/opentelemetry-js",
1212
"scripts": {
1313
"test": "nyc ts-mocha -p tsconfig.json test/**/*.ts",
14-
"test:browser": "karma start --single-run",
14+
"test:browser": "nyc karma start --single-run",
1515
"tdd": "yarn tdd:node",
1616
"tdd:node": "yarn test -- --watch-extensions ts --watch",
1717
"tdd:browser": "karma start",
1818
"codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../",
19+
"codecov:browser": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../",
1920
"clean": "rimraf build/*",
2021
"check": "gts check",
2122
"compile": "tsc -p .",
@@ -53,20 +54,22 @@
5354
"@types/webpack-env": "1.13.9",
5455
"codecov": "^3.1.0",
5556
"gts": "^1.0.0",
56-
"karma": "^4.1.0",
57+
"istanbul-instrumenter-loader": "^3.0.1",
58+
"karma": "^4.4.1",
5759
"karma-chrome-launcher": "^3.1.0",
60+
"karma-coverage-istanbul-reporter": "^2.1.0",
5861
"karma-mocha": "^1.3.0",
5962
"karma-spec-reporter": "^0.0.32",
6063
"karma-webpack": "^4.0.2",
6164
"mocha": "^6.1.0",
6265
"nyc": "^14.1.1",
6366
"rimraf": "^3.0.0",
64-
"sinon": "^7.3.2",
67+
"sinon": "^7.5.0",
68+
"tslint-consistent-codestyle" : "^1.16.0",
69+
"tslint-microsoft-contrib": "^6.2.0",
6570
"ts-loader": "^6.0.4",
6671
"ts-mocha": "^6.0.0",
6772
"ts-node": "^8.0.0",
68-
"tslint-consistent-codestyle": "^1.15.1",
69-
"tslint-microsoft-contrib": "^6.2.0",
7073
"typescript": "^3.6.3",
7174
"webpack": "^4.35.2"
7275
},

packages/opentelemetry-core/test/index-webpack.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818
// all modules ending in "test" from the current folder and all its subfolders.
1919
const testsContext = require.context('.', true, /test$/);
2020
testsContext.keys().forEach(testsContext);
21+
22+
const srcContext = require.context('.', true, /src$/);
23+
srcContext.keys().forEach(srcContext);

packages/opentelemetry-plugin-document-load/karma.conf.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
const webpackConfig = require('./webpack/test.config.js');
17+
const karmaWebpackConfig = require('../../karma.webpack');
1818
const karmaBaseConfig = require('../../karma.base');
1919

2020
module.exports = (config) => {
2121
config.set(Object.assign({}, karmaBaseConfig, {
22-
webpack: webpackConfig
22+
webpack: karmaWebpackConfig
2323
}))
2424
};

packages/opentelemetry-plugin-document-load/package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,18 @@
4040
"access": "public"
4141
},
4242
"devDependencies": {
43+
"@babel/core": "^7.6.0",
4344
"@types/mocha": "^5.2.5",
4445
"@types/node": "^12.6.8",
45-
"@types/webpack-env": "1.13.9",
4646
"@types/sinon": "^7.0.13",
47-
"@babel/core": "^7.6.0",
47+
"@types/webpack-env": "1.13.9",
4848
"babel-loader": "^8.0.6",
4949
"codecov": "^3.1.0",
5050
"gts": "^1.0.0",
51-
"karma": "^4.1.0",
52-
"karma-chrome-launcher": "^2.2.0",
51+
"istanbul-instrumenter-loader": "^3.0.1",
52+
"karma": "^4.4.1",
53+
"karma-chrome-launcher": "^3.1.0",
54+
"karma-coverage-istanbul-reporter": "^2.1.0",
5355
"karma-mocha": "^1.3.0",
5456
"karma-spec-reporter": "^0.0.32",
5557
"karma-webpack": "^4.0.2",

packages/opentelemetry-plugin-document-load/test/index-webpack.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818
// all modules ending in "test" from the current folder and all its subfolders.
1919
const testsContext = require.context('.', true, /test$/);
2020
testsContext.keys().forEach(testsContext);
21+
22+
const srcContext = require.context('.', true, /src$/);
23+
srcContext.keys().forEach(srcContext);

packages/opentelemetry-plugin-document-load/webpack/test.config.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

packages/opentelemetry-tracing/karma.conf.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
const webpackConfig = require('./webpack/test.config.js');
17+
const karmaWebpackConfig = require('../../karma.webpack');
1818
const karmaBaseConfig = require('../../karma.base');
1919

2020
module.exports = (config) => {
2121
config.set(Object.assign({}, karmaBaseConfig, {
22-
webpack: webpackConfig
22+
webpack: karmaWebpackConfig
2323
}))
2424
};

packages/opentelemetry-tracing/package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"prepare": "npm run compile",
1919
"tdd": "yarn test -- --watch-extensions ts --watch",
2020
"test": "nyc ts-mocha -p tsconfig.json 'test/**/*.ts' --exclude 'test/index-webpack.ts'",
21-
"test:browser": "karma start --single-run",
21+
"test:browser": "nyc karma start --single-run",
2222
"watch": "tsc -w"
2323
},
2424
"keywords": [
@@ -51,16 +51,18 @@
5151
"@types/webpack-env": "1.13.9",
5252
"codecov": "^3.1.0",
5353
"gts": "^1.0.0",
54-
"karma": "^4.1.0",
55-
"karma-chrome-launcher": "^2.2.0",
54+
"istanbul-instrumenter-loader": "^3.0.1",
55+
"karma": "^4.4.1",
56+
"karma-chrome-launcher": "^3.1.0",
57+
"karma-coverage-istanbul-reporter": "^2.1.0",
5658
"karma-mocha": "^1.3.0",
5759
"karma-spec-reporter": "^0.0.32",
5860
"karma-webpack": "^4.0.2",
5961
"mocha": "^6.1.0",
6062
"nyc": "^14.1.1",
6163
"rimraf": "^3.0.0",
6264
"sinon": "^7.5.0",
63-
"tslint-consistent-codestyle": "^1.15.1",
65+
"tslint-consistent-codestyle" : "^1.16.0",
6466
"tslint-microsoft-contrib": "^6.2.0",
6567
"ts-loader": "^6.0.4",
6668
"ts-mocha": "^6.0.0",

packages/opentelemetry-tracing/test/index-webpack.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818
// all modules ending in "test" from the current folder and all its subfolders.
1919
const testsContext = require.context('.', true, /test$/);
2020
testsContext.keys().forEach(testsContext);
21+
22+
const srcContext = require.context('.', true, /src$/);
23+
srcContext.keys().forEach(srcContext);

packages/opentelemetry-tracing/webpack/test.config.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

packages/opentelemetry-web/karma.conf.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
const webpackConfig = require('./webpack/test.config.js');
17+
const karmaWebpackConfig = require('../../karma.webpack');
1818
const karmaBaseConfig = require('../../karma.base');
1919

2020
module.exports = (config) => {
2121
config.set(Object.assign({}, karmaBaseConfig, {
22-
webpack: webpackConfig
22+
webpack: karmaWebpackConfig
2323
}))
2424
};

packages/opentelemetry-web/package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,18 @@
4040
"access": "public"
4141
},
4242
"devDependencies": {
43+
"@babel/core": "^7.6.0",
4344
"@types/mocha": "^5.2.5",
4445
"@types/node": "^12.6.8",
45-
"@types/webpack-env": "1.13.9",
4646
"@types/sinon": "^7.0.13",
47-
"@babel/core": "^7.6.0",
47+
"@types/webpack-env": "1.13.9",
4848
"babel-loader": "^8.0.6",
4949
"codecov": "^3.1.0",
5050
"gts": "^1.0.0",
51-
"karma": "^4.1.0",
52-
"karma-chrome-launcher": "^2.2.0",
51+
"istanbul-instrumenter-loader": "^3.0.1",
52+
"karma": "^4.4.1",
53+
"karma-chrome-launcher": "^3.1.0",
54+
"karma-coverage-istanbul-reporter": "^2.1.0",
5355
"karma-mocha": "^1.3.0",
5456
"karma-spec-reporter": "^0.0.32",
5557
"karma-webpack": "^4.0.2",

packages/opentelemetry-web/test/index-webpack.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818
// all modules ending in "test" from the current folder and all its subfolders.
1919
const testsContext = require.context('.', true, /test$/);
2020
testsContext.keys().forEach(testsContext);
21+
22+
const srcContext = require.context('.', true, /src$/);
23+
srcContext.keys().forEach(srcContext);

packages/opentelemetry-web/webpack/test.config.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)