Hide detailed failure output in scripts/fiber/record-tests (#8214)

Ben Alpert committed
Nov 7, 2016 at 11:43 UTC
c4b9330f2a75971e2d2c7a45a3cca9a31c65949d
1 file changed
+63
-20
scripts/fiber/record-tests
+63
-20
@@ -1,5 +1,8 @@
1
#!/usr/bin/env node
2
3
+'use strict';
4
+
5
+const crypto = require('crypto');
6
const fs = require('fs');
7
const os = require('os');
8
const path = require('path');
@@ -14,9 +17,39 @@ const argv = {};
17
const root = path.normalize(path.join(__dirname, '..', '..'));
18
const testPathPattern = '';
19
20
+function wrapRunnerFile(runnerPath) {
21
+ const filename = path.join(
22
+ os.tmpdir(),
23
+ 'test-runner-' + crypto.randomBytes(8).toString('hex') + '.js'
24
+ );
25
+ fs.writeFileSync(
26
+ filename,
27
+ `
28
+ 'use strict';
29
+ var wrap = require(${JSON.stringify(__filename)}).wrapRunner;
30
+ var original = require(${JSON.stringify(runnerPath)});
31
+ module.exports = wrap(original);
32
+ `
33
+ );
34
+ return filename;
35
+}
36
+
37
+function wrapRunner(original) {
38
+ return function runner(config, environment, runtime, testPath) {
39
+ return original(config, environment, runtime, testPath)
40
+ .then((results) => {
41
+ results.failureMessage = null;
42
+ return results;
43
+ });
44
+ };
45
+}
46
+
47
function runJest() {
48
return readConfig(argv, root)
49
.then((config) => {
50
+ config = Object.assign({}, config, {
51
+ testRunner: wrapRunnerFile(config.testRunner),
52
+ });
53
return createHasteContext(config, {}).then((hasteMap) => {
54
const source = new SearchSource(hasteMap, config);
55
return source.getTestPaths({testPathPattern})
@@ -51,23 +84,33 @@ function formatResults(runResults, predicate) {
84
return formatted.join('\n\n');
85
}
86
54
-process.env.REACT_DOM_JEST_USE_FIBER = true;
55
-runJest()
56
- .then((runResults) => {
57
- const passing = formatResults(
58
- runResults,
59
- (file, test) => test.status === 'passed'
60
- );
61
- const failing = formatResults(
62
- runResults,
63
- (file, test) => test.status === 'failed'
64
- );
65
- fs.writeFileSync(
66
- path.join(__dirname, 'tests-passing.txt'),
67
- passing + '\n'
68
- );
69
- fs.writeFileSync(
70
- path.join(__dirname, 'tests-failing.txt'),
71
- failing + '\n'
72
- );
73
- });
87
+function recordTests() {
88
+ process.env.REACT_DOM_JEST_USE_FIBER = true;
89
+ runJest()
90
+ .then((runResults) => {
91
+ const passing = formatResults(
92
+ runResults,
93
+ (file, test) => test.status === 'passed'
94
+ );
95
+ const failing = formatResults(
96
+ runResults,
97
+ (file, test) => test.status === 'failed'
98
+ );
99
+ fs.writeFileSync(
100
+ path.join(__dirname, 'tests-passing.txt'),
101
+ passing + '\n'
102
+ );
103
+ fs.writeFileSync(
104
+ path.join(__dirname, 'tests-failing.txt'),
105
+ failing + '\n'
106
+ );
107
+ });
108
+}
109
+
110
+if (require.main === module) {
111
+ recordTests();
112
+}
113
+
114
+module.exports = {
115
+ wrapRunner,
116
+};