forked from jaubourg/wires
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCoverage.js
63 lines (51 loc) · 1.18 KB
/
Coverage.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"use strict";
var fs = require( "fs" );
var path = require( "path" );
var wrench = require( "wrench" );
function command( module ) {
return path.resolve( __dirname, "node_modules/.bin/" + module + ( path.sep === "/" ? "" : ".cmd" ) );
}
module.exports = function( grunt ) {
var lib = path.resolve( __dirname, "lib" );
var libSave = lib + "-save";
var lcov = "data.lcov";
grunt.initConfig( {
jscoverage: {
lib: {
src: lib,
dest: libSave
}
},
shell: {
coveralls: {
command: command( "coveralls" ) + " < " + lcov
},
nodeunit: {
command: "node test --reporter=lcov > " + lcov
}
}
} );
// load npm modules
require( "load-grunt-tasks" )( grunt );
grunt.registerTask( "switch-lib", function() {
fs.renameSync( lib, "tmp" );
fs.renameSync( libSave, lib );
fs.renameSync( "tmp", libSave );
} );
grunt.registerTask( "lib-back", function() {
wrench.rmdirSyncRecursive( lib );
fs.renameSync( libSave, lib );
} );
grunt.registerTask( "cleanup", function() {
fs.unlinkSync( lcov );
} );
// Tasks
grunt.registerTask( "default", [
"jscoverage",
"switch-lib",
"shell:nodeunit",
"lib-back",
"shell:coveralls",
"cleanup"
] );
};