@@ -45,7 +45,6 @@ func TestScopeByEndpoint(t *testing.T) {
4545 for _ , test := range tests {
4646 t .Run (test .method + " " + test .path , func (t * testing.T ) {
4747 require := require .New (t )
48-
4948 stats := tally .NewTestScope ("" , nil )
5049
5150 r := chi .NewRouter ()
@@ -73,7 +72,6 @@ func TestScopeByEndpoint(t *testing.T) {
7372
7473func TestLatencyTimer (t * testing.T ) {
7574 require := require .New (t )
76-
7775 stats := tally .NewTestScope ("" , nil )
7876
7977 r := chi .NewRouter ()
@@ -104,40 +102,50 @@ func TestLatencyTimer(t *testing.T) {
104102func TestStatusCounter (t * testing.T ) {
105103 tests := []struct {
106104 desc string
107- handler func (http. ResponseWriter , * http.Request )
105+ handler func (* testing. T ) http.HandlerFunc
108106 expectedStatus string
109107 }{
110108 {
111109 "empty handler counts 200" ,
112- func (http.ResponseWriter , * http.Request ) {},
110+ func (* testing.T ) http.HandlerFunc {
111+ return func (http.ResponseWriter , * http.Request ) {}
112+ },
113113 "200" ,
114114 }, {
115115 "writes count 200" ,
116- func (w http.ResponseWriter , _ * http.Request ) { io .WriteString (w , "OK" ) },
116+ func (t * testing.T ) http.HandlerFunc {
117+ return func (w http.ResponseWriter , _ * http.Request ) {
118+ _ , err := io .WriteString (w , "OK" )
119+ require .NoError (t , err )
120+ }
121+ },
117122 "200" ,
118123 }, {
119124 "write header" ,
120- func (w http.ResponseWriter , _ * http.Request ) { w .WriteHeader (500 ) },
125+ func (* testing.T ) http.HandlerFunc {
126+ return func (w http.ResponseWriter , _ * http.Request ) { w .WriteHeader (500 ) }
127+ },
121128 "500" ,
122129 }, {
123130 "multiple write header calls only measures first call" ,
124- func (w http.ResponseWriter , _ * http.Request ) { w .WriteHeader (400 ); w .WriteHeader (500 ) },
131+ func (* testing.T ) http.HandlerFunc {
132+ return func (w http.ResponseWriter , _ * http.Request ) { w .WriteHeader (400 ); w .WriteHeader (500 ) }
133+ },
125134 "400" ,
126135 },
127136 }
128137 for _ , test := range tests {
129138 t .Run (test .desc , func (t * testing.T ) {
130- require := require .New (t )
131-
132139 stats := tally .NewTestScope ("" , nil )
133140
134141 r := chi .NewRouter ()
135142 r .Use (StatusCounter (stats ))
136- r .Get ("/foo/{foo}" , test .handler )
143+ r .Get ("/foo/{foo}" , test .handler ( t ) )
137144
138145 addr , stop := testutil .StartServer (r )
139146 defer stop ()
140147
148+ require := require .New (t )
141149 for i := 0 ; i < 5 ; i ++ {
142150 _ , err := http .Get (fmt .Sprintf ("http://%s/foo/x" , addr ))
143151 require .NoError (err )
0 commit comments