1
1
'use strict' ;
2
2
3
- require ( '../common' ) ;
3
+ const common = require ( '../common' ) ;
4
4
const assert = require ( 'assert' ) ;
5
- const spawnSync = require ( 'child_process' ) . spawnSync ;
6
5
const fixtures = require ( '../common/fixtures' ) ;
6
+ const exec = require ( 'child_process' ) . exec ;
7
7
8
8
const node = process . execPath ;
9
9
@@ -29,12 +29,13 @@ const notFoundRE = /^Error: Cannot find module/m;
29
29
// loop each possible option, `-c` or `--check`
30
30
syntaxArgs . forEach ( function ( args ) {
31
31
const _args = args . concat ( file ) ;
32
- const c = spawnSync ( node , _args , { encoding : 'utf8' } ) ;
33
32
34
- // no output should be produced
35
- assert . strictEqual ( c . stdout , '' , 'stdout produced' ) ;
36
- assert . strictEqual ( c . stderr , '' , 'stderr produced' ) ;
37
- assert . strictEqual ( c . status , 0 , `code == ${ c . status } ` ) ;
33
+ const cmd = [ node , ..._args ] . join ( ' ' ) ;
34
+ exec ( cmd , common . mustCall ( ( err , stdout , stderr ) => {
35
+ assert . ifError ( err ) ;
36
+ assert . strictEqual ( stdout , '' , 'stdout produced' ) ;
37
+ assert . strictEqual ( stderr , '' , 'stderr produced' ) ;
38
+ } ) ) ;
38
39
} ) ;
39
40
} ) ;
40
41
@@ -50,15 +51,20 @@ const notFoundRE = /^Error: Cannot find module/m;
50
51
// loop each possible option, `-c` or `--check`
51
52
syntaxArgs . forEach ( function ( args ) {
52
53
const _args = args . concat ( file ) ;
53
- const c = spawnSync ( node , _args , { encoding : 'utf8' } ) ;
54
+ const cmd = [ node , ..._args ] . join ( ' ' ) ;
55
+ exec ( cmd , common . mustCall ( ( err , stdout , stderr ) => {
56
+ assert . strictEqual ( err instanceof Error , true ) ;
57
+ assert . strictEqual ( err . code , 1 , `code === ${ err . code } ` ) ;
54
58
55
- // no stdout should be produced
56
- assert . strictEqual ( c . stdout , '' , 'stdout produced' ) ;
59
+ // no stdout should be produced
60
+ assert . strictEqual ( stdout , '' , 'stdout produced' ) ;
57
61
58
- // stderr should have a syntax error message
59
- assert ( syntaxErrorRE . test ( c . stderr ) , 'stderr incorrect' ) ;
62
+ // stderr should have a syntax error message
63
+ assert ( syntaxErrorRE . test ( stderr ) , 'stderr incorrect' ) ;
60
64
61
- assert . strictEqual ( c . status , 1 , `code == ${ c . status } ` ) ;
65
+ // stderr should include the filename
66
+ assert ( stderr . startsWith ( file ) , "stderr doesn't start with the filename" ) ;
67
+ } ) ) ;
62
68
} ) ;
63
69
} ) ;
64
70
@@ -72,14 +78,15 @@ const notFoundRE = /^Error: Cannot find module/m;
72
78
// loop each possible option, `-c` or `--check`
73
79
syntaxArgs . forEach ( function ( args ) {
74
80
const _args = args . concat ( file ) ;
75
- const c = spawnSync ( node , _args , { encoding : 'utf8' } ) ;
81
+ const cmd = [ node , ..._args ] . join ( ' ' ) ;
82
+ exec ( cmd , common . mustCall ( ( err , stdout , stderr ) => {
83
+ // no stdout should be produced
84
+ assert . strictEqual ( stdout , '' , 'stdout produced' ) ;
76
85
77
- // no stdout should be produced
78
- assert . strictEqual ( c . stdout , '' , 'stdout produced ') ;
86
+ // stderr should have a module not found error message
87
+ assert ( notFoundRE . test ( stderr ) , 'stderr incorrect ' ) ;
79
88
80
- // stderr should have a module not found error message
81
- assert ( notFoundRE . test ( c . stderr ) , 'stderr incorrect' ) ;
82
-
83
- assert . strictEqual ( c . status , 1 , `code == ${ c . status } ` ) ;
89
+ assert . strictEqual ( err . code , 1 , `code === ${ err . code } ` ) ;
90
+ } ) ) ;
84
91
} ) ;
85
92
} ) ;
0 commit comments