@@ -294,25 +294,28 @@ func start(test *types.TestConfig, sigChan chan os.Signal) result.LambdaResults
294294 }
295295 launchingOn := fmt .Sprintf ("Launching on %s... (be patient)" , platform )
296296
297- termbox .Init ()
298- defer termbox .Close ()
299- termbox .Sync ()
300- renderString (0 , 0 , launchingOn , coldef , coldef )
301- renderLogo ()
302- termbox .Flush ()
303-
304- _ , h := termbox .Size ()
305- renderString (0 , h - 1 , "Press ctrl-c to interrupt" , coldef , coldef )
306- termbox .Flush ()
307-
308- go func () {
309- for {
310- event := termbox .PollEvent ()
311- if event .Key == 3 {
312- sigChan <- syscall .SIGINT
297+ var render bool
298+ err := termbox .Init ()
299+ if err == nil {
300+ render = true
301+ defer termbox .Close ()
302+ termbox .Sync ()
303+ renderString (0 , 0 , launchingOn , coldef , coldef )
304+ renderLogo ()
305+ termbox .Flush ()
306+
307+ _ , h := termbox .Size ()
308+ renderString (0 , h - 1 , "Press ctrl-c to interrupt" , coldef , coldef )
309+ termbox .Flush ()
310+ go func () {
311+ for {
312+ event := termbox .PollEvent ()
313+ if event .Key == 3 {
314+ sigChan <- syscall .SIGINT
315+ }
313316 }
314- }
315- }()
317+ }()
318+ }
316319
317320 startTime := time .Now ()
318321 firstTime := true
@@ -324,30 +327,34 @@ outer:
324327 break outer
325328 }
326329 currentResult = * result
327- if firstTime {
330+ if firstTime && render {
328331 clearLogo ()
329332 firstTime = false
330333 }
331334
332335 y := 3
333336 totalReqs := 0
334337 regionsData := currentResult .RegionsData ()
335- for _ , region := range currentResult .Regions () {
336- totalReqs += regionsData [region ].TotalReqs
337- y = renderRegion (regionsData [region ], y )
338- y ++
338+ if render {
339+ for _ , region := range currentResult .Regions () {
340+ totalReqs += regionsData [region ].TotalReqs
341+ y = renderRegion (regionsData [region ], y )
342+ y ++
343+ }
339344 }
340345
341- y = 0
342- var percentDone float64
343- if test .Requests > 0 {
344- percentDone = float64 (totalReqs ) / float64 (test .Requests )
345- } else {
346- percentDone = math .Min (float64 (time .Since (startTime ).Seconds ())/ float64 (test .Timelimit ), 1.0 )
346+ if render {
347+ y = 0
348+ var percentDone float64
349+ if test .Requests > 0 {
350+ percentDone = float64 (totalReqs ) / float64 (test .Requests )
351+ } else {
352+ percentDone = math .Min (float64 (time .Since (startTime ).Seconds ())/ float64 (test .Timelimit ), 1.0 )
353+ }
354+ drawProgressBar (percentDone , y )
355+
356+ termbox .Flush ()
347357 }
348- drawProgressBar (percentDone , y )
349-
350- termbox .Flush ()
351358
352359 case <- sigChan :
353360 break outer
0 commit comments