@@ -362,40 +362,38 @@ func TestTimeoutWithFullEchoStack(t *testing.T) {
362
362
},
363
363
}
364
364
365
- e := echo .New ()
366
-
367
- buf := new (bytes.Buffer )
368
- e .Logger .SetOutput (buf )
369
-
370
- // NOTE: timeout middleware is first as it changes Response.Writer and causes data race for logger middleware if it is not first
371
- // FIXME: I have no idea how to fix this without adding mutexes.
372
- e .Use (TimeoutWithConfig (TimeoutConfig {
373
- Timeout : 15 * time .Millisecond ,
374
- }))
375
- e .Use (Logger ())
376
- e .Use (Recover ())
377
-
378
- e .GET ("/" , func (c echo.Context ) error {
379
- var delay time.Duration
380
- if err := echo .QueryParamsBinder (c ).Duration ("delay" , & delay ).BindError (); err != nil {
381
- return err
382
- }
383
- if delay > 0 {
384
- time .Sleep (delay )
385
- }
386
- return c .JSON (http .StatusTeapot , map [string ]string {"message" : "OK" })
387
- })
388
-
389
- server , addr , err := startServer (e )
390
- if err != nil {
391
- assert .NoError (t , err )
392
- return
393
- }
394
- defer server .Close ()
395
-
396
365
for _ , tc := range testCases {
397
366
t .Run (tc .name , func (t * testing.T ) {
398
- buf .Reset () // this is design this can not be run in parallel
367
+ e := echo .New ()
368
+
369
+ buf := new (bytes.Buffer )
370
+ e .Logger .SetOutput (buf )
371
+
372
+ // NOTE: timeout middleware is first as it changes Response.Writer and causes data race for logger middleware if it is not first
373
+ // FIXME: I have no idea how to fix this without adding mutexes.
374
+ e .Use (TimeoutWithConfig (TimeoutConfig {
375
+ Timeout : 15 * time .Millisecond ,
376
+ }))
377
+ e .Use (Logger ())
378
+ e .Use (Recover ())
379
+
380
+ e .GET ("/" , func (c echo.Context ) error {
381
+ var delay time.Duration
382
+ if err := echo .QueryParamsBinder (c ).Duration ("delay" , & delay ).BindError (); err != nil {
383
+ return err
384
+ }
385
+ if delay > 0 {
386
+ time .Sleep (delay )
387
+ }
388
+ return c .JSON (http .StatusTeapot , map [string ]string {"message" : "OK" })
389
+ })
390
+
391
+ server , addr , err := startServer (e )
392
+ if err != nil {
393
+ assert .NoError (t , err )
394
+ return
395
+ }
396
+ defer server .Close ()
399
397
400
398
res , err := http .Get (fmt .Sprintf ("http://%v%v" , addr , tc .whenPath ))
401
399
if err != nil {
0 commit comments