@@ -144,38 +144,58 @@ func installGlobal(wg *sync.WaitGroup) {
144
144
}
145
145
146
146
var cmd = exec .Command
147
+
147
148
149
+ // Avoid rebuilding OCaml again
148
150
func init () {
149
151
vendorOCamlPath , _ := filepath .Abs (filepath .Join ("." , "vendor" , "ocaml" , "bin" ))
150
152
os .Setenv ("PATH" ,
151
153
vendorOCamlPath + string (os .PathListSeparator )+ os .Getenv ("PATH" ))
152
154
}
153
-
155
+ func testBsb () {
156
+ c := cmd ("bsb" , "-regen" )
157
+ c .Dir = filepath .Join ("jscomp" , "build_tests" , "in_source" )
158
+ out , err := c .CombinedOutput ()
159
+ outS := string (out )
160
+ if ! strings .Contains ( outS , "two module formats" ) {
161
+ fmt .Println (outS )
162
+ fmt .Println (err )
163
+ os .Exit (2 )
164
+ } else {
165
+ fmt .Println ("Output matches" )
166
+ }
167
+
168
+ }
154
169
func main () {
155
170
noInstallGlobal := flag .Bool ("no-install-global" , false , "don't install global" )
156
171
noOunitTest := flag .Bool ("no-ounit" , false , "don't do ounit test" )
157
-
172
+ noMochaTest := flag .Bool ("no-mocha" , false , "don't run mocha" )
173
+ noThemeTest := flag .Bool ("no-theme" , false , "no bsb theme test" )
174
+ // disableAll := flag.Bool("disable-all", false, "disable all tets")
158
175
flag .Parse ()
159
- // Avoid rebuilding OCaml again
176
+
177
+
178
+
160
179
output , _ := cmd ("which" , "ocaml" ).CombinedOutput ()
161
180
fmt .Println ("OCaml:" , string (output ))
162
181
if ! * noOunitTest {
163
182
cmd ("make" , "-C" , "jscomp" , "test" )
164
183
}
165
- make := cmd ("make" , "-C" , "jscomp" , "travis-world-test" )
166
- make .Stdout = os .Stdout
167
- make .Stderr = os .Stderr
168
- error := make .Run ()
169
- if error != nil {
170
- os .Exit (2 )
184
+ if ! * noMochaTest {
185
+ make := cmd ("make" , "-C" , "jscomp" , "travis-world-test" )
186
+ make .Stdout = os .Stdout
187
+ make .Stderr = os .Stderr
188
+ error := make .Run ()
189
+ if error != nil {
190
+ os .Exit (2 )
191
+ }
171
192
}
172
193
173
-
174
194
if ! * noInstallGlobal {
175
195
ginstall := cmd ("npm" , "i" , "-g" , "." )
176
196
fmt .Println ("install bucklescript globally" )
177
197
start := time .Now ()
178
- error = ginstall .Run ()
198
+ error : = ginstall .Run ()
179
199
if error != nil {
180
200
log .Fatalf ("install failed" )
181
201
} else {
@@ -185,15 +205,18 @@ func main() {
185
205
}
186
206
bsbDir , _ := cmd ("bsb" , "-where" ).CombinedOutput ()
187
207
fmt .Println ("BSBDIR:" , string (bsbDir ))
188
-
189
- var wg sync.WaitGroup
190
- for _ , theme := range []string {"basic" , "basic-reason" , "generator" , "minimal" , "node" } {
191
- fmt .Println ("Test theme" , theme )
192
- wg .Add (1 )
193
- go (func (theme string ) {
194
- defer wg .Done ()
195
- testTheme (theme )
196
- })(theme )
208
+ if ! * noThemeTest {
209
+ var wg sync.WaitGroup
210
+ for _ , theme := range []string {"basic" , "basic-reason" , "generator" , "minimal" , "node" } {
211
+ fmt .Println ("Test theme" , theme )
212
+ wg .Add (1 )
213
+ go (func (theme string ) {
214
+ defer wg .Done ()
215
+ testTheme (theme )
216
+ })(theme )
217
+ }
218
+ wg .Wait ()
197
219
}
198
- wg .Wait ()
220
+
221
+ testBsb ()
199
222
}
0 commit comments