Skip to content

Commit b0cbf21

Browse files
committed
cleanup output
1 parent df76d5a commit b0cbf21

File tree

6 files changed

+119
-130
lines changed

6 files changed

+119
-130
lines changed

lib/create-runner.js

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
"use strict";
2-
var child = require('child_process');
3-
function createRunner(config, testFile) {
4-
var python = '/usr/local/bin/python';
5-
return child.exec([
6-
python,
7-
'-m pytest',
8-
'--tap-stream',
9-
'-x',
10-
'--tb=no',
11-
testFile
12-
].join(' '), function (error, stdout, stderr) {
13-
if (error !== null) {
14-
console.log("test exec error: " + error);
15-
}
16-
});
17-
}
18-
Object.defineProperty(exports, "__esModule", { value: true });
19-
exports.default = createRunner;
1+
"use strict";
2+
var child = require('child_process');
3+
function createRunner(config, testFile) {
4+
var python = '/usr/local/bin/python';
5+
return child.exec([
6+
python,
7+
'-m pytest',
8+
'--tap-stream',
9+
'-x',
10+
'--tb=no',
11+
testFile
12+
].join(' '));
13+
}
14+
Object.defineProperty(exports, "__esModule", { value: true });
15+
exports.default = createRunner;

lib/exists.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
"use strict";
2-
var fs = require('fs');
3-
function fileExists(path) {
4-
try {
5-
fs.accessSync(path, fs.F_OK);
6-
}
7-
catch (e) {
8-
if (e) {
9-
if (e.code !== 'ENOENT') {
10-
console.log(e);
11-
}
12-
return false;
13-
}
14-
}
15-
return true;
16-
}
17-
Object.defineProperty(exports, "__esModule", { value: true });
18-
exports.default = fileExists;
1+
"use strict";
2+
var fs = require('fs');
3+
function fileExists(path) {
4+
try {
5+
fs.accessSync(path, fs.F_OK);
6+
}
7+
catch (e) {
8+
if (e) {
9+
if (e.code !== 'ENOENT') {
10+
console.log(e);
11+
}
12+
return false;
13+
}
14+
}
15+
return true;
16+
}
17+
Object.defineProperty(exports, "__esModule", { value: true });
18+
exports.default = fileExists;

lib/parse-tap.js

Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,54 @@
1-
"use strict";
2-
var isTap = /^# TAP/m;
3-
var finalTestNumber = /^1..([0-9+])$/m;
4-
var testError = /^# E\s+(.+)$/m;
5-
function formatFailureMessage(message) {
6-
return message.split('_').join(' ');
7-
}
8-
function parseTap(data) {
9-
console.log('DATA', data);
10-
if (!data.match(isTap)) {
11-
console.log('No TAP output: ', data);
12-
return;
13-
}
14-
if (!data.match(finalTestNumber)) {
15-
console.log('Could not parse final test number: ', data);
16-
return;
17-
}
18-
var finalTest = parseInt(data.match(finalTestNumber)[1], 10);
19-
var final = null;
20-
if (data.match(testError)) {
21-
var failingLineRegex = new RegExp("^not ok " + finalTest + " - (.+)$", 'm');
22-
var line = data.match(failingLineRegex)[1];
23-
if (!line) {
24-
console.log('Error matching failing test line: ', data);
25-
}
26-
var taskPosition = parseInt(line.match(/Test([0-9]+)/)[1], 10);
27-
if (!taskPosition) {
28-
console.log('No matching taskPosition', data);
29-
}
30-
var message = formatFailureMessage(line.match(/\.test_(.+)$/)[1]);
31-
if (!message) {
32-
console.log('Error with test. There is no valid test message: ', data);
33-
message = '';
34-
}
35-
final = {
36-
completed: false,
37-
msg: formatFailureMessage(message),
38-
taskPosition: taskPosition - 1,
39-
timedOut: false
40-
};
41-
}
42-
else {
43-
var finalPassRegex = new RegExp("^ok " + finalTest + " - (.+)$", 'm');
44-
var line = data.match(finalPassRegex)[1];
45-
var taskPosition = parseInt(line.match(/Test([0-9]+)/)[1], 10);
46-
final = {
47-
completed: true,
48-
msg: "Task " + taskPosition + " Complete",
49-
taskPosition: taskPosition
50-
};
51-
}
52-
return final;
53-
}
54-
Object.defineProperty(exports, "__esModule", { value: true });
55-
exports.default = parseTap;
1+
"use strict";
2+
var isTap = /^# TAP/m;
3+
var finalTestNumber = /^1..([0-9+])$/m;
4+
var testError = /^# E\s+(.+)$/m;
5+
function formatFailureMessage(message) {
6+
return message.split('_').join(' ');
7+
}
8+
function parseTap(data) {
9+
if (!data.match(isTap)) {
10+
console.log('No TAP output: ', data);
11+
return;
12+
}
13+
if (!data.match(finalTestNumber)) {
14+
console.log('Could not parse final test number: ', data);
15+
return;
16+
}
17+
var finalTest = parseInt(data.match(finalTestNumber)[1], 10);
18+
var final = null;
19+
if (data.match(testError)) {
20+
var failingLineRegex = new RegExp("^not ok " + finalTest + " - (.+)$", 'm');
21+
var line = data.match(failingLineRegex)[1];
22+
if (!line) {
23+
console.log('Error matching failing test line: ', data);
24+
}
25+
var taskPosition = parseInt(line.match(/Test([0-9]+)/)[1], 10);
26+
if (!taskPosition) {
27+
console.log('No matching taskPosition', data);
28+
}
29+
var message = formatFailureMessage(line.match(/\.test_(.+)$/)[1]);
30+
if (!message) {
31+
console.log('Error with test. There is no valid test message: ', data);
32+
message = '';
33+
}
34+
final = {
35+
completed: false,
36+
msg: formatFailureMessage(message),
37+
taskPosition: taskPosition - 1,
38+
timedOut: false
39+
};
40+
}
41+
else {
42+
var finalPassRegex = new RegExp("^ok " + finalTest + " - (.+)$", 'm');
43+
var line = data.match(finalPassRegex)[1];
44+
var taskPosition = parseInt(line.match(/Test([0-9]+)/)[1], 10);
45+
final = {
46+
completed: true,
47+
msg: "Task " + taskPosition + " Complete",
48+
taskPosition: taskPosition
49+
};
50+
}
51+
return final;
52+
}
53+
Object.defineProperty(exports, "__esModule", { value: true });
54+
exports.default = parseTap;

