fix(improve log output): update

This commit is contained in:
Philipp Kunz 2018-08-04 19:23:17 +02:00
parent 1516f843aa
commit e7192800ea
2 changed files with 21 additions and 4 deletions

View File

@ -20,6 +20,7 @@ export class TsTest {
console.log(cs(fileName, 'orange')); console.log(cs(fileName, 'orange'));
} }
console.log('-'.repeat(16)); console.log('-'.repeat(16));
console.log(''); // force new line
const smartshellInstance = new plugins.smartshell.Smartshell({ const smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash', executor: 'bash',
pathDirectories: [paths.binDirectory], pathDirectories: [paths.binDirectory],
@ -28,10 +29,12 @@ export class TsTest {
const tapCombinator = new TapCombinator(); // lets create the TapCombinator const tapCombinator = new TapCombinator(); // lets create the TapCombinator
for (const fileName of fileNamesToRun) { for (const fileName of fileNamesToRun) {
console.log(`${cs('=> ', 'blue')} Running ${cs(fileName, 'orange')}`); console.log(`${cs('=> ', 'blue')} Running ${cs(fileName, 'orange')}`);
console.log(`=`.repeat(16)); console.log(cs(`=`.repeat(16), 'cyan'));
const tapParser = new TapParser(); const tapParser = new TapParser();
const execResultStreaming = await smartshellInstance.execStreamingSilent(`tsrun ${fileName}`); const execResultStreaming = await smartshellInstance.execStreamingSilent(`tsrun ${fileName}`);
await tapParser.handleTapProcess(execResultStreaming.childProcess); await tapParser.handleTapProcess(execResultStreaming.childProcess);
console.log(cs(`^`.repeat(16), 'cyan'));
console.log(''); // force new line
tapCombinator.addTapParser(tapParser); tapCombinator.addTapParser(tapParser);
} }
tapCombinator.evaluate(); tapCombinator.evaluate();

View File

@ -6,6 +6,7 @@ import { coloredString as cs } from '@pushrocks/consolecolor';
// ============ // ============
import * as plugins from './tstest.plugins'; import * as plugins from './tstest.plugins';
import { TapTestResult } from './tstest.tap.testresult'; import { TapTestResult } from './tstest.tap.testresult';
import * as logPrefixes from './tstest.logprefixes';
export class TapParser { export class TapParser {
resultStore: TapTestResult[] = []; resultStore: TapTestResult[] = [];
@ -13,7 +14,7 @@ export class TapParser {
expectedTestsRegex = /([0-9]*)\.\.([0-9]*)/; expectedTestsRegex = /([0-9]*)\.\.([0-9]*)/;
expectedTests: number; expectedTests: number;
testStatusRegex = /(ok|not\sok)\s([0-9]+)\s-\s/; testStatusRegex = /(ok|not\sok)\s([0-9]+)\s-\s(.*)\s#\stime=(.*)ms$/;
activeTapTestResult: TapTestResult; activeTapTestResult: TapTestResult;
private _getNewTapTestResult() { private _getNewTapTestResult() {
@ -51,6 +52,9 @@ export class TapParser {
return false; return false;
})(); })();
const testSubject = regexResult[3];
const testDuration = parseInt(regexResult[4]);
// test for protocol error // test for protocol error
if (testId !== this.activeTapTestResult.id) { if (testId !== this.activeTapTestResult.id) {
console.log(`:::TAP PROTOCOL ERROR::: Something is strange! Test Ids are not equal!`); console.log(`:::TAP PROTOCOL ERROR::: Something is strange! Test Ids are not equal!`);
@ -58,9 +62,19 @@ export class TapParser {
this.activeTapTestResult.setTestResult(testOk); this.activeTapTestResult.setTestResult(testOk);
if (testOk) { if (testOk) {
console.log(cs(`:::TAP::: Success: Test ${testId} is ok!`, 'green', 'black')); console.log(
logPrefixes.TapPrefix,
` ${cs(`Test ${testId} -> Success!`, 'green')} | ` +
cs(testSubject, 'blue') +
` | ${cs(`${testDuration} milliseconds`, 'orange')}`
);
} else { } else {
console.log(cs(`:::TAP::: Error: Test ${testId} is NOT ok!`, 'green', 'black')); console.log(
logPrefixes.TapPrefix,
` ${cs(`Test ${testId} -> Error!`, 'red')} | ` +
cs(testSubject, 'blue') +
` | ${cs(`${testDuration} milliseconds`, 'orange')}`
);
} }
} }