diff --git a/attack.go b/attack.go index 2087f4f5..bad0896e 100644 --- a/attack.go +++ b/attack.go @@ -7,12 +7,12 @@ import ( "flag" "fmt" "io" - "io/ioutil" "net" "net/http" "os" "os/signal" "strings" + "syscall" "time" "github.com/tsenart/vegeta/v12/internal/resolver" @@ -137,7 +137,7 @@ func attack(opts *attackOpts) (err error) { var body []byte if bodyf, ok := files[opts.bodyf]; ok { - if body, err = ioutil.ReadAll(bodyf); err != nil { + if body, err = io.ReadAll(bodyf); err != nil { return fmt.Errorf("error reading %s: %s", opts.bodyf, err) } } @@ -201,7 +201,7 @@ func attack(opts *attackOpts) (err error) { res := atk.Attack(tr, opts.rate, opts.duration, opts.name) enc := vegeta.NewEncoder(out) sig := make(chan os.Signal, 1) - signal.Notify(sig, os.Interrupt) + signal.Notify(sig, os.Interrupt, syscall.SIGTERM) return processAttack(atk, res, enc, sig) } @@ -237,7 +237,7 @@ func tlsConfig(insecure bool, certf, keyf string, rootCerts []string) (*tls.Conf filenames := append([]string{certf, keyf}, rootCerts...) for _, f := range filenames { if f != "" { - if files[f], err = ioutil.ReadFile(f); err != nil { + if files[f], err = os.ReadFile(f); err != nil { return nil, err } } diff --git a/internal/cmd/jsonschema/main.go b/internal/cmd/jsonschema/main.go index 9d6dac78..7ceb52c5 100644 --- a/internal/cmd/jsonschema/main.go +++ b/internal/cmd/jsonschema/main.go @@ -4,7 +4,6 @@ import ( "encoding/json" "flag" "fmt" - "io/ioutil" "os" "strings" @@ -42,7 +41,7 @@ func main() { case "stdout": _, err = os.Stdout.Write(schema) default: - err = ioutil.WriteFile(*out, schema, 0644) + err = os.WriteFile(*out, schema, 0644) } if err != nil { diff --git a/internal/resolver/resolver_test.go b/internal/resolver/resolver_test.go index eba32500..882738a6 100644 --- a/internal/resolver/resolver_test.go +++ b/internal/resolver/resolver_test.go @@ -3,7 +3,7 @@ package resolver import ( "errors" "fmt" - "io/ioutil" + "io" "net" "net/http" "net/http/httptest" @@ -102,7 +102,7 @@ func TestResolver(t *testing.T) { if err != nil { t.Fatalf("failed resolver round trip: %s", err) } - body, err := ioutil.ReadAll(resp.Body) + body, err := io.ReadAll(resp.Body) if err != nil { t.Fatalf("failed to read respose body") } diff --git a/lib/attack_fuzz.go b/lib/attack_fuzz.go index 9a729533..eddb8807 100644 --- a/lib/attack_fuzz.go +++ b/lib/attack_fuzz.go @@ -6,7 +6,6 @@ package vegeta import ( "encoding/binary" "fmt" - "io/ioutil" "net" "net/http" "os" @@ -21,7 +20,7 @@ func FuzzAttackerTCP(fuzz []byte) int { } // Start server - directory, err := ioutil.TempDir("/tmp", "fuzz") + directory, err := os.MkdirTemp("/tmp", "fuzz") if err != nil { panic(err.Error()) } @@ -78,7 +77,7 @@ func FuzzAttackerHTTP(fuzz []byte) int { } // Start server - directory, err := ioutil.TempDir("/tmp", "fuzz") + directory, err := os.MkdirTemp("/tmp", "fuzz") if err != nil { panic(err.Error()) } diff --git a/lib/attack_test.go b/lib/attack_test.go index 290e9a07..88d09aa6 100644 --- a/lib/attack_test.go +++ b/lib/attack_test.go @@ -6,7 +6,6 @@ import ( "encoding/json" "fmt" "io" - "io/ioutil" "net" "net/http" "net/http/httptest" @@ -297,7 +296,7 @@ func TestUnixSocket(t *testing.T) { t.Parallel() body := []byte("IT'S A UNIX SYSTEM, I KNOW THIS") - socketDir, err := ioutil.TempDir("", "vegata") + socketDir, err := os.MkdirTemp("", "vegata") if err != nil { t.Fatal("Failed to create socket dir", err) } @@ -352,10 +351,10 @@ func TestClient(t *testing.T) { } client := &http.Client{ - Timeout: time.Duration(1 * time.Nanosecond), + Timeout: 1 * time.Nanosecond, Transport: &http.Transport{ Proxy: http.ProxyFromEnvironment, - Dial: dialer.Dial, + DialContext: dialer.DialContext, TLSClientConfig: DefaultTLSConfig, MaxIdleConnsPerHost: DefaultConnections, }, diff --git a/lib/metrics_test.go b/lib/metrics_test.go index f8de067f..8d22f1a4 100644 --- a/lib/metrics_test.go +++ b/lib/metrics_test.go @@ -1,7 +1,7 @@ package vegeta import ( - "io/ioutil" + "io" "math/rand" "reflect" "testing" @@ -146,7 +146,7 @@ func TestMetrics_EmptyMetricsCanBeReported(t *testing.T) { m.Close() reporter := NewJSONReporter(&m) - if err := reporter(ioutil.Discard); err != nil { + if err := reporter(io.Discard); err != nil { t.Error(err) } } diff --git a/lib/plot/plot.go b/lib/plot/plot.go index d4b29bdf..0a9e7d9a 100644 --- a/lib/plot/plot.go +++ b/lib/plot/plot.go @@ -7,7 +7,6 @@ import ( "fmt" "html/template" "io" - "io/ioutil" "math" "sort" "strconv" @@ -167,7 +166,7 @@ func (p *Plot) Close() { } // WriteTo writes the HTML plot to the give io.Writer. -func (p Plot) WriteTo(w io.Writer) (n int64, err error) { +func (p *Plot) WriteTo(w io.Writer) (n int64, err error) { type dygraphsOpts struct { Title string `json:"title"` Labels []string `json:"labels,omitempty"` @@ -338,7 +337,7 @@ func asset(path string) ([]byte, error) { if err != nil { return nil, err } - return ioutil.ReadAll(file) + return io.ReadAll(file) } type countingWriter struct { diff --git a/lib/plot/plot_test.go b/lib/plot/plot_test.go index 8ae9d7b7..9388b41c 100644 --- a/lib/plot/plot_test.go +++ b/lib/plot/plot_test.go @@ -3,8 +3,9 @@ package plot import ( "bytes" "flag" - "io/ioutil" + "io" "math/rand" + "os" "path/filepath" "sort" "testing" @@ -49,12 +50,12 @@ func TestPlot(t *testing.T) { gp := filepath.Join("testdata", filepath.FromSlash(t.Name())+".golden.html") if *update { t.Logf("updating %q", gp) - if err := ioutil.WriteFile(gp, b.Bytes(), 0644); err != nil { + if err := os.WriteFile(gp, b.Bytes(), 0644); err != nil { t.Fatalf("failed to update %q: %s", gp, err) } } - g, err := ioutil.ReadFile(gp) + g, err := os.ReadFile(gp) if err != nil { t.Fatalf("failed reading %q: %s", gp, err) } @@ -158,7 +159,7 @@ func BenchmarkPlot(b *testing.B) { b.Run("WriteTo", func(b *testing.B) { for i := 0; i < b.N; i++ { - _, _ = plot.WriteTo(ioutil.Discard) + _, _ = plot.WriteTo(io.Discard) } }) } diff --git a/lib/results_test.go b/lib/results_test.go index 3d72c33f..a6da0175 100644 --- a/lib/results_test.go +++ b/lib/results_test.go @@ -4,7 +4,6 @@ import ( "bytes" "encoding/json" "io" - "io/ioutil" "math/rand" "net/http" "reflect" @@ -170,7 +169,7 @@ func BenchmarkResultEncodings(b *testing.B) { {"csv", NewCSVEncoder, NewCSVDecoder}, {"json", NewJSONEncoder, NewJSONDecoder}, } { - enc := tc.enc(ioutil.Discard) + enc := tc.enc(io.Discard) b.Run(tc.encoding+"-encode", func(b *testing.B) { for i := 0; i < b.N; i++ { diff --git a/lib/targets.go b/lib/targets.go index f501c6f4..fee3f383 100644 --- a/lib/targets.go +++ b/lib/targets.go @@ -6,9 +6,9 @@ import ( "errors" "fmt" "io" - "io/ioutil" "net/http" "net/url" + "os" "regexp" "strings" "sync" @@ -200,7 +200,7 @@ func (enc TargetEncoder) Encode(t *Target) error { return enc(t) } -// NewJSONTargetEncoder returns a TargetEncoder that encods Targets in the JSON format. +// NewJSONTargetEncoder returns a TargetEncoder that encodes Targets in the JSON format. func NewJSONTargetEncoder(w io.Writer) TargetEncoder { var jw jwriter.Writer return func(t *Target) error { @@ -310,7 +310,7 @@ func NewHTTPTargeter(src io.Reader, body []byte, hdr http.Header) Targeter { } else if strings.HasPrefix(line, "#") { continue } else if strings.HasPrefix(line, "@") { - if tgt.Body, err = ioutil.ReadFile(line[1:]); err != nil { + if tgt.Body, err = os.ReadFile(line[1:]); err != nil { return fmt.Errorf("bad body: %s", err) } break diff --git a/lib/targets_test.go b/lib/targets_test.go index 2a52eba0..d7251230 100644 --- a/lib/targets_test.go +++ b/lib/targets_test.go @@ -6,7 +6,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "net/http" "os" "reflect" @@ -17,7 +16,7 @@ import ( func TestTargetRequest(t *testing.T) { t.Parallel() - body, err := ioutil.ReadAll(io.LimitReader(rand.Reader, 1024*512)) + body, err := io.ReadAll(io.LimitReader(rand.Reader, 1024*512)) if err != nil { t.Fatal(err) } @@ -35,7 +34,7 @@ func TestTargetRequest(t *testing.T) { } req, _ := tgt.Request() - reqBody, err := ioutil.ReadAll(req.Body) + reqBody, err := io.ReadAll(req.Body) if err != nil { t.Fatal(err) } @@ -314,7 +313,7 @@ func TestNewHTTPTargeter(t *testing.T) { } } - bodyf, err := ioutil.TempFile("", "vegeta-") + bodyf, err := os.CreateTemp("", "vegeta-") if err != nil { t.Fatal(err) }