lib/runner.js

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
"use strict";
2-
var create_runner_1 = require('./create-runner');
3-
var parse_tap_1 = require('./parse-tap');
4-
function runner(testFile, config, handleResult) {
5-
var runner = create_runner_1.default(config, testFile);
6-
var final = null;
7-
return new Promise(function (resolve, reject) {
8-
runner.stdout.on('data', function (data) {
9-
data = data.toString();
10-
final = parse_tap_1.default(data);
11-
final.change = final.taskPosition - config.taskPosition;
12-
final.pass = final.change > 0;
13-
handleResult(final);
14-
});
15-
runner.stderr.on('data', function (data) {
16-
if (data.length) {
17-
console.log('test error', data.toString());
18-
}
19-
});
20-
runner.on('end', function (code) {
21-
if (code === 0) {
22-
resolve(final);
23-
}
24-
else {
25-
resolve(final);
26-
}
27-
});
28-
});
29-
}
30-
Object.defineProperty(exports, "__esModule", { value: true });
31-
exports.default = runner;
1+
"use strict";
2+
var create_runner_1 = require('./create-runner');
3+
var parse_tap_1 = require('./parse-tap');
4+
function runner(testFile, config, handleResult) {
5+
var runner = create_runner_1.default(config, testFile);
6+
var final = null;
7+
return new Promise(function (resolve, reject) {
8+
runner.stdout.on('data', function (data) {
9+
data = data.toString();
10+
final = parse_tap_1.default(data);
11+
final.change = final.taskPosition - config.taskPosition;
12+
final.pass = final.change > 0;
13+
handleResult(final);
14+
});
15+
runner.stderr.on('data', function (data) {
16+
if (data.length) {
17+
console.log('test error', data.toString());
18+
}
19+
});
20+
runner.on('end', function (code) {
21+
if (code === 0) {
22+
resolve(final);
23+
}
24+
else {
25+
resolve(final);
26+
}
27+
});
28+
});
29+
}
30+
Object.defineProperty(exports, "__esModule", { value: true });
31+
exports.default = runner;

src/create-runner.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,5 @@ export default function createRunner(config: CR.Config, testFile: string) {
1111
'-x', // stop after first failure
1212
'--tb=no', // no traceback
1313
testFile
14-
].join(' '), (error, stdout, stderr) => {
15-
if (error !== null) {
16-
console.log(`test exec error: ${error}`);
17-
}
18-
});
14+
].join(' '));
1915
}

src/parse-tap.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ function formatFailureMessage(message: string): string {
88

99
export default function parseTap(data: string): ParseFinal {
1010

11-
console.log('DATA', data);
12-
1311
if (!data.match(isTap)) {
1412
console.log('No TAP output: ', data);
1513
return;

0 commit comments

Comments
 (0)