From 494035465d40286f0a1b4953699cd7a34b02f73a Mon Sep 17 00:00:00 2001 From: web3-bot Date: Thu, 1 Sep 2022 09:14:34 +0000 Subject: [PATCH 1/3] bump go.mod to Go 1.18 and run go fix This commit was moved from ipfs/go-ipfs-files@e603bdf2737b12dbc7f8813c7818190cc5f0297e --- files/filewriter_unix.go | 1 - files/filewriter_unix_test.go | 1 - files/filewriter_windows.go | 1 - files/filewriter_windows_test.go | 1 - files/is_hidden.go | 1 - files/is_hidden_windows.go | 1 - 6 files changed, 6 deletions(-) diff --git a/files/filewriter_unix.go b/files/filewriter_unix.go index 8252e21fb..98d040018 100644 --- a/files/filewriter_unix.go +++ b/files/filewriter_unix.go @@ -1,5 +1,4 @@ //go:build darwin || linux || netbsd || openbsd || freebsd || dragonfly -// +build darwin linux netbsd openbsd freebsd dragonfly package files diff --git a/files/filewriter_unix_test.go b/files/filewriter_unix_test.go index 09aeb919f..14c1967dd 100644 --- a/files/filewriter_unix_test.go +++ b/files/filewriter_unix_test.go @@ -1,5 +1,4 @@ //go:build darwin || linux || netbsd || openbsd -// +build darwin linux netbsd openbsd package files diff --git a/files/filewriter_windows.go b/files/filewriter_windows.go index 4392e0e2c..a5d626199 100644 --- a/files/filewriter_windows.go +++ b/files/filewriter_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package files diff --git a/files/filewriter_windows_test.go b/files/filewriter_windows_test.go index 4193ac9ea..586a9dbc8 100644 --- a/files/filewriter_windows_test.go +++ b/files/filewriter_windows_test.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package files diff --git a/files/is_hidden.go b/files/is_hidden.go index 9ab08f7a4..9842ca232 100644 --- a/files/is_hidden.go +++ b/files/is_hidden.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package files diff --git a/files/is_hidden_windows.go b/files/is_hidden_windows.go index a8b95ca6b..9a0703863 100644 --- a/files/is_hidden_windows.go +++ b/files/is_hidden_windows.go @@ -1,5 +1,4 @@ //go:build windows -// +build windows package files From 8520c194769caa446f7c484f47d340e811facd58 Mon Sep 17 00:00:00 2001 From: web3-bot Date: Thu, 1 Sep 2022 09:14:40 +0000 Subject: [PATCH 2/3] stop using the deprecated io/ioutil package This commit was moved from ipfs/go-ipfs-files@c2dbc997b17a8d211c9f51a18755827efdac0836 --- files/filewriter_test.go | 7 +++---- files/filewriter_unix_test.go | 3 +-- files/filewriter_windows_test.go | 3 +-- files/filter_test.go | 5 ++--- files/helpers_test.go | 4 ++-- files/multipartfile.go | 3 +-- files/readerfile.go | 3 +-- files/serialfile.go | 3 +-- files/serialfile_test.go | 8 ++++---- files/webfile_test.go | 10 +++++----- 10 files changed, 21 insertions(+), 28 deletions(-) diff --git a/files/filewriter_test.go b/files/filewriter_test.go index c61e29f63..00a0b1ce2 100644 --- a/files/filewriter_test.go +++ b/files/filewriter_test.go @@ -2,7 +2,6 @@ package files import ( "fmt" - "io/ioutil" "os" "path/filepath" "testing" @@ -20,7 +19,7 @@ func TestWriteTo(t *testing.T) { "a": NewBytesFile([]byte("foobar")), }), }) - tmppath, err := ioutil.TempDir("", "files-test") + tmppath, err := os.MkdirTemp("", "files-test") if err != nil { t.Fatal(err) } @@ -60,7 +59,7 @@ func TestWriteTo(t *testing.T) { return fmt.Errorf("expected a directory at %q", rpath) } } else { - actual, err := ioutil.ReadFile(cpath) + actual, err := os.ReadFile(cpath) if err != nil { return err } @@ -79,7 +78,7 @@ func TestWriteTo(t *testing.T) { } func TestDontAllowOverwrite(t *testing.T) { - tmppath, err := ioutil.TempDir("", "files-test") + tmppath, err := os.MkdirTemp("", "files-test") assert.NoError(t, err) defer os.RemoveAll(tmppath) diff --git a/files/filewriter_unix_test.go b/files/filewriter_unix_test.go index 14c1967dd..ffc33ce51 100644 --- a/files/filewriter_unix_test.go +++ b/files/filewriter_unix_test.go @@ -3,7 +3,6 @@ package files import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -12,7 +11,7 @@ import ( ) func TestWriteToInvalidPaths(t *testing.T) { - tmppath, err := ioutil.TempDir("", "files-test") + tmppath, err := os.MkdirTemp("", "files-test") assert.NoError(t, err) defer os.RemoveAll(tmppath) diff --git a/files/filewriter_windows_test.go b/files/filewriter_windows_test.go index 586a9dbc8..ca0222ba3 100644 --- a/files/filewriter_windows_test.go +++ b/files/filewriter_windows_test.go @@ -3,7 +3,6 @@ package files import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -12,7 +11,7 @@ import ( ) func TestWriteToInvalidPaths(t *testing.T) { - tmppath, err := ioutil.TempDir("", "files-test") + tmppath, err := os.MkdirTemp("", "files-test") assert.NoError(t, err) defer os.RemoveAll(tmppath) diff --git a/files/filter_test.go b/files/filter_test.go index ad2e48cd9..8ce25ee3b 100644 --- a/files/filter_test.go +++ b/files/filter_test.go @@ -1,7 +1,6 @@ package files import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -35,13 +34,13 @@ func TestFileFilter(t *testing.T) { if err == nil { t.Errorf("creating a filter without an invalid ignore file path should have failed") } - tmppath, err := ioutil.TempDir("", "filter-test") + tmppath, err := os.MkdirTemp("", "filter-test") if err != nil { t.Fatal(err) } ignoreFilePath := filepath.Join(tmppath, "ignoreFile") ignoreFileContents := []byte("a.txt") - if err := ioutil.WriteFile(ignoreFilePath, ignoreFileContents, 0666); err != nil { + if err := os.WriteFile(ignoreFilePath, ignoreFileContents, 0666); err != nil { t.Fatal(err) } filterWithIgnoreFile, err := NewFilter(ignoreFilePath, nil, false) diff --git a/files/helpers_test.go b/files/helpers_test.go index ec420bdc2..0180b8f27 100644 --- a/files/helpers_test.go +++ b/files/helpers_test.go @@ -1,7 +1,7 @@ package files import ( - "io/ioutil" + "io" "testing" ) @@ -56,7 +56,7 @@ func CheckDir(t *testing.T, dir Directory, expected []Event) { if !ok { t.Fatalf("[%d] expected file to be a normal file: %T", i, it.Node()) } - out, err := ioutil.ReadAll(mf) + out, err := io.ReadAll(mf) if err != nil { t.Errorf("[%d] failed to read file", i) continue diff --git a/files/multipartfile.go b/files/multipartfile.go index 24211cdc0..27653982c 100644 --- a/files/multipartfile.go +++ b/files/multipartfile.go @@ -2,7 +2,6 @@ package files import ( "io" - "io/ioutil" "mime" "mime/multipart" "net/url" @@ -94,7 +93,7 @@ func (w *multipartWalker) nextFile() (Node, error) { walker: w, }, nil case applicationSymlink: - out, err := ioutil.ReadAll(part) + out, err := io.ReadAll(part) if err != nil { return nil, err } diff --git a/files/readerfile.go b/files/readerfile.go index f98fec481..a03dae23f 100644 --- a/files/readerfile.go +++ b/files/readerfile.go @@ -3,7 +3,6 @@ package files import ( "bytes" "io" - "io/ioutil" "os" "path/filepath" ) @@ -29,7 +28,7 @@ func NewReaderFile(reader io.Reader) File { func NewReaderStatFile(reader io.Reader, stat os.FileInfo) File { rc, ok := reader.(io.ReadCloser) if !ok { - rc = ioutil.NopCloser(reader) + rc = io.NopCloser(reader) } return &ReaderFile{"", rc, stat, -1} diff --git a/files/serialfile.go b/files/serialfile.go index 86af30680..77871d352 100644 --- a/files/serialfile.go +++ b/files/serialfile.go @@ -3,7 +3,6 @@ package files import ( "errors" "fmt" - "io/ioutil" "os" "path/filepath" ) @@ -52,7 +51,7 @@ func NewSerialFileWithFilter(path string, filter *Filter, stat os.FileInfo) (Nod case mode.IsDir(): // for directories, stat all of the contents first, so we know what files to // open when Entries() is called - contents, err := ioutil.ReadDir(path) + contents, err := os.ReadDir(path) if err != nil { return nil, err } diff --git a/files/serialfile_test.go b/files/serialfile_test.go index ae7639691..80c252a7e 100644 --- a/files/serialfile_test.go +++ b/files/serialfile_test.go @@ -2,7 +2,7 @@ package files import ( "fmt" - "io/ioutil" + "io" "os" "path/filepath" "sort" @@ -22,7 +22,7 @@ func TestSerialFile(t *testing.T) { } func testSerialFile(t *testing.T, hidden, withIgnoreRules bool) { - tmppath, err := ioutil.TempDir("", "files-test") + tmppath, err := os.MkdirTemp("", "files-test") if err != nil { t.Fatal(err) } @@ -67,7 +67,7 @@ func testSerialFile(t *testing.T, hidden, withIgnoreRules bool) { if c == "" { continue } - if err := ioutil.WriteFile(path, []byte(c), 0666); err != nil { + if err := os.WriteFile(path, []byte(c), 0666); err != nil { t.Fatal(err) } } @@ -158,7 +158,7 @@ testInputs: return fmt.Errorf("expected a directory at %q", path) } case File: - actual, err := ioutil.ReadAll(nd) + actual, err := io.ReadAll(nd) if err != nil { return err } diff --git a/files/webfile_test.go b/files/webfile_test.go index 57a67fe87..94cddb5d2 100644 --- a/files/webfile_test.go +++ b/files/webfile_test.go @@ -2,7 +2,7 @@ package files import ( "fmt" - "io/ioutil" + "io" "net/http" "net/http/httptest" "net/url" @@ -21,7 +21,7 @@ func TestWebFile(t *testing.T) { t.Fatal(err) } wf := NewWebFile(u) - body, err := ioutil.ReadAll(wf) + body, err := io.ReadAll(wf) if err != nil { t.Fatal(err) } @@ -41,7 +41,7 @@ func TestWebFile_notFound(t *testing.T) { t.Fatal(err) } wf := NewWebFile(u) - _, err = ioutil.ReadAll(wf) + _, err = io.ReadAll(wf) if err == nil { t.Fatal("expected error") } @@ -68,7 +68,7 @@ func TestWebFileSize(t *testing.T) { t.Errorf("expected size to be %d, got %d", len(body), size) } - actual, err := ioutil.ReadAll(wf1) + actual, err := io.ReadAll(wf1) if err != nil { t.Fatal(err) } @@ -81,7 +81,7 @@ func TestWebFileSize(t *testing.T) { // Read size after reading file. wf2 := NewWebFile(u) - actual, err = ioutil.ReadAll(wf2) + actual, err = io.ReadAll(wf2) if err != nil { t.Fatal(err) } From e6e3c80d0051f0b3f8478b7a878f2b01e47281d7 Mon Sep 17 00:00:00 2001 From: galargh Date: Thu, 1 Sep 2022 11:33:55 +0200 Subject: [PATCH 3/3] fix: type of contents in serialfile This commit was moved from ipfs/go-ipfs-files@263276c1f170d34e51279193ee44eb3f3d00d40b --- files/serialfile.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/files/serialfile.go b/files/serialfile.go index 77871d352..176038cde 100644 --- a/files/serialfile.go +++ b/files/serialfile.go @@ -3,6 +3,7 @@ package files import ( "errors" "fmt" + "io/fs" "os" "path/filepath" ) @@ -51,10 +52,18 @@ func NewSerialFileWithFilter(path string, filter *Filter, stat os.FileInfo) (Nod case mode.IsDir(): // for directories, stat all of the contents first, so we know what files to // open when Entries() is called - contents, err := os.ReadDir(path) + entries, err := os.ReadDir(path) if err != nil { return nil, err } + contents := make([]fs.FileInfo, 0, len(entries)) + for _, entry := range entries { + content, err := entry.Info() + if err != nil { + return nil, err + } + contents = append(contents, content) + } return &serialFile{path, contents, stat, filter}, nil case mode&os.ModeSymlink != 0: target, err := os.Readlink(path)