@@ -61,12 +61,12 @@ function test(input, to_moz, description, skip_on_error, beautified) {
61
61
var ast = UglifyJS . AST_Node . from_mozilla_ast ( to_moz ( input ) ) ;
62
62
} catch ( e ) {
63
63
if ( skip_on_error ) return true ;
64
- console . log ( "//=============================================================" ) ;
65
- console . log ( "//" , description , "failed... round" , round ) ;
66
- console . log ( e ) ;
67
- console . log ( "// original code" ) ;
68
- if ( beautified === true ) console . log ( "// (beautified)" ) ;
69
- console . log ( input . code ) ;
64
+ console . error ( "//=============================================================" ) ;
65
+ console . error ( "//" , description , "failed... round" , round ) ;
66
+ console . error ( e ) ;
67
+ console . error ( "// original code" ) ;
68
+ if ( beautified === true ) console . error ( "// (beautified)" ) ;
69
+ console . error ( input . code ) ;
70
70
return false ;
71
71
}
72
72
var transformed = validate ( ast ) ;
@@ -78,34 +78,34 @@ function test(input, to_moz, description, skip_on_error, beautified) {
78
78
if ( ! test ( beautified , to_moz , description , skip_on_error , true ) ) return false ;
79
79
}
80
80
}
81
- console . log ( "//=============================================================" ) ;
82
- console . log ( "// !!!!!! Failed... round" , round ) ;
83
- console . log ( "// original code" ) ;
81
+ console . error ( "//=============================================================" ) ;
82
+ console . error ( "// !!!!!! Failed... round" , round ) ;
83
+ console . error ( "// original code" ) ;
84
84
if ( beautified . error ) {
85
- console . log ( "// !!! beautify failed !!!" ) ;
86
- console . log ( beautified . error . stack ) ;
85
+ console . error ( "// !!! beautify failed !!!" ) ;
86
+ console . error ( beautified . error . stack ) ;
87
87
} else if ( beautified === true ) {
88
- console . log ( "// (beautified)" ) ;
88
+ console . error ( "// (beautified)" ) ;
89
89
}
90
- console . log ( input . raw ) ;
91
- console . log ( ) ;
92
- console . log ( ) ;
93
- console . log ( "//-------------------------------------------------------------" ) ;
94
- console . log ( "//" , description ) ;
90
+ console . error ( input . raw ) ;
91
+ console . error ( ) ;
92
+ console . error ( ) ;
93
+ console . error ( "//-------------------------------------------------------------" ) ;
94
+ console . error ( "//" , description ) ;
95
95
if ( transformed . error ) {
96
- console . log ( transformed . error . stack ) ;
96
+ console . error ( transformed . error . stack ) ;
97
97
} else {
98
98
beautified = beautify ( transformed . ast ) ;
99
99
if ( beautified . error ) {
100
- console . log ( "// !!! beautify failed !!!" ) ;
101
- console . log ( beautified . error . stack ) ;
102
- console . log ( transformed . code ) ;
100
+ console . error ( "// !!! beautify failed !!!" ) ;
101
+ console . error ( beautified . error . stack ) ;
102
+ console . error ( transformed . code ) ;
103
103
} else {
104
- console . log ( "// (beautified)" ) ;
105
- console . log ( beautified . code ) ;
104
+ console . error ( "// (beautified)" ) ;
105
+ console . error ( beautified . code ) ;
106
106
}
107
107
}
108
- console . log ( "!!!!!! Failed... round" , round ) ;
108
+ console . error ( "!!!!!! Failed... round" , round ) ;
109
109
return false ;
110
110
}
111
111
return true ;
@@ -119,10 +119,26 @@ for (var round = 1; round <= num_iterations; round++) {
119
119
var code = ufuzz . createTopLevelCode ( ) ;
120
120
minify_options . forEach ( function ( options ) {
121
121
var ok = true ;
122
- var input = UglifyJS . minify ( options ? function ( options ) {
123
- options . module = ufuzz . module ;
124
- return UglifyJS . minify ( code , options ) . code ;
125
- } ( JSON . parse ( options ) ) : code , {
122
+ var minified ;
123
+ if ( options ) {
124
+ var o = JSON . parse ( options ) ;
125
+ o . module = ufuzz . module ;
126
+ minified = UglifyJS . minify ( code , o ) ;
127
+ if ( minified . error ) {
128
+ console . log ( "//=============================================================" ) ;
129
+ console . log ( "// minify() failed... round" , round ) ;
130
+ console . log ( "// original code" ) ;
131
+ console . log ( code ) ;
132
+ console . log ( ) ;
133
+ console . log ( ) ;
134
+ console . log ( "//-------------------------------------------------------------" ) ;
135
+ console . log ( "minify(options):" ) ;
136
+ console . log ( JSON . stringify ( o , null , 2 ) ) ;
137
+ return ;
138
+ }
139
+ minified = minified . code ;
140
+ }
141
+ var input = UglifyJS . minify ( minified || code , {
126
142
compress : false ,
127
143
mangle : false ,
128
144
module : ufuzz . module ,
@@ -133,11 +149,27 @@ for (var round = 1; round <= num_iterations; round++) {
133
149
input . raw = options ? input . code : code ;
134
150
if ( input . error ) {
135
151
ok = false ;
136
- console . log ( "//=============================================================" ) ;
137
- console . log ( "// minify() failed... round" , round ) ;
138
- console . log ( input . error ) ;
139
- console . log ( "// original code" ) ;
140
- console . log ( code ) ;
152
+ console . error ( "//=============================================================" ) ;
153
+ console . error ( "// parse() failed... round" , round ) ;
154
+ console . error ( "// original code" ) ;
155
+ console . error ( code ) ;
156
+ console . error ( ) ;
157
+ console . error ( ) ;
158
+ if ( options ) {
159
+ console . error ( "//-------------------------------------------------------------" ) ;
160
+ console . error ( "// minified code" ) ;
161
+ console . error ( minified ) ;
162
+ console . error ( ) ;
163
+ console . error ( ) ;
164
+ console . error ( "//-------------------------------------------------------------" ) ;
165
+ console . error ( "minify(options):" ) ;
166
+ console . error ( JSON . stringify ( o , null , 2 ) ) ;
167
+ console . error ( ) ;
168
+ console . error ( ) ;
169
+ }
170
+ console . error ( "//-------------------------------------------------------------" ) ;
171
+ console . error ( "// parse() error" ) ;
172
+ console . error ( input . error ) ;
141
173
}
142
174
if ( ok ) ok = test ( input , function ( input ) {
143
175
return input . ast . to_mozilla_ast ( ) ;
@@ -149,7 +181,10 @@ for (var round = 1; round <= num_iterations; round++) {
149
181
sourceType : "module" ,
150
182
} ) ;
151
183
} , "acorn.parse()" , ! ufuzz . verbose ) ;
152
- if ( ! ok ) process . exit ( 1 ) ;
184
+ if ( ! ok && isFinite ( num_iterations ) ) {
185
+ console . log ( ) ;
186
+ process . exit ( 1 ) ;
187
+ }
153
188
} ) ;
154
189
}
155
190
console . log ( ) ;
0 commit comments