Fixing long-output-delay issue on Travis CI.
This commit is contained in:
parent
3198bc27fd
commit
30a84d8577
18
gulpfile.js
18
gulpfile.js
@ -15,7 +15,9 @@ var sourcemaps = require('gulp-sourcemaps');
|
|||||||
var uglify = require('gulp-uglify');
|
var uglify = require('gulp-uglify');
|
||||||
var buffer = require('vinyl-buffer');
|
var buffer = require('vinyl-buffer');
|
||||||
|
|
||||||
function createTransform(transforms) {
|
function createTransform(transforms, show) {
|
||||||
|
if (!show) { show = { }; }
|
||||||
|
|
||||||
function padding(length) {
|
function padding(length) {
|
||||||
let pad = '';
|
let pad = '';
|
||||||
while (pad.length < length) { pad += ' '; }
|
while (pad.length < length) { pad += ' '; }
|
||||||
@ -44,13 +46,20 @@ function createTransform(transforms) {
|
|||||||
}
|
}
|
||||||
var size = fs.readFileSync(path).length;
|
var size = fs.readFileSync(path).length;
|
||||||
if (transformed != null) {
|
if (transformed != null) {
|
||||||
|
if (show.transformed) {
|
||||||
console.log('Transformed:', shortPath, padding(70 - shortPath.length), size, padding(6 - String(size).length), '=>', transformed.length);
|
console.log('Transformed:', shortPath, padding(70 - shortPath.length), size, padding(6 - String(size).length), '=>', transformed.length);
|
||||||
|
}
|
||||||
data = transformed;
|
data = transformed;
|
||||||
} else if (shortPath === '/src.ts/wordlists/wordlist.ts') {
|
} else if (shortPath === '/src.ts/wordlists/wordlist.ts') {
|
||||||
data += '\n\nexportWordlist = true;'
|
data += '\n\nexportWordlist = true;'
|
||||||
|
if (show.transformed) {
|
||||||
|
console.log('Transformed:', shortPath, padding(70 - shortPath.length), size, padding(6 - String(size).length), '=>', data.length);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (show.preserved) {
|
||||||
console.log('Preserved: ', shortPath, padding(70 - shortPath.length), size);
|
console.log('Preserved: ', shortPath, padding(70 - shortPath.length), size);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.queue(data);
|
this.queue(data);
|
||||||
this.queue(null);
|
this.queue(null);
|
||||||
});
|
});
|
||||||
@ -64,6 +73,7 @@ function createTransform(transforms) {
|
|||||||
* Target: dist/ethers{.min,}.js
|
* Target: dist/ethers{.min,}.js
|
||||||
*/
|
*/
|
||||||
function taskBundle(name, options) {
|
function taskBundle(name, options) {
|
||||||
|
var show = options.show || { };
|
||||||
|
|
||||||
// The elliptic package.json is only used for its version
|
// The elliptic package.json is only used for its version
|
||||||
var ellipticPackage = require('elliptic/package.json');
|
var ellipticPackage = require('elliptic/package.json');
|
||||||
@ -134,7 +144,7 @@ function taskBundle(name, options) {
|
|||||||
cache: { },
|
cache: { },
|
||||||
packageCache: {},
|
packageCache: {},
|
||||||
standalone: "ethers",
|
standalone: "ethers",
|
||||||
transform: [ [ createTransform(transforms), { global: true } ] ],
|
transform: [ [ createTransform(transforms, show), { global: true } ] ],
|
||||||
})
|
})
|
||||||
.bundle()
|
.bundle()
|
||||||
.pipe(source(options.filename))
|
.pipe(source(options.filename))
|
||||||
@ -153,10 +163,10 @@ function taskBundle(name, options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Creates dist/ethers.js
|
// Creates dist/ethers.js
|
||||||
taskBundle("default", { filename: "ethers.js", dest: 'dist', minify: false });
|
taskBundle("default", { filename: "ethers.js", dest: 'dist', show: { transformed: true, preserved: true }, minify: false });
|
||||||
|
|
||||||
// Creates dist/ethers.js
|
// Creates dist/ethers.js
|
||||||
taskBundle("default-test", { filename: "ethers.js", dest: 'tests/dist', minify: false });
|
taskBundle("default-test", { filename: "ethers.js", dest: 'tests/dist', show: { transformed: true }, minify: false });
|
||||||
|
|
||||||
// Creates dist/ethers.min.js
|
// Creates dist/ethers.min.js
|
||||||
taskBundle("minified", { filename: "ethers.min.js", dest: 'dist', minify: true });
|
taskBundle("minified", { filename: "ethers.min.js", dest: 'dist', minify: true });
|
||||||
|
@ -15,19 +15,28 @@ function Reporter(runner) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
var suites = [];
|
var suites = [];
|
||||||
|
|
||||||
|
var lastOutput = getTime();
|
||||||
|
|
||||||
function getIndent() {
|
function getIndent() {
|
||||||
var result = '';
|
var result = '';
|
||||||
for (var i = 0; i < suites.length; i++) { result += ' '; }
|
for (var i = 0; i < suites.length; i++) { result += ' '; }
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function log(message) {
|
||||||
|
if (!message) { message = ''; }
|
||||||
|
var indent = getIndent();
|
||||||
|
console.log(indent + message);
|
||||||
|
lastOutput = getTime();
|
||||||
|
}
|
||||||
|
|
||||||
runner.on('suite', function(suite) {
|
runner.on('suite', function(suite) {
|
||||||
if (!suite.title) {
|
if (!suite.title) {
|
||||||
console.log(getIndent() + 'Testing: Found ' + suite.suites.length + ' test suites');
|
log('Testing: Found ' + suite.suites.length + ' test suites');
|
||||||
} else {
|
} else {
|
||||||
var filename = (suite.file || '').split('/').pop();
|
var filename = (suite.file || '').split('/').pop();
|
||||||
if (filename) { filename = ' (' + filename + ')'; }
|
if (filename) { filename = ' (' + filename + ')'; }
|
||||||
console.log(getIndent() + 'Test Suite: ' + suite.title + filename);
|
log('Test Suite: ' + suite.title + filename);
|
||||||
}
|
}
|
||||||
suites.push(suite);
|
suites.push(suite);
|
||||||
suite._t0 = getTime();
|
suite._t0 = getTime();
|
||||||
@ -38,8 +47,8 @@ function Reporter(runner) {
|
|||||||
|
|
||||||
runner.on('suite end', function() {
|
runner.on('suite end', function() {
|
||||||
var suite = suites.pop();
|
var suite = suites.pop();
|
||||||
console.log(getIndent() + ' Total Tests: ' + suite._countPass + '/' + suite._countTotal + ' passed ' + getDelta(suite._t0));
|
log(' Total Tests: ' + suite._countPass + '/' + suite._countTotal + ' passed ' + getDelta(suite._t0));
|
||||||
console.log('');
|
log();
|
||||||
if (suites.length > 0) {
|
if (suites.length > 0) {
|
||||||
var currentSuite = suites[suites.length - 1];
|
var currentSuite = suites[suites.length - 1];
|
||||||
currentSuite._countFail += suite._countFail;
|
currentSuite._countFail += suite._countFail;
|
||||||
@ -50,6 +59,10 @@ function Reporter(runner) {
|
|||||||
|
|
||||||
runner.on('test', function(test) {
|
runner.on('test', function(test) {
|
||||||
var currentSuite = suites[suites.length - 1];
|
var currentSuite = suites[suites.length - 1];
|
||||||
|
if (((getTime() - lastOutput) / 1000) > 60) {
|
||||||
|
log('[ Still running suite - test #' + currentSuite._countTotal + ' ]');
|
||||||
|
lastOutput = getTime();
|
||||||
|
}
|
||||||
currentSuite._countTotal++;
|
currentSuite._countTotal++;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -62,42 +75,35 @@ function Reporter(runner) {
|
|||||||
|
|
||||||
if (countFail > 100) {
|
if (countFail > 100) {
|
||||||
if (countFail === 101) {
|
if (countFail === 101) {
|
||||||
console.log(indent + '[ Over 100 errors; skipping remaining suite output ]');
|
log('[ Over 100 errors; skipping remaining suite output ]');
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (countFail > 25) {
|
if (countFail > 25) {
|
||||||
console.log(indent + 'Failure: ' + test.title + ' (too many errors; skipping dump)');
|
log('Failure: ' + test.title + ' (too many errors; skipping dump)');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(indent + 'Failure: ' + test.title);
|
log('Failure: ' + test.title);
|
||||||
error.toString().split('\n').forEach(function(line) {
|
error.toString().split('\n').forEach(function(line) {
|
||||||
console.log(indent + ' ' + line);
|
log(' ' + line);
|
||||||
});
|
});
|
||||||
Object.keys(error).forEach(function(key) {
|
Object.keys(error).forEach(function(key) {
|
||||||
console.log(indent + ' ' + key + ': ' + error[key]);
|
log(' ' + key + ': ' + error[key]);
|
||||||
});
|
});
|
||||||
|
if (error.stack) {
|
||||||
|
log("Stack Trace:");
|
||||||
error.stack.split('\n').forEach(function(line) {
|
error.stack.split('\n').forEach(function(line) {
|
||||||
console.log(indent + ' ' + line);
|
log(' ' + line);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
runner.on('pass', function(test) {
|
runner.on('pass', function(test) {
|
||||||
var currentSuite = suites[suites.length - 1];
|
var currentSuite = suites[suites.length - 1];
|
||||||
currentSuite._countPass++;
|
currentSuite._countPass++;
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
|
||||||
runner.once('end', function() {
|
|
||||||
var ds = ((new Date()).getTime() - t0) / 1000;
|
|
||||||
var minutes = ds / 60;
|
|
||||||
var seconds = String(ds % 60);
|
|
||||||
while (seconds.length < 2) { seconds = '0' + seconds; }
|
|
||||||
console.log('Completed in ' + minutes + ':' + seconds);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Reporter;
|
module.exports = Reporter;
|
||||||
|
Loading…
Reference in New Issue
Block a user