From 030dba3acbd63cc2d16292c4f1dc06e66b7c1b1a Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Tue, 2 Jan 2024 01:29:14 -0500 Subject: [PATCH] Remove ioutil usage (#1707) --- cmd/gazelle/fix.go | 3 +- cmd/gazelle/fix_test.go | 25 +++++++------ cmd/gazelle/integration_test.go | 14 ++++---- .../generate_repo_config.go | 3 +- cmd/move_labels/move_labels.go | 5 ++- config/config_test.go | 5 ++- internal/go_repository_test.go | 3 +- internal/list_repository_tools_srcs.go | 5 ++- internal/runner_test.go | 14 ++++---- internal/wspace/finder_test.go | 13 ++++--- language/go/fileinfo_go_test.go | 17 +++++---- language/go/fileinfo_test.go | 11 +++--- .../gen_std_package_list.go | 3 +- language/go/generate_test.go | 3 +- language/go/modules.go | 4 +-- language/go/utils.go | 7 ++-- language/proto/fileinfo.go | 4 +-- language/proto/fileinfo_test.go | 5 ++- language/proto/gen/gen_known_imports.go | 3 +- language/proto/generate_test.go | 3 +- repo/remote.go | 5 ++- repo/repo_test.go | 3 +- testtools/files.go | 36 +++++++++---------- 23 files changed, 89 insertions(+), 105 deletions(-) diff --git a/cmd/gazelle/fix.go b/cmd/gazelle/fix.go index 77384becb..a58afc005 100644 --- a/cmd/gazelle/fix.go +++ b/cmd/gazelle/fix.go @@ -18,7 +18,6 @@ package main import ( "bytes" "fmt" - "io/ioutil" "os" "path/filepath" @@ -35,7 +34,7 @@ func fixFile(c *config.Config, f *rule.File) error { if err := os.MkdirAll(filepath.Dir(outPath), 0o777); err != nil { return err } - if err := ioutil.WriteFile(outPath, newContent, 0o666); err != nil { + if err := os.WriteFile(outPath, newContent, 0o666); err != nil { return err } f.Content = newContent diff --git a/cmd/gazelle/fix_test.go b/cmd/gazelle/fix_test.go index d1b1713e3..0437721be 100644 --- a/cmd/gazelle/fix_test.go +++ b/cmd/gazelle/fix_test.go @@ -18,7 +18,6 @@ package main import ( "flag" "fmt" - "io/ioutil" "os" "path/filepath" "runtime" @@ -40,7 +39,7 @@ func TestMain(m *testing.M) { flag.Parse() var err error - tmpDir, err := ioutil.TempDir(os.Getenv("TEST_TMPDIR"), "gazelle_test") + tmpDir, err := os.MkdirTemp(os.Getenv("TEST_TMPDIR"), "gazelle_test") if err != nil { fmt.Fprintln(os.Stderr, err) return @@ -105,14 +104,14 @@ func defaultArgs(dir string) []string { func TestCreateFile(t *testing.T) { // Create a directory with a simple .go file. tmpdir := os.Getenv("TEST_TMPDIR") - dir, err := ioutil.TempDir(tmpdir, "") + dir, err := os.MkdirTemp(tmpdir, "") if err != nil { - t.Fatalf("ioutil.TempDir(%q, %q) failed with %v; want success", tmpdir, "", err) + t.Fatalf("os.MkdirTemp(%q, %q) failed with %v; want success", tmpdir, "", err) } defer os.RemoveAll(dir) goFile := filepath.Join(dir, "main.go") - if err = ioutil.WriteFile(goFile, []byte("package main"), 0o600); err != nil { + if err = os.WriteFile(goFile, []byte("package main"), 0o600); err != nil { t.Fatalf("error writing file %q: %v", goFile, err) } @@ -130,19 +129,19 @@ func TestCreateFile(t *testing.T) { func TestUpdateFile(t *testing.T) { // Create a directory with a simple .go file and an empty BUILD file. tmpdir := os.Getenv("TEST_TMPDIR") - dir, err := ioutil.TempDir(tmpdir, "") + dir, err := os.MkdirTemp(tmpdir, "") if err != nil { - t.Fatalf("ioutil.TempDir(%q, %q) failed with %v; want success", tmpdir, "", err) + t.Fatalf("os.MkdirTemp(%q, %q) failed with %v; want success", tmpdir, "", err) } defer os.RemoveAll(dir) goFile := filepath.Join(dir, "main.go") - if err = ioutil.WriteFile(goFile, []byte("package main"), 0o600); err != nil { + if err = os.WriteFile(goFile, []byte("package main"), 0o600); err != nil { t.Fatalf("error writing file %q: %v", goFile, err) } buildFile := filepath.Join(dir, "BUILD") - if err = ioutil.WriteFile(buildFile, nil, 0o600); err != nil { + if err = os.WriteFile(buildFile, nil, 0o600); err != nil { t.Fatalf("error writing file %q: %v", buildFile, err) } @@ -165,19 +164,19 @@ func TestUpdateFile(t *testing.T) { func TestNoChanges(t *testing.T) { // Create a directory with a BUILD file that doesn't need any changes. tmpdir := os.Getenv("TEST_TMPDIR") - dir, err := ioutil.TempDir(tmpdir, "") + dir, err := os.MkdirTemp(tmpdir, "") if err != nil { - t.Fatalf("ioutil.TempDir(%q, %q) failed with %v; want success", tmpdir, "", err) + t.Fatalf("os.MkdirTemp(%q, %q) failed with %v; want success", tmpdir, "", err) } defer os.RemoveAll(dir) goFile := filepath.Join(dir, "main.go") - if err = ioutil.WriteFile(goFile, []byte("package main\n\nfunc main() {}"), 0o600); err != nil { + if err = os.WriteFile(goFile, []byte("package main\n\nfunc main() {}"), 0o600); err != nil { t.Fatalf("error writing file %q: %v", goFile, err) } buildFile := filepath.Join(dir, "BUILD") - if err = ioutil.WriteFile(buildFile, []byte(`load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") + if err = os.WriteFile(buildFile, []byte(`load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "go_default_library", diff --git a/cmd/gazelle/integration_test.go b/cmd/gazelle/integration_test.go index d4bd4d757..10c1d1a1a 100644 --- a/cmd/gazelle/integration_test.go +++ b/cmd/gazelle/integration_test.go @@ -22,8 +22,6 @@ package main import ( "bytes" "flag" - "fmt" - "io/ioutil" "log" "os" "path/filepath" @@ -211,7 +209,7 @@ go_library( if err := runGazelle(dir, []string{"-go_prefix", "example.com/foo"}); err != nil { t.Fatal(err) } - if got, err := ioutil.ReadFile(filepath.Join(dir, "BUILD")); err != nil { + if got, err := os.ReadFile(filepath.Join(dir, "BUILD")); err != nil { t.Fatal(err) } else if string(got) != want { t.Fatalf("got %s ; want %s", string(got), want) @@ -310,7 +308,7 @@ go_library( if err := runGazelle(dir, []string{c.cmd}); err != nil { t.Fatal(err) } - if got, err := ioutil.ReadFile(filepath.Join(dir, "BUILD")); err != nil { + if got, err := os.ReadFile(filepath.Join(dir, "BUILD")); err != nil { t.Fatal(err) } else if string(got) != c.want { t.Fatalf("got %s ; want %s", string(got), c.want) @@ -360,7 +358,7 @@ go_library( if err := runGazelle(dir, []string{"fix", "-go_prefix", "example.com/foo"}); err != nil { t.Fatal(err) } - if got, err := ioutil.ReadFile(filepath.Join(dir, "BUILD")); err != nil { + if got, err := os.ReadFile(filepath.Join(dir, "BUILD")); err != nil { t.Fatal(err) } else if string(got) != want { t.Fatalf("got %s ; want %s", string(got), want) @@ -2038,7 +2036,7 @@ my_go_binary( `, }, { - Path: "enabled/multiple_mappings/multiple_mappings.go", + Path: "enabled/multiple_mappings/multiple_mappings.go", Content: ` package main @@ -3046,7 +3044,7 @@ github.com/selvatico/go-mocket v1.0.7/go.mod h1:7bSWzuNieCdUlanCVu3w0ppS0LvDtPAZ if err := runGazelle(dir, args); err == nil { t.Fatal("expected error, got nil") } else if err.Error() != errMsg { - t.Error(fmt.Sprintf("want %s, got %s", errMsg, err.Error())) + t.Errorf("want %s, got %s", errMsg, err.Error()) } } @@ -4417,7 +4415,7 @@ go_library( if err := runGazelle(dir, []string{"-go_prefix", "example.com/foo"}); err != nil { t.Fatal(err) } - if got, err := ioutil.ReadFile(filepath.Join(dir, "BUILD")); err != nil { + if got, err := os.ReadFile(filepath.Join(dir, "BUILD")); err != nil { t.Fatal(err) } else if string(got) != want { t.Fatalf("got %s ; want %s; diff %s", string(got), want, cmp.Diff(string(got), want)) diff --git a/cmd/generate_repo_config/generate_repo_config.go b/cmd/generate_repo_config/generate_repo_config.go index bf2f16da6..f573fa27d 100644 --- a/cmd/generate_repo_config/generate_repo_config.go +++ b/cmd/generate_repo_config/generate_repo_config.go @@ -28,7 +28,6 @@ import ( "bytes" "flag" "fmt" - "io/ioutil" "log" "os" "path/filepath" @@ -127,7 +126,7 @@ func generateRepoConfig(configDest, configSource string) ([]string, error) { buf.WriteString("\n") buf.Write(destFile.Format()) - if err := ioutil.WriteFile(configDest, buf.Bytes(), 0o666); err != nil { + if err := os.WriteFile(configDest, buf.Bytes(), 0o666); err != nil { return nil, err } diff --git a/cmd/move_labels/move_labels.go b/cmd/move_labels/move_labels.go index 33a02e0fc..13c3c806a 100644 --- a/cmd/move_labels/move_labels.go +++ b/cmd/move_labels/move_labels.go @@ -20,7 +20,6 @@ import ( "errors" "flag" "fmt" - "io/ioutil" "log" "os" "path" @@ -64,7 +63,7 @@ func run(args []string) error { var errs errorList for _, file := range files { content := build.Format(file) - if err := ioutil.WriteFile(file.Path, content, 0o666); err != nil { + if err := os.WriteFile(file.Path, content, 0o666); err != nil { errs = append(errs, err) } } @@ -90,7 +89,7 @@ func moveLabelsInDir(c *configuration) ([]*build.File, error) { if name := info.Name(); name != "BUILD" && name != "BUILD.bazel" { return nil } - content, err := ioutil.ReadFile(path) + content, err := os.ReadFile(path) if err != nil { errors = append(errors, err) return nil diff --git a/config/config_test.go b/config/config_test.go index b2432560b..0661d047a 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -17,7 +17,6 @@ package config import ( "flag" - "io/ioutil" "os" "path/filepath" "reflect" @@ -27,7 +26,7 @@ import ( ) func TestCommonConfigurerFlags(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "config_test") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "config_test") if err != nil { t.Fatal(err) } @@ -36,7 +35,7 @@ func TestCommonConfigurerFlags(t *testing.T) { if err != nil { t.Fatal(err) } - if err := ioutil.WriteFile(filepath.Join(dir, "WORKSPACE"), nil, 0o666); err != nil { + if err := os.WriteFile(filepath.Join(dir, "WORKSPACE"), nil, 0o666); err != nil { t.Fatal(err) } diff --git a/internal/go_repository_test.go b/internal/go_repository_test.go index 2583e02f3..114fb34db 100644 --- a/internal/go_repository_test.go +++ b/internal/go_repository_test.go @@ -17,7 +17,6 @@ package bazel_test import ( "bytes" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -188,7 +187,7 @@ func TestRepoCacheContainsGoEnv(t *testing.T) { t.Fatal(err) } goEnvPath := filepath.Join(outputBase, "external/bazel_gazelle_go_repository_cache", "go.env") - gotBytes, err := ioutil.ReadFile(goEnvPath) + gotBytes, err := os.ReadFile(goEnvPath) if err != nil { t.Fatalf("could not read file %s: %v", goEnvPath, err) } diff --git a/internal/list_repository_tools_srcs.go b/internal/list_repository_tools_srcs.go index bd83aeb63..495b762b3 100644 --- a/internal/list_repository_tools_srcs.go +++ b/internal/list_repository_tools_srcs.go @@ -26,7 +26,6 @@ import ( "bytes" "flag" "fmt" - "io/ioutil" "log" "os" "path/filepath" @@ -98,11 +97,11 @@ func main() { fmt.Fprintln(buf, "]") if *generate != "" { - if err := ioutil.WriteFile(*generate, buf.Bytes(), 0o666); err != nil { + if err := os.WriteFile(*generate, buf.Bytes(), 0o666); err != nil { log.Fatal(err) } } else { - got, err := ioutil.ReadFile(*check) + got, err := os.ReadFile(*check) if err != nil { log.Fatal(err) } diff --git a/internal/runner_test.go b/internal/runner_test.go index b15733867..66cedb940 100644 --- a/internal/runner_test.go +++ b/internal/runner_test.go @@ -16,7 +16,7 @@ limitations under the License. package bazel_test import ( - "io/ioutil" + "os" "strings" "testing" @@ -24,12 +24,12 @@ import ( ) func TestRunner(t *testing.T) { - origBuildData, err := ioutil.ReadFile("BUILD.bazel") + origBuildData, err := os.ReadFile("BUILD.bazel") if err != nil { t.Fatal(err) } defer func() { - if err := ioutil.WriteFile("BUILD.bazel", origBuildData, 0o666); err != nil { + if err := os.WriteFile("BUILD.bazel", origBuildData, 0o666); err != nil { t.Fatalf("restoring build file: %v", err) } }() @@ -54,12 +54,12 @@ func TestRunner(t *testing.T) { } func TestRunnerUpdateReposFromGoMod(t *testing.T) { - origWorkspaceData, err := ioutil.ReadFile("WORKSPACE") + origWorkspaceData, err := os.ReadFile("WORKSPACE") if err != nil { t.Fatal(err) } defer func() { - if err := ioutil.WriteFile("WORKSPACE", origWorkspaceData, 0o666); err != nil { + if err := os.WriteFile("WORKSPACE", origWorkspaceData, 0o666); err != nil { t.Fatalf("restoring WORKSPACE: %v", err) } }() @@ -70,12 +70,12 @@ func TestRunnerUpdateReposFromGoMod(t *testing.T) { } func TestRunnerUpdateReposCommand(t *testing.T) { - origWorkspaceData, err := ioutil.ReadFile("WORKSPACE") + origWorkspaceData, err := os.ReadFile("WORKSPACE") if err != nil { t.Fatal(err) } defer func() { - if err := ioutil.WriteFile("WORKSPACE", origWorkspaceData, 0o666); err != nil { + if err := os.WriteFile("WORKSPACE", origWorkspaceData, 0o666); err != nil { t.Fatalf("restoring WORKSPACE: %v", err) } }() diff --git a/internal/wspace/finder_test.go b/internal/wspace/finder_test.go index 645a2a961..bb02c7e68 100644 --- a/internal/wspace/finder_test.go +++ b/internal/wspace/finder_test.go @@ -1,8 +1,12 @@ -/* Copyright 2016 The Bazel Authors. All rights reserved. +/* + Copyright 2016 The Bazel Authors. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -12,14 +16,13 @@ limitations under the License. package wspace import ( - "io/ioutil" "os" "path/filepath" "testing" ) func TestFind(t *testing.T) { - tmp, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "") + tmp, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "") if err != nil { t.Fatal(err) } @@ -58,7 +61,7 @@ func TestFind(t *testing.T) { t.Fatal(err) } - if err := ioutil.WriteFile(tc.file, nil, 0o755); err != nil { + if err := os.WriteFile(tc.file, nil, 0o755); err != nil { t.Fatal(err) } } diff --git a/language/go/fileinfo_go_test.go b/language/go/fileinfo_go_test.go index 206012c75..5218aaa30 100644 --- a/language/go/fileinfo_go_test.go +++ b/language/go/fileinfo_go_test.go @@ -17,7 +17,6 @@ package golang import ( "go/build/constraint" - "io/ioutil" "os" "path/filepath" "strings" @@ -171,13 +170,13 @@ var src string }, } { t.Run(tc.desc, func(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestGoFileInfo") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestGoFileInfo") if err != nil { t.Fatal(err) } defer os.RemoveAll(dir) path := filepath.Join(dir, tc.name) - if err := ioutil.WriteFile(path, []byte(tc.source), 0o600); err != nil { + if err := os.WriteFile(path, []byte(tc.source), 0o600); err != nil { t.Fatal(err) } @@ -204,14 +203,14 @@ var src string } func TestGoFileInfoFailure(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestGoFileInfoFailure") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestGoFileInfoFailure") if err != nil { t.Fatal(err) } defer os.RemoveAll(dir) name := "foo_linux_amd64.go" path := filepath.Join(dir, name) - if err := ioutil.WriteFile(path, []byte("pakcage foo"), 0o600); err != nil { + if err := os.WriteFile(path, []byte("pakcage foo"), 0o600); err != nil { t.Fatal(err) } @@ -331,14 +330,14 @@ import ("C") }, } { t.Run(tc.desc, func(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestCgo") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestCgo") if err != nil { t.Fatal(err) } defer os.RemoveAll(dir) name := "TestCgo.go" path := filepath.Join(dir, name) - if err := ioutil.WriteFile(path, []byte(tc.source), 0o600); err != nil { + if err := os.WriteFile(path, []byte(tc.source), 0o600); err != nil { t.Fatal(err) } @@ -405,7 +404,7 @@ var ( ) func TestExpandSrcDirRepoRelative(t *testing.T) { - repo, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "repo") + repo, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "repo") if err != nil { t.Fatal(err) } @@ -421,7 +420,7 @@ func TestExpandSrcDirRepoRelative(t *testing.T) { */ import "C" `) - if err := ioutil.WriteFile(goFile, content, 0o644); err != nil { + if err := os.WriteFile(goFile, content, 0o644); err != nil { t.Fatal(err) } c, _, _ := testConfig( diff --git a/language/go/fileinfo_test.go b/language/go/fileinfo_test.go index 3021a6294..b7c5c1d91 100644 --- a/language/go/fileinfo_test.go +++ b/language/go/fileinfo_test.go @@ -16,7 +16,6 @@ limitations under the License. package golang import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -50,7 +49,7 @@ func TestOtherFileInfo(t *testing.T) { }, } { t.Run(tc.desc, func(t *testing.T) { - if err := ioutil.WriteFile(tc.name, []byte(tc.source), 0o600); err != nil { + if err := os.WriteFile(tc.name, []byte(tc.source), 0o600); err != nil { t.Fatal(err) } defer os.Remove(tc.name) @@ -359,7 +358,7 @@ package main`, }, } { t.Run(tc.desc, func(t *testing.T) { - f, err := ioutil.TempFile(".", "TestReadTags") + f, err := os.CreateTemp(".", "TestReadTags") if err != nil { t.Fatal(err) } @@ -380,7 +379,7 @@ package main`, } func TestCheckConstraints(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestCheckConstraints") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestCheckConstraints") if err != nil { t.Fatal(err) } @@ -596,7 +595,7 @@ import "C" } path := filepath.Join(dir, filename) - if err := ioutil.WriteFile(path, content, 0o666); err != nil { + if err := os.WriteFile(path, content, 0o666); err != nil { t.Fatal(err) } @@ -696,7 +695,7 @@ func TestIsOSArchSpecific(t *testing.T) { }) path := filepath.Join(tmpDir, tc.filename) - if err := ioutil.WriteFile(path, []byte(tc.content), 0o666); err != nil { + if err := os.WriteFile(path, []byte(tc.content), 0o666); err != nil { t.Fatal(err) } fi := goFileInfo(path, "") diff --git a/language/go/gen_std_package_list/gen_std_package_list.go b/language/go/gen_std_package_list/gen_std_package_list.go index e26980d02..8dadfb674 100644 --- a/language/go/gen_std_package_list/gen_std_package_list.go +++ b/language/go/gen_std_package_list/gen_std_package_list.go @@ -22,7 +22,6 @@ package main import ( "bytes" - "io/ioutil" "log" "os" "text/template" @@ -37,7 +36,7 @@ func main() { packagesTxtPath := os.Args[1] genGoPath := os.Args[2] - packagesTxt, err := ioutil.ReadFile(packagesTxtPath) + packagesTxt, err := os.ReadFile(packagesTxtPath) if err != nil { log.Fatal(err) } diff --git a/language/go/generate_test.go b/language/go/generate_test.go index 94903a935..60d775cc9 100644 --- a/language/go/generate_test.go +++ b/language/go/generate_test.go @@ -16,7 +16,6 @@ limitations under the License. package golang import ( - "io/ioutil" "os" "path" "path/filepath" @@ -127,7 +126,7 @@ func TestGenerateRules(t *testing.T) { f.Sync() got := string(bzl.Format(f.File)) wantPath := filepath.Join(dir, "BUILD.want") - wantBytes, err := ioutil.ReadFile(wantPath) + wantBytes, err := os.ReadFile(wantPath) if err != nil { t.Fatalf("error reading %s: %v", wantPath, err) } diff --git a/language/go/modules.go b/language/go/modules.go index 2440c186a..828cb8da7 100644 --- a/language/go/modules.go +++ b/language/go/modules.go @@ -18,7 +18,7 @@ package golang import ( "bytes" "fmt" - "io/ioutil" + "os" "path/filepath" "strings" @@ -39,7 +39,7 @@ func importReposFromModules(args language.ImportReposArgs) language.ImportReposR // Load sums from go.sum. Ideally, they're all there. goSumPath := filepath.Join(filepath.Dir(args.Path), "go.sum") - data, _ = ioutil.ReadFile(goSumPath) + data, _ = os.ReadFile(goSumPath) lines := bytes.Split(data, []byte("\n")) for _, line := range lines { line = bytes.TrimSpace(line) diff --git a/language/go/utils.go b/language/go/utils.go index 7e5960071..3816d972c 100644 --- a/language/go/utils.go +++ b/language/go/utils.go @@ -21,7 +21,6 @@ import ( "errors" "fmt" "go/build" - "io/ioutil" "log" "os" "os/exec" @@ -116,7 +115,7 @@ func fillMissingSums(pathToModule map[string]*moduleFromList) (map[string]*modul } if len(missingSumArgs) > 0 { - tmpDir, err := ioutil.TempDir("", "") + tmpDir, err := os.MkdirTemp("", "") if err != nil { return nil, err } @@ -220,7 +219,7 @@ func runGoCommandForOutput(dir string, args ...string) ([]byte, error) { env := os.Environ() env = append(env, "GO111MODULE=on") if os.Getenv("GOCACHE") == "" && os.Getenv("HOME") == "" { - gocache, err := ioutil.TempDir("", "") + gocache, err := os.MkdirTemp("", "") if err != nil { return nil, err } @@ -228,7 +227,7 @@ func runGoCommandForOutput(dir string, args ...string) ([]byte, error) { defer os.RemoveAll(gocache) } if os.Getenv("GOPATH") == "" && os.Getenv("HOME") == "" { - gopath, err := ioutil.TempDir("", "") + gopath, err := os.MkdirTemp("", "") if err != nil { return nil, err } diff --git a/language/proto/fileinfo.go b/language/proto/fileinfo.go index a76d642e8..cbeb381a2 100644 --- a/language/proto/fileinfo.go +++ b/language/proto/fileinfo.go @@ -17,8 +17,8 @@ package proto import ( "bytes" - "io/ioutil" "log" + "os" "path/filepath" "regexp" "sort" @@ -51,7 +51,7 @@ func protoFileInfo(dir, name string) FileInfo { Path: filepath.Join(dir, name), Name: name, } - content, err := ioutil.ReadFile(info.Path) + content, err := os.ReadFile(info.Path) if err != nil { log.Printf("%s: error reading proto file: %v", info.Path, err) return info diff --git a/language/proto/fileinfo_test.go b/language/proto/fileinfo_test.go index 6065cd0d3..5438f004c 100644 --- a/language/proto/fileinfo_test.go +++ b/language/proto/fileinfo_test.go @@ -16,7 +16,6 @@ limitations under the License. package proto import ( - "io/ioutil" "os" "path/filepath" "reflect" @@ -121,12 +120,12 @@ import "second.proto";`, }, } { t.Run(tc.desc, func(t *testing.T) { - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestProtoFileinfo") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestProtoFileinfo") if err != nil { t.Fatal(err) } defer os.RemoveAll(dir) - if err := ioutil.WriteFile(filepath.Join(dir, tc.name), []byte(tc.proto), 0o600); err != nil { + if err := os.WriteFile(filepath.Join(dir, tc.name), []byte(tc.proto), 0o600); err != nil { t.Fatal(err) } diff --git a/language/proto/gen/gen_known_imports.go b/language/proto/gen/gen_known_imports.go index 8cc7e8041..f48494426 100644 --- a/language/proto/gen/gen_known_imports.go +++ b/language/proto/gen/gen_known_imports.go @@ -26,7 +26,6 @@ import ( "flag" "fmt" "go/format" - "io/ioutil" "log" "os" "path/filepath" @@ -138,7 +137,7 @@ func run(args []string) (err error) { if err != nil { return err } - if err := ioutil.WriteFile(knownImportsPath, knownImportsData, 0o666); err != nil { + if err := os.WriteFile(knownImportsPath, knownImportsData, 0o666); err != nil { return err } diff --git a/language/proto/generate_test.go b/language/proto/generate_test.go index 196106872..e5783a4c7 100644 --- a/language/proto/generate_test.go +++ b/language/proto/generate_test.go @@ -16,7 +16,6 @@ limitations under the License. package proto import ( - "io/ioutil" "os" "path/filepath" "reflect" @@ -80,7 +79,7 @@ func TestGenerateRules(t *testing.T) { f.Sync() got := string(bzl.Format(f.File)) wantPath := filepath.Join(dir, "BUILD.want") - wantBytes, err := ioutil.ReadFile(wantPath) + wantBytes, err := os.ReadFile(wantPath) if err != nil { t.Fatalf("error reading %s: %v", wantPath, err) } diff --git a/repo/remote.go b/repo/remote.go index 1422d4560..1b2805854 100644 --- a/repo/remote.go +++ b/repo/remote.go @@ -20,7 +20,6 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path" @@ -604,11 +603,11 @@ func (m *remoteCacheMap) ensure(key string, load func() (interface{}, error)) (i func (rc *RemoteCache) initTmp() { rc.tmpOnce.Do(func() { - rc.tmpDir, rc.tmpErr = ioutil.TempDir("", "gazelle-remotecache-") + rc.tmpDir, rc.tmpErr = os.MkdirTemp("", "gazelle-remotecache-") if rc.tmpErr != nil { return } - rc.tmpErr = ioutil.WriteFile(filepath.Join(rc.tmpDir, "go.mod"), []byte("module gazelle_remote_cache\ngo 1.15\n"), 0o666) + rc.tmpErr = os.WriteFile(filepath.Join(rc.tmpDir, "go.mod"), []byte("module gazelle_remote_cache\ngo 1.15\n"), 0o666) }) } diff --git a/repo/repo_test.go b/repo/repo_test.go index 837ddc6f2..460e8952a 100644 --- a/repo/repo_test.go +++ b/repo/repo_test.go @@ -17,7 +17,6 @@ package repo_test import ( "fmt" - "io/ioutil" "os" "path/filepath" "runtime" @@ -34,7 +33,7 @@ func TestFindExternalRepo(t *testing.T) { t.Skip("symlinks not supported on windows") } - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "TestFindExternalRepo") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "TestFindExternalRepo") if err != nil { t.Fatal(err) } diff --git a/testtools/files.go b/testtools/files.go index ad051e2ba..b69a58939 100644 --- a/testtools/files.go +++ b/testtools/files.go @@ -22,7 +22,6 @@ import ( "fmt" "io" "io/fs" - "io/ioutil" "os" "os/exec" "path" @@ -63,7 +62,7 @@ type FileSpec struct { // after the test. func CreateFiles(t *testing.T, files []FileSpec) (dir string, cleanup func()) { t.Helper() - dir, err := ioutil.TempDir(os.Getenv("TEST_TEMPDIR"), "gazelle_test") + dir, err := os.MkdirTemp(os.Getenv("TEST_TEMPDIR"), "gazelle_test") if err != nil { t.Fatal(err) } @@ -94,7 +93,7 @@ func CreateFiles(t *testing.T, files []FileSpec) (dir string, cleanup func()) { } continue } - if err := ioutil.WriteFile(path, []byte(f.Content), 0o600); err != nil { + if err := os.WriteFile(path, []byte(f.Content), 0o600); err != nil { os.RemoveAll(dir) t.Fatal(err) } @@ -129,7 +128,7 @@ func CheckFiles(t *testing.T, dir string, files []FileSpec) { } } else { want := strings.TrimSpace(f.Content) - gotBytes, err := ioutil.ReadFile(filepath.Join(dir, f.Path)) + gotBytes, err := os.ReadFile(filepath.Join(dir, f.Path)) if err != nil { t.Errorf("could not read %s: %v", f.Path, err) continue @@ -176,18 +175,19 @@ var ( // TestGazelleGenerationOnPath runs a full gazelle binary on a testdata directory. // With a test data directory of the form: -//└── -// └── some_test -// ├── WORKSPACE -// ├── README.md --> README describing what the test does. -// ├── arguments.txt --> newline delimited list of arguments to pass in (ignored if empty). -// ├── expectedStdout.txt --> Expected stdout for this test. -// ├── expectedStderr.txt --> Expected stderr for this test. -// ├── expectedExitCode.txt --> Expected exit code for this test. -// └── app -// └── sourceFile.foo -// └── BUILD.in --> BUILD file prior to running gazelle. -// └── BUILD.out --> BUILD file expected after running gazelle. +// └── +// +// └── some_test +// ├── WORKSPACE +// ├── README.md --> README describing what the test does. +// ├── arguments.txt --> newline delimited list of arguments to pass in (ignored if empty). +// ├── expectedStdout.txt --> Expected stdout for this test. +// ├── expectedStderr.txt --> Expected stderr for this test. +// ├── expectedExitCode.txt --> Expected exit code for this test. +// └── app +// └── sourceFile.foo +// └── BUILD.in --> BUILD file prior to running gazelle. +// └── BUILD.out --> BUILD file expected after running gazelle. func TestGazelleGenerationOnPath(t *testing.T, args *TestGazelleGenerationArgs) { t.Run(args.Name, func(t *testing.T) { t.Helper() // Make the stack trace a little bit more clear. @@ -217,9 +217,9 @@ func TestGazelleGenerationOnPath(t *testing.T, args *TestGazelleGenerationArgs) return nil } - content, err := ioutil.ReadFile(path) + content, err := os.ReadFile(path) if err != nil { - t.Errorf("ioutil.ReadFile(%q) error: %v", path, err) + t.Errorf("os.ReadFile(%q) error: %v", path, err) } // Read in expected stdout, stderr, and exit code files.