Need help with covert?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

substack
130 Stars 10 Forks Other 30 Commits 4 Opened issues

Description

code coverage command

Services available

!
?

Need anything else?

Contributors list

# 6,487
JavaScr...
bittorr...
CSS
multipa...
24 commits
# 188,275
Shell
C#
CSS
esoteri...
1 commit
# 36,825
content...
nextjs
GraphQL
angular...
1 commit

covert

code coverage command

example

Just run

covert
on some ordinary files:
$ covert test/*.js
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg
# (anonymous)
ok 12 should be equal

1..12

tests 12

pass 12

ok

/home/substack/projects/defined/index.js: line 3, column 18-26

if (false) dead(); ^^^^^^^

/home/substack/projects/defined/index.js: line 6, column 16-18, 19-25, 26-30, 31-51

for (var i = 0; i < 5; i++) console.log('blah'); ^ ^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^

/home/substack/projects/defined/index.js: line 10, column 3-24

console.log('blah'); ^^^^^^^^^^^^^^^^^^^^

coverage: 76/82 (92.68 %)

non-zero exit code in coverify command

In this example, this test suite is using tape. Tests written with tape can just be run directly using

node
, which fits very well with what this command expects.

install

With npm do:

npm install -g covert

usage

usage: covert {OPTIONS} FILES

Instrument FILES and in-module dependencies, writing coverage data to STDERR.

OPTIONS are:

--json

  Suppress normal output and print json coverage data to stdout.

-q, --quiet  

  Only print coverage data, suppressing all other output.

-c, --color

  Use color in the output. Default: true if stdout is a TTY.

why

Most code coverage libraries do weird things I don't like, such as writing all their junk to directories and files in a completely out-of-band way.

covert:

  • only uses stderr and stdout, doesn't write to any files. All of this business about

    lcov
    files and directories with reports in them really weirds me out.
  • bundles with

    browserify --bare
    and a transform instead of hijacking
    require()
    . All the reporting goes through a unix pipeline on process.stdin and process.stdout. This is still hacky, but it's the kind of hacky that you can fix yourself when the magic breaks down. The internal pipeline is just:
browserify -t coverify --bare $* | node | coverify
  • works really well with simple unix pipelines. stdin and stdout: the wisdom of the ancients.

license

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.