grunt-lcov-merge

Grunt plugin to merge lcov files from multiple test runs.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
grunt-lcov-merge
301.2.37 years ago8 years agoMinified + gzip package size for grunt-lcov-merge in KB

Readme

grunt-lcov-merge
Build Status npm version Coverage Status Code Climate Dependency Status
Grunt plugin to merge lcov files from multiple test runs, for use with a tool like coveralls.

Getting Started

This plugin works with any grunt >=0.4.0
To install, add grunt-lcov-merge to your package.json. The easiest way to do that is
npm install grunt-lcov-merge --save-dev

Once the plugin has been installed, you'll need to enable it in your Gruntfile by adding
grunt.loadNpmTasks('grunt-lcov-merge');

You can then run with
grunt lcovMerge

Options

emitters

Type: Array Default: ['file']
What emitters to send the merged data to. Supported emitters are 'file', which sends the merged data to a file, and 'event', which sends it out to the 'coverage' event and can be listened to with
grunt.event.on('coverage', function(lcov, done) {});

outputFile

Type: String Default coverage/lcov-merge.info
If a file emitter is specified, this is the output file to pipe data to.

Example

grunt.initConfig({
jshint: {
    src: ['Gruntfile.js', 'tasks/**/*.js', 'test/**/*.js'],
    options: {
        jshintrc: true
    }
},

mocha_istanbul: {
  coverage: {
      src: 'test/**/*.spec.js',
      options: {
          coverageFolder: 'build/coverage',
          reportFormats: ['lcov'],
      }
  }
},

lcovMerge: {
  options: {
      emitters: ['event', 'file'],
      outputFile: 'mergeLcov.info'
  },
  src: ['build/coverage/*.info', 'build/coverage/**/*.info']
}
  });

  grunt.event.on('coverage', function(lcov, done) {
// See below
done();
  });

  grunt.loadNpmTasks('grunt-lcov-merge');

Note that grunt-lcov-merge allows for source files to be specified via any file format.

Event emitter

One of the most useful ways to consume this plugin is to use the coverage event to send the lcov data to a service like coveralls:
grunt.event.on('coverage', function(lcov, done) {
    require('coveralls').handleInput(lcov, function(err) {
        if (err) {
          return done(err);
        }
        done();
    });

Using the coveralls module means that Travis-CI can automatically send your merged LCOV to coveralls.

Version History

  • 0.1.0 - Initial version
  • 0.1.1 - Trim down the number of files in the distribution
  • 0.1.2 - Update dependencies, work around coveralls issue.
  • 0.1.3 - Documentation updates
  • 1.0.0 - Official release
  • 1.1.0 - Support Grunt >=1.0
  • 1.2.0 - Update dependencies
  • 1.2.1 - Fix incorrect npm version
  • 1.2.2 - Fix issues with test code on travis
  • 1.2.3 - ACTUALLY Fix issues with test code on travis (aren't immutable versions fun??)