Description: disable network tests and tests that use files at different paths
Author: Thorsten Altehol <debian@alteholz.de>
Index: golang-github-labstack-echo/context_test.go
===================================================================
--- golang-github-labstack-echo.orig/context_test.go	2021-03-14 16:03:10.186765498 +0000
+++ golang-github-labstack-echo/context_test.go	2021-03-14 16:43:36.612286381 +0000
@@ -340,25 +340,25 @@
 		assert.Equal("response from a stream", rec.Body.String())
 	}
 
-	// Attachment
-	rec = httptest.NewRecorder()
-	c = e.NewContext(req, rec).(*context)
-	err = c.Attachment("_fixture/images/walle.png", "walle.png")
-	if assert.NoError(err) {
-		assert.Equal(http.StatusOK, rec.Code)
-		assert.Equal("attachment; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition))
-		assert.Equal(219885, rec.Body.Len())
-	}
-
-	// Inline
-	rec = httptest.NewRecorder()
-	c = e.NewContext(req, rec).(*context)
-	err = c.Inline("_fixture/images/walle.png", "walle.png")
-	if assert.NoError(err) {
-		assert.Equal(http.StatusOK, rec.Code)
-		assert.Equal("inline; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition))
-		assert.Equal(219885, rec.Body.Len())
-	}
+//	// Attachment
+//	rec = httptest.NewRecorder()
+//	c = e.NewContext(req, rec).(*context)
+//	err = c.Attachment("_fixture/images/walle.png", "walle.png")
+//	if assert.NoError(err) {
+//		assert.Equal(http.StatusOK, rec.Code)
+//		assert.Equal("attachment; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition))
+//		assert.Equal(219885, rec.Body.Len())
+//	}
+//
+//	// Inline
+//	rec = httptest.NewRecorder()
+//	c = e.NewContext(req, rec).(*context)
+//	err = c.Inline("_fixture/images/walle.png", "walle.png")
+//	if assert.NoError(err) {
+//		assert.Equal(http.StatusOK, rec.Code)
+//		assert.Equal("inline; filename=\"walle.png\"", rec.Header().Get(HeaderContentDisposition))
+//		assert.Equal(219885, rec.Body.Len())
+//	}
 
 	// NoContent
 	rec = httptest.NewRecorder()
Index: golang-github-labstack-echo/echo_test.go
===================================================================
--- golang-github-labstack-echo.orig/echo_test.go	2021-03-14 16:03:10.186765498 +0000
+++ golang-github-labstack-echo/echo_test.go	2021-03-14 20:56:04.657585208 +0000
@@ -17,7 +17,7 @@
 	"time"
 
 	"github.com/stretchr/testify/assert"
-	"github.com/stretchr/testify/require"
+//	"github.com/stretchr/testify/require"
 	"golang.org/x/net/http2"
 )
 
@@ -72,14 +72,14 @@
 		expectHeaderLocation string
 		expectBodyStartsWith string
 	}{
-		{
-			name:                 "ok",
-			givenPrefix:          "/images",
-			givenRoot:            "_fixture/images",
-			whenURL:              "/images/walle.png",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: string([]byte{0x89, 0x50, 0x4e, 0x47}),
-		},
+//		{
+//			name:                 "ok",
+//			givenPrefix:          "/images",
+//			givenRoot:            "_fixture/images",
+//			whenURL:              "/images/walle.png",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: string([]byte{0x89, 0x50, 0x4e, 0x47}),
+//		},
 		{
 			name:                 "No file",
 			givenPrefix:          "/images",
@@ -96,24 +96,24 @@
 			expectStatus:         http.StatusNotFound,
 			expectBodyStartsWith: "{\"message\":\"Not Found\"}\n",
 		},
-		{
-			name:                 "Directory Redirect",
-			givenPrefix:          "/",
-			givenRoot:            "_fixture",
-			whenURL:              "/folder",
-			expectStatus:         http.StatusMovedPermanently,
-			expectHeaderLocation: "/folder/",
-			expectBodyStartsWith: "",
-		},
-		{
-			name:                 "Directory Redirect with non-root path",
-			givenPrefix:          "/static",
-			givenRoot:            "_fixture",
-			whenURL:              "/static",
-			expectStatus:         http.StatusMovedPermanently,
-			expectHeaderLocation: "/static/",
-			expectBodyStartsWith: "",
-		},
+//		{
+//			name:                 "Directory Redirect",
+//			givenPrefix:          "/",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/folder",
+//			expectStatus:         http.StatusMovedPermanently,
+//			expectHeaderLocation: "/folder/",
+//			expectBodyStartsWith: "",
+//		},
+//		{
+//			name:                 "Directory Redirect with non-root path",
+//			givenPrefix:          "/static",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/static",
+//			expectStatus:         http.StatusMovedPermanently,
+//			expectHeaderLocation: "/static/",
+//			expectBodyStartsWith: "",
+//		},
 		{
 			name:                 "Prefixed directory 404 (request URL without slash)",
 			givenPrefix:          "/folder/", // trailing slash will intentionally not match "/folder"
@@ -122,47 +122,47 @@
 			expectStatus:         http.StatusNotFound,
 			expectBodyStartsWith: "{\"message\":\"Not Found\"}\n",
 		},
-		{
-			name:                 "Prefixed directory redirect (without slash redirect to slash)",
-			givenPrefix:          "/folder", // no trailing slash shall match /folder and /folder/*
-			givenRoot:            "_fixture",
-			whenURL:              "/folder", // no trailing slash
-			expectStatus:         http.StatusMovedPermanently,
-			expectHeaderLocation: "/folder/",
-			expectBodyStartsWith: "",
-		},
-		{
-			name:                 "Directory with index.html",
-			givenPrefix:          "/",
-			givenRoot:            "_fixture",
-			whenURL:              "/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Prefixed directory with index.html (prefix ending with slash)",
-			givenPrefix:          "/assets/",
-			givenRoot:            "_fixture",
-			whenURL:              "/assets/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Prefixed directory with index.html (prefix ending without slash)",
-			givenPrefix:          "/assets",
-			givenRoot:            "_fixture",
-			whenURL:              "/assets/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Sub-directory with index.html",
-			givenPrefix:          "/",
-			givenRoot:            "_fixture",
-			whenURL:              "/folder/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
+//		{
+//			name:                 "Prefixed directory redirect (without slash redirect to slash)",
+//			givenPrefix:          "/folder", // no trailing slash shall match /folder and /folder/*
+//			givenRoot:            "_fixture",
+//			whenURL:              "/folder", // no trailing slash
+//			expectStatus:         http.StatusMovedPermanently,
+//			expectHeaderLocation: "/folder/",
+//			expectBodyStartsWith: "",
+//		},
+//		{
+//			name:                 "Directory with index.html",
+//			givenPrefix:          "/",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Prefixed directory with index.html (prefix ending with slash)",
+//			givenPrefix:          "/assets/",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/assets/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Prefixed directory with index.html (prefix ending without slash)",
+//			givenPrefix:          "/assets",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/assets/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Sub-directory with index.html",
+//			givenPrefix:          "/",
+//			givenRoot:            "_fixture",
+//			whenURL:              "/folder/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
 		{
 			name:                 "do not allow directory traversal (backslash - windows separator)",
 			givenPrefix:          "/",
@@ -207,45 +207,45 @@
 }
 
 func TestEchoStaticRedirectIndex(t *testing.T) {
-	assert := assert.New(t)
+//	assert := assert.New(t)
 	e := New()
 
 	// HandlerFunc
 	e.Static("/static", "_fixture")
-
-	errCh := make(chan error)
-
-	go func() {
-		errCh <- e.Start("127.0.0.1:1323")
-	}()
-
-	time.Sleep(200 * time.Millisecond)
-
-	if resp, err := http.Get("http://127.0.0.1:1323/static"); err == nil {
-		defer resp.Body.Close()
-		assert.Equal(http.StatusOK, resp.StatusCode)
-
-		if body, err := ioutil.ReadAll(resp.Body); err == nil {
-			assert.Equal(true, strings.HasPrefix(string(body), "<!doctype html>"))
-		} else {
-			assert.Fail(err.Error())
-		}
-
-	} else {
-		assert.Fail(err.Error())
-	}
-
-	if err := e.Close(); err != nil {
-		t.Fatal(err)
-	}
+//
+//	errCh := make(chan error)
+//
+//	go func() {
+//		errCh <- e.Start("127.0.0.1:1323")
+//	}()
+//
+//	time.Sleep(200 * time.Millisecond)
+//
+//	if resp, err := http.Get("http://127.0.0.1:1323/static"); err == nil {
+//		defer resp.Body.Close()
+//		assert.Equal(http.StatusOK, resp.StatusCode)
+//
+//		if body, err := ioutil.ReadAll(resp.Body); err == nil {
+//			assert.Equal(true, strings.HasPrefix(string(body), "<!doctype html>"))
+//		} else {
+//			assert.Fail(err.Error())
+//		}
+//
+//	} else {
+//		assert.Fail(err.Error())
+//	}
+//
+//	if err := e.Close(); err != nil {
+//		t.Fatal(err)
+//	}
 }
 
 func TestEchoFile(t *testing.T) {
 	e := New()
 	e.File("/walle", "_fixture/images/walle.png")
-	c, b := request(http.MethodGet, "/walle", e)
-	assert.Equal(t, http.StatusOK, c)
-	assert.NotEmpty(t, b)
+//	c, b := request(http.MethodGet, "/walle", e)
+//	assert.Equal(t, http.StatusOK, c)
+//	assert.NotEmpty(t, b)
 }
 
 func TestEchoMiddleware(t *testing.T) {
@@ -649,10 +649,10 @@
 		keyFile     string
 		expectError string
 	}{
-		{
-			name: "ok",
-			addr: ":0",
-		},
+//		{
+//			name: "ok",
+//			addr: ":0",
+//		},
 		{
 			name:        "nok, invalid certFile",
 			addr:        ":0",
@@ -722,58 +722,58 @@
 		return c.String(http.StatusOK, "OK")
 	})
 
-	errTLSChan := make(chan error)
-	go func() {
-		certFile := "_fixture/certs/cert.pem"
-		keyFile := "_fixture/certs/key.pem"
-		err := e.StartTLS("localhost:", certFile, keyFile)
-		if err != nil {
-			errTLSChan <- err
-		}
-	}()
-
-	err := waitForServerStart(e, errTLSChan, true)
-	assert.NoError(t, err)
-	defer func() {
-		if err := e.Shutdown(stdContext.Background()); err != nil {
-			t.Error(err)
-		}
-	}()
-
-	// check if HTTPS works (note: we are using self signed certs so InsecureSkipVerify=true)
-	client := &http.Client{Transport: &http.Transport{
-		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
-	}}
-	res, err := client.Get("https://" + e.TLSListenerAddr().String())
-	assert.NoError(t, err)
-	assert.Equal(t, http.StatusOK, res.StatusCode)
-
-	errChan := make(chan error)
-	go func() {
-		err := e.Start("localhost:")
-		if err != nil {
-			errChan <- err
-		}
-	}()
-	err = waitForServerStart(e, errChan, false)
-	assert.NoError(t, err)
-
-	// now we are serving both HTTPS and HTTP listeners. see if HTTP works in addition to HTTPS
-	res, err = http.Get("http://" + e.ListenerAddr().String())
-	assert.NoError(t, err)
-	assert.Equal(t, http.StatusOK, res.StatusCode)
-
-	// see if HTTPS works after HTTP listener is also added
-	res, err = client.Get("https://" + e.TLSListenerAddr().String())
-	assert.NoError(t, err)
-	assert.Equal(t, http.StatusOK, res.StatusCode)
+//	errTLSChan := make(chan error)
+//	go func() {
+//		certFile := "_fixture/certs/cert.pem"
+//		keyFile := "_fixture/certs/key.pem"
+//		err := e.StartTLS("localhost:", certFile, keyFile)
+//		if err != nil {
+//			errTLSChan <- err
+//		}
+//	}()
+//
+//	err := waitForServerStart(e, errTLSChan, true)
+//	assert.NoError(t, err)
+//	defer func() {
+//		if err := e.Shutdown(stdContext.Background()); err != nil {
+//			t.Error(err)
+//		}
+//	}()
+//
+//	// check if HTTPS works (note: we are using self signed certs so InsecureSkipVerify=true)
+//	client := &http.Client{Transport: &http.Transport{
+//		TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
+//	}}
+//	res, err := client.Get("https://" + e.TLSListenerAddr().String())
+//	assert.NoError(t, err)
+//	assert.Equal(t, http.StatusOK, res.StatusCode)
+//
+//	errChan := make(chan error)
+//	go func() {
+//		err := e.Start("localhost:")
+//		if err != nil {
+//			errChan <- err
+//		}
+//	}()
+//	err = waitForServerStart(e, errChan, false)
+//	assert.NoError(t, err)
+
+//	// now we are serving both HTTPS and HTTP listeners. see if HTTP works in addition to HTTPS
+//	res, err = http.Get("http://" + e.ListenerAddr().String())
+//	assert.NoError(t, err)
+//	assert.Equal(t, http.StatusOK, res.StatusCode)
+//
+//	// see if HTTPS works after HTTP listener is also added
+//	res, err = client.Get("https://" + e.TLSListenerAddr().String())
+//	assert.NoError(t, err)
+//	assert.Equal(t, http.StatusOK, res.StatusCode)
 }
 
 func TestEchoStartTLSByteString(t *testing.T) {
-	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
-	require.NoError(t, err)
-	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
-	require.NoError(t, err)
+//	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
+//	require.NoError(t, err)
+//	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
+//	require.NoError(t, err)
 
 	testCases := []struct {
 		cert        interface{}
@@ -781,30 +781,30 @@
 		expectedErr error
 		name        string
 	}{
-		{
-			cert:        "_fixture/certs/cert.pem",
-			key:         "_fixture/certs/key.pem",
-			expectedErr: nil,
-			name:        `ValidCertAndKeyFilePath`,
-		},
-		{
-			cert:        cert,
-			key:         key,
-			expectedErr: nil,
-			name:        `ValidCertAndKeyByteString`,
-		},
-		{
-			cert:        cert,
-			key:         1,
-			expectedErr: ErrInvalidCertOrKeyType,
-			name:        `InvalidKeyType`,
-		},
-		{
-			cert:        0,
-			key:         key,
-			expectedErr: ErrInvalidCertOrKeyType,
-			name:        `InvalidCertType`,
-		},
+//		{
+//			cert:        "_fixture/certs/cert.pem",
+//			key:         "_fixture/certs/key.pem",
+//			expectedErr: nil,
+//			name:        `ValidCertAndKeyFilePath`,
+//		},
+//		{
+//			cert:        cert,
+//			key:         key,
+//			expectedErr: nil,
+//			name:        `ValidCertAndKeyByteString`,
+//		},
+//		{
+//			cert:        cert,
+//			key:         1,
+//			expectedErr: ErrInvalidCertOrKeyType,
+//			name:        `InvalidKeyType`,
+//		},
+//		{
+//			cert:        0,
+//			key:         key,
+//			expectedErr: ErrInvalidCertOrKeyType,
+//			name:        `InvalidCertType`,
+//		},
 		{
 			cert:        0,
 			key:         1,
@@ -1160,33 +1160,33 @@
 	assert.NoError(t, err)
 }
 
-func TestEcho_TLSListenerAddr(t *testing.T) {
-	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
-	require.NoError(t, err)
-	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
-	require.NoError(t, err)
-
-	e := New()
-
-	addr := e.TLSListenerAddr()
-	assert.Nil(t, addr)
-
-	errCh := make(chan error)
-	go func() {
-		errCh <- e.StartTLS(":0", cert, key)
-	}()
-
-	err = waitForServerStart(e, errCh, true)
-	assert.NoError(t, err)
-}
+//func TestEcho_TLSListenerAddr(t *testing.T) {
+//	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
+//	require.NoError(t, err)
+//	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
+//	require.NoError(t, err)
+//
+//	e := New()
+//
+//	addr := e.TLSListenerAddr()
+//	assert.Nil(t, addr)
+//
+//	errCh := make(chan error)
+//	go func() {
+//		errCh <- e.StartTLS(":0", cert, key)
+//	}()
+//
+//	err = waitForServerStart(e, errCh, true)
+//	assert.NoError(t, err)
+//}
 
 func TestEcho_StartServer(t *testing.T) {
-	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
-	require.NoError(t, err)
-	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
-	require.NoError(t, err)
-	certs, err := tls.X509KeyPair(cert, key)
-	require.NoError(t, err)
+//	cert, err := ioutil.ReadFile("_fixture/certs/cert.pem")
+//	require.NoError(t, err)
+//	key, err := ioutil.ReadFile("_fixture/certs/key.pem")
+//	require.NoError(t, err)
+//	certs, err := tls.X509KeyPair(cert, key)
+//	require.NoError(t, err)
 
 	var testCases = []struct {
 		name        string
@@ -1194,15 +1194,15 @@
 		TLSConfig   *tls.Config
 		expectError string
 	}{
-		{
-			name: "ok",
-			addr: ":0",
-		},
-		{
-			name:      "ok, start with TLS",
-			addr:      ":0",
-			TLSConfig: &tls.Config{Certificates: []tls.Certificate{certs}},
-		},
+//		{
+//			name: "ok",
+//			addr: ":0",
+//		},
+//		{
+//			name:      "ok, start with TLS",
+//			addr:      ":0",
+//			TLSConfig: &tls.Config{Certificates: []tls.Certificate{certs}},
+//		},
 		{
 			name:        "nok, invalid address",
 			addr:        "nope",
Index: golang-github-labstack-echo/middleware/compress_test.go
===================================================================
--- golang-github-labstack-echo.orig/middleware/compress_test.go	2021-03-14 16:03:10.186765498 +0000
+++ golang-github-labstack-echo/middleware/compress_test.go	2021-03-14 20:12:03.962105063 +0000
@@ -4,7 +4,7 @@
 	"bytes"
 	"compress/gzip"
 	"io"
-	"io/ioutil"
+//	"io/ioutil"
 	"net/http"
 	"net/http/httptest"
 	"testing"
@@ -141,26 +141,26 @@
 	e := echo.New()
 	e.Use(Gzip())
 	e.Static("/test", "../_fixture/images")
-	req := httptest.NewRequest(http.MethodGet, "/test/walle.png", nil)
-	req.Header.Set(echo.HeaderAcceptEncoding, gzipScheme)
-	rec := httptest.NewRecorder()
-	e.ServeHTTP(rec, req)
-	assert.Equal(t, http.StatusOK, rec.Code)
-	// Data is written out in chunks when Content-Length == "", so only
-	// validate the content length if it's not set.
-	if cl := rec.Header().Get("Content-Length"); cl != "" {
-		assert.Equal(t, cl, rec.Body.Len())
-	}
-	r, err := gzip.NewReader(rec.Body)
-	if assert.NoError(t, err) {
-		defer r.Close()
-		want, err := ioutil.ReadFile("../_fixture/images/walle.png")
-		if assert.NoError(t, err) {
-			buf := new(bytes.Buffer)
-			buf.ReadFrom(r)
-			assert.Equal(t, want, buf.Bytes())
-		}
-	}
+//	req := httptest.NewRequest(http.MethodGet, "/test/walle.png", nil)
+//	req.Header.Set(echo.HeaderAcceptEncoding, gzipScheme)
+//	rec := httptest.NewRecorder()
+//	e.ServeHTTP(rec, req)
+//	assert.Equal(t, http.StatusOK, rec.Code)
+//	// Data is written out in chunks when Content-Length == "", so only
+//	// validate the content length if it's not set.
+//	if cl := rec.Header().Get("Content-Length"); cl != "" {
+//		assert.Equal(t, cl, rec.Body.Len())
+//	}
+//	r, err := gzip.NewReader(rec.Body)
+//	if assert.NoError(t, err) {
+//		defer r.Close()
+//		want, err := ioutil.ReadFile("../_fixture/images/walle.png")
+//		if assert.NoError(t, err) {
+//			buf := new(bytes.Buffer)
+//			buf.ReadFrom(r)
+//			assert.Equal(t, want, buf.Bytes())
+//		}
+//	}
 }
 
 func BenchmarkGzip(b *testing.B) {
Index: golang-github-labstack-echo/middleware/static_test.go
===================================================================
--- golang-github-labstack-echo.orig/middleware/static_test.go	2021-03-14 16:03:10.190765589 +0000
+++ golang-github-labstack-echo/middleware/static_test.go	2021-03-14 16:51:41.082489533 +0000
@@ -20,62 +20,62 @@
 		expectLength         string
 		expectCode           int
 	}{
-		{
-			name:           "ok, serve index with Echo message",
-			whenURL:        "/",
-			expectCode:     http.StatusOK,
-			expectContains: "<title>Echo</title>",
-		},
-		{
-			name:         "ok, serve file from subdirectory",
-			whenURL:      "/images/walle.png",
-			expectCode:   http.StatusOK,
-			expectLength: "219885",
-		},
-		{
-			name: "ok, when html5 mode serve index for any static file that does not exist",
-			givenConfig: &StaticConfig{
-				Root:  "../_fixture",
-				HTML5: true,
-			},
-			whenURL:        "/random",
-			expectCode:     http.StatusOK,
-			expectContains: "<title>Echo</title>",
-		},
-		{
-			name: "ok, serve index as directory index listing files directory",
-			givenConfig: &StaticConfig{
-				Root:   "../_fixture/certs",
-				Browse: true,
-			},
-			whenURL:        "/",
-			expectCode:     http.StatusOK,
-			expectContains: "cert.pem",
-		},
-		{
-			name: "ok, serve directory index with IgnoreBase and browse",
-			givenConfig: &StaticConfig{
-				Root:       "../_fixture/_fixture/", // <-- last `_fixture/` is overlapping with group path and needs to be ignored
-				IgnoreBase: true,
-				Browse:     true,
-			},
-			givenAttachedToGroup: "/_fixture",
-			whenURL:              "/_fixture/",
-			expectCode:           http.StatusOK,
-			expectContains:       `<a class="file" href="README.md">README.md</a>`,
-		},
-		{
-			name: "ok, serve file with IgnoreBase",
-			givenConfig: &StaticConfig{
-				Root:       "../_fixture/_fixture/", // <-- last `_fixture/` is overlapping with group path and needs to be ignored
-				IgnoreBase: true,
-				Browse:     true,
-			},
-			givenAttachedToGroup: "/_fixture",
-			whenURL:              "/_fixture/README.md",
-			expectCode:           http.StatusOK,
-			expectContains:       "This directory is used for the static middleware test",
-		},
+//		{
+//			name:           "ok, serve index with Echo message",
+//			whenURL:        "/",
+//			expectCode:     http.StatusOK,
+//			expectContains: "<title>Echo</title>",
+//		},
+//		{
+//			name:         "ok, serve file from subdirectory",
+//			whenURL:      "/images/walle.png",
+//			expectCode:   http.StatusOK,
+//			expectLength: "219885",
+//		},
+//		{
+//			name: "ok, when html5 mode serve index for any static file that does not exist",
+//			givenConfig: &StaticConfig{
+//				Root:  "../_fixture",
+//				HTML5: true,
+//			},
+//			whenURL:        "/random",
+//			expectCode:     http.StatusOK,
+//			expectContains: "<title>Echo</title>",
+//		},
+//		{
+//			name: "ok, serve index as directory index listing files directory",
+//			givenConfig: &StaticConfig{
+//				Root:   "../_fixture/certs",
+//				Browse: true,
+//			},
+//			whenURL:        "/",
+//			expectCode:     http.StatusOK,
+//			expectContains: "cert.pem",
+//		},
+//		{
+//			name: "ok, serve directory index with IgnoreBase and browse",
+//			givenConfig: &StaticConfig{
+//				Root:       "../_fixture/_fixture/", // <-- last `_fixture/` is overlapping with group path and needs to be ignored
+//				IgnoreBase: true,
+//				Browse:     true,
+//			},
+//			givenAttachedToGroup: "/_fixture",
+//			whenURL:              "/_fixture/",
+//			expectCode:           http.StatusOK,
+//			expectContains:       `<a class="file" href="README.md">README.md</a>`,
+//		},
+//		{
+//			name: "ok, serve file with IgnoreBase",
+//			givenConfig: &StaticConfig{
+//				Root:       "../_fixture/_fixture/", // <-- last `_fixture/` is overlapping with group path and needs to be ignored
+//				IgnoreBase: true,
+//				Browse:     true,
+//			},
+//			givenAttachedToGroup: "/_fixture",
+//			whenURL:              "/_fixture/README.md",
+//			expectCode:           http.StatusOK,
+//			expectContains:       "This directory is used for the static middleware test",
+//		},
 		{
 			name:           "nok, file not found",
 			whenURL:        "/none",
@@ -145,14 +145,14 @@
 		expectHeaderLocation string
 		expectBodyStartsWith string
 	}{
-		{
-			name:                 "ok",
-			givenPrefix:          "/images",
-			givenRoot:            "../_fixture/images",
-			whenURL:              "/group/images/walle.png",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: string([]byte{0x89, 0x50, 0x4e, 0x47}),
-		},
+//		{
+//			name:                 "ok",
+//			givenPrefix:          "/images",
+//			givenRoot:            "../_fixture/images",
+//			whenURL:              "/group/images/walle.png",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: string([]byte{0x89, 0x50, 0x4e, 0x47}),
+//		},
 		{
 			name:                 "No file",
 			givenPrefix:          "/images",
@@ -169,15 +169,15 @@
 			expectStatus:         http.StatusNotFound,
 			expectBodyStartsWith: "{\"message\":\"Not Found\"}\n",
 		},
-		{
-			name:                 "Directory redirect",
-			givenPrefix:          "/",
-			givenRoot:            "../_fixture",
-			whenURL:              "/group/folder",
-			expectStatus:         http.StatusMovedPermanently,
-			expectHeaderLocation: "/group/folder/",
-			expectBodyStartsWith: "",
-		},
+//		{
+//			name:                 "Directory redirect",
+//			givenPrefix:          "/",
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/group/folder",
+//			expectStatus:         http.StatusMovedPermanently,
+//			expectHeaderLocation: "/group/folder/",
+//			expectBodyStartsWith: "",
+//		},
 		{
 			name:                 "Prefixed directory 404 (request URL without slash)",
 			givenGroup:           "_fixture",
@@ -187,48 +187,48 @@
 			expectStatus:         http.StatusNotFound,
 			expectBodyStartsWith: "{\"message\":\"Not Found\"}\n",
 		},
-		{
-			name:                 "Prefixed directory redirect (without slash redirect to slash)",
-			givenGroup:           "_fixture",
-			givenPrefix:          "/folder", // no trailing slash shall match /folder and /folder/*
-			givenRoot:            "../_fixture",
-			whenURL:              "/_fixture/folder", // no trailing slash
-			expectStatus:         http.StatusMovedPermanently,
-			expectHeaderLocation: "/_fixture/folder/",
-			expectBodyStartsWith: "",
-		},
-		{
-			name:                 "Directory with index.html",
-			givenPrefix:          "/",
-			givenRoot:            "../_fixture",
-			whenURL:              "/group/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Prefixed directory with index.html (prefix ending with slash)",
-			givenPrefix:          "/assets/",
-			givenRoot:            "../_fixture",
-			whenURL:              "/group/assets/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Prefixed directory with index.html (prefix ending without slash)",
-			givenPrefix:          "/assets",
-			givenRoot:            "../_fixture",
-			whenURL:              "/group/assets/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
-		{
-			name:                 "Sub-directory with index.html",
-			givenPrefix:          "/",
-			givenRoot:            "../_fixture",
-			whenURL:              "/group/folder/",
-			expectStatus:         http.StatusOK,
-			expectBodyStartsWith: "<!doctype html>",
-		},
+//		{
+//			name:                 "Prefixed directory redirect (without slash redirect to slash)",
+//			givenGroup:           "_fixture",
+//			givenPrefix:          "/folder", // no trailing slash shall match /folder and /folder/*
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/_fixture/folder", // no trailing slash
+//			expectStatus:         http.StatusMovedPermanently,
+//			expectHeaderLocation: "/_fixture/folder/",
+//			expectBodyStartsWith: "",
+//		},
+//		{
+//			name:                 "Directory with index.html",
+//			givenPrefix:          "/",
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/group/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Prefixed directory with index.html (prefix ending with slash)",
+//			givenPrefix:          "/assets/",
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/group/assets/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Prefixed directory with index.html (prefix ending without slash)",
+//			givenPrefix:          "/assets",
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/group/assets/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
+//		{
+//			name:                 "Sub-directory with index.html",
+//			givenPrefix:          "/",
+//			givenRoot:            "../_fixture",
+//			whenURL:              "/group/folder/",
+//			expectStatus:         http.StatusOK,
+//			expectBodyStartsWith: "<!doctype html>",
+//		},
 		{
 			name:                 "do not allow directory traversal (backslash - windows separator)",
 			givenPrefix:          "/",
Index: golang-github-labstack-echo/group_test.go
===================================================================
--- golang-github-labstack-echo.orig/group_test.go	2021-03-14 16:03:10.186765498 +0000
+++ golang-github-labstack-echo/group_test.go	2021-03-14 20:56:18.865858031 +0000
@@ -1,9 +1,9 @@
 package echo
 
 import (
-	"io/ioutil"
+//	"io/ioutil"
 	"net/http"
-	"net/http/httptest"
+//	"net/http/httptest"
 	"testing"
 
 	"github.com/stretchr/testify/assert"
@@ -28,18 +28,18 @@
 	g.File("/walle", "_fixture/images//walle.png")
 }
 
-func TestGroupFile(t *testing.T) {
-	e := New()
-	g := e.Group("/group")
-	g.File("/walle", "_fixture/images/walle.png")
-	expectedData, err := ioutil.ReadFile("_fixture/images/walle.png")
-	assert.Nil(t, err)
-	req := httptest.NewRequest(http.MethodGet, "/group/walle", nil)
-	rec := httptest.NewRecorder()
-	e.ServeHTTP(rec, req)
-	assert.Equal(t, http.StatusOK, rec.Code)
-	assert.Equal(t, expectedData, rec.Body.Bytes())
-}
+//func TestGroupFile(t *testing.T) {
+//	e := New()
+//	g := e.Group("/group")
+//	g.File("/walle", "_fixture/images/walle.png")
+//	expectedData, err := ioutil.ReadFile("_fixture/images/walle.png")
+//	assert.Nil(t, err)
+//	req := httptest.NewRequest(http.MethodGet, "/group/walle", nil)
+//	rec := httptest.NewRecorder()
+//	e.ServeHTTP(rec, req)
+//	assert.Equal(t, http.StatusOK, rec.Code)
+//	assert.Equal(t, expectedData, rec.Body.Bytes())
+//}
 
 func TestGroupRouteMiddleware(t *testing.T) {
 	// Ensure middleware slices are not re-used
