@@ -5,6 +5,8 @@ var fs = require("fs");
5
5
6
6
var duneBinDir = require ( "./dune" ) . duneBinDir ;
7
7
8
+ const { exec } = require ( "../jscomp/build_tests/utils.js" ) ;
9
+
8
10
var ounitTest = false ;
9
11
var mochaTest = false ;
10
12
var bsbTest = false ;
@@ -56,13 +58,7 @@ async function runTests() {
56
58
console . log ( "Doing build_tests" ) ;
57
59
var buildTestDir = path . join ( __dirname , ".." , "jscomp" , "build_tests" ) ;
58
60
var files = fs . readdirSync ( buildTestDir ) ;
59
- var tasks = files . map ( async function ( file ) {
60
- // @ts -ignore
61
- let resolve , reject ;
62
- let promise = new Promise ( ( res , rej ) => {
63
- resolve = res ;
64
- reject = rej ;
65
- } ) ;
61
+ for ( const file of files ) {
66
62
var testDir = path . join ( buildTestDir , file ) ;
67
63
if ( file === "node_modules" || ! fs . lstatSync ( testDir ) . isDirectory ( ) ) {
68
64
return ;
@@ -73,36 +69,16 @@ async function runTests() {
73
69
console . log ( `testing ${ file } ` ) ;
74
70
75
71
// note existsSync test already ensure that it is a directory
76
- let p = cp . spawn ( `node` , [ "input.js" ] , { cwd : testDir } ) ;
77
-
78
- p . stdout . setEncoding ( "utf8" ) . on ( "data" , line => {
79
- console . log ( line ) ;
80
- } ) ;
81
-
82
- let stderr = "" ;
83
- p . stderr . setEncoding ( "utf8" ) . on ( "data" , line => {
84
- stderr += line + "\n" ;
85
- } ) ;
86
-
87
- p . once ( "error" , err => {
88
- console . log ( `❌ error in ${ file } with stderr:\n` , stderr ) ;
89
- // @ts -ignore
90
- reject ( err ) ;
91
- } ) ;
92
-
93
- p . once ( "close" , ( ) => {
94
- if ( ! stderr ) {
95
- console . log ( "✅ success in" , file ) ;
96
- }
97
- // @ts -ignore
98
- resolve ( ) ;
99
- } ) ;
72
+ const out = await exec ( `node` , [ "input.js" ] , { cwd : testDir } ) ;
73
+ console . log ( out . stdout ) ;
74
+
75
+ if ( out . status === 0 ) {
76
+ console . log ( "✅ success in" , file ) ;
77
+ } else {
78
+ console . log ( `❌ error in ${ file } with stderr:\n` , out . stderr ) ;
79
+ }
100
80
}
101
-
102
- return promise ;
103
- } ) ;
104
-
105
- await Promise . all ( tasks ) ;
81
+ }
106
82
}
107
83
108
84
if ( formatTest ) {
@@ -113,12 +89,4 @@ async function runTests() {
113
89
}
114
90
}
115
91
116
- async function main ( ) {
117
- try {
118
- await runTests ( ) ;
119
- } catch ( err ) {
120
- console . error ( err ) ;
121
- process . exit ( 2 ) ;
122
- }
123
- }
124
- main ( ) ;
92
+ runTests ( ) ;
0 commit comments