Ver Fonte

fix travis freeze on concurrent test (#1761)

Dmitry Kutakov há 6 anos atrás
pai
commit
5acf660117
1 ficheiros alterados com 12 adições e 4 exclusões
  1. 12 4
      gin_integration_test.go

+ 12 - 4
gin_integration_test.go

@@ -188,15 +188,12 @@ func TestConcurrentHandleContext(t *testing.T) {
 	})
 	router.GET("/example", func(c *Context) { c.String(http.StatusOK, "it worked") })
 
-	ts := httptest.NewServer(router)
-	defer ts.Close()
-
 	var wg sync.WaitGroup
 	iterations := 200
 	wg.Add(iterations)
 	for i := 0; i < iterations; i++ {
 		go func() {
-			testRequest(t, ts.URL+"/")
+			testGetRequestHandler(t, router, "/")
 			wg.Done()
 		}()
 	}
@@ -217,3 +214,14 @@ func TestConcurrentHandleContext(t *testing.T) {
 
 // 	testRequest(t, "http://localhost:8033/example")
 // }
+
+func testGetRequestHandler(t *testing.T, h http.Handler, url string) {
+	req, err := http.NewRequest("GET", url, nil)
+	assert.NoError(t, err)
+
+	w := httptest.NewRecorder()
+	h.ServeHTTP(w, req)
+
+	assert.Equal(t, "it worked", w.Body.String(), "resp body should match")
+	assert.Equal(t, 200, w.Code, "should get a 200")
+}