From e19c351f105e59154853a1e8df6fa52ffa91956f Mon Sep 17 00:00:00 2001 From: Michael Crenshaw Date: Tue, 5 Apr 2022 10:49:53 -0400 Subject: [PATCH] chore: update golangci-lint (#8988) * chore: update golangci-lint Signed-off-by: Michael Crenshaw --- .golangci.yml | 22 ----------- util/io/bytereadseeker.go | 4 +- util/io/bytereadseeker_test.go | 71 ++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 24 deletions(-) delete mode 100644 .golangci.yml create mode 100644 util/io/bytereadseeker_test.go diff --git a/.golangci.yml b/.golangci.yml deleted file mode 100644 index ebe2918e8d17..000000000000 --- a/.golangci.yml +++ /dev/null @@ -1,22 +0,0 @@ -run: - timeout: 2m - skip-files: - - ".*\\.pb\\.go" - skip-dirs: - - pkg/client/ - - vendor/ -linters: - enable: - - vet - - deadcode - - goimports - - varcheck - - structcheck - - ineffassign - - unconvert - - unparam -linters-settings: - goimports: - local-prefixes: github.com/argoproj/argo-cd -service: - golangci-lint-version: 1.21.0 diff --git a/util/io/bytereadseeker.go b/util/io/bytereadseeker.go index 48aed29c43fd..43c246c2eced 100644 --- a/util/io/bytereadseeker.go +++ b/util/io/bytereadseeker.go @@ -14,7 +14,7 @@ type byteReadSeeker struct { offset int64 } -func (f byteReadSeeker) Read(b []byte) (int, error) { +func (f *byteReadSeeker) Read(b []byte) (int, error) { if f.offset >= int64(len(f.data)) { return 0, io.EOF } @@ -23,7 +23,7 @@ func (f byteReadSeeker) Read(b []byte) (int, error) { return n, nil } -func (f byteReadSeeker) Seek(offset int64, whence int) (int64, error) { +func (f *byteReadSeeker) Seek(offset int64, whence int) (int64, error) { switch whence { case 1: offset += f.offset diff --git a/util/io/bytereadseeker_test.go b/util/io/bytereadseeker_test.go new file mode 100644 index 000000000000..5784d563e9f5 --- /dev/null +++ b/util/io/bytereadseeker_test.go @@ -0,0 +1,71 @@ +package io + +import ( + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "io" + "testing" +) + +func TestByteReadSeeker_Read(t *testing.T) { + inString := "hello world" + reader := NewByteReadSeeker([]byte(inString)) + var bytes = make([]byte, 11) + n, err := reader.Read(bytes) + require.NoError(t, err) + assert.Equal(t, len(inString), n) + assert.Equal(t, inString, string(bytes)) + _, err = reader.Read(bytes) + assert.ErrorIs(t, err, io.EOF) +} + +func TestByteReadSeeker_Seek_Start(t *testing.T) { + inString := "hello world" + reader := NewByteReadSeeker([]byte(inString)) + offset, err := reader.Seek(6, io.SeekStart) + require.NoError(t, err) + assert.Equal(t, int64(6), offset) + var bytes = make([]byte, 5) + n, err := reader.Read(bytes) + require.NoError(t, err) + assert.Equal(t, 5, n) + assert.Equal(t, "world", string(bytes)) +} + +func TestByteReadSeeker_Seek_Current(t *testing.T) { + inString := "hello world" + reader := NewByteReadSeeker([]byte(inString)) + offset, err := reader.Seek(3, io.SeekCurrent) + require.NoError(t, err) + assert.Equal(t, int64(3), offset) + offset, err = reader.Seek(3, io.SeekCurrent) + require.NoError(t, err) + assert.Equal(t, int64(6), offset) + var bytes = make([]byte, 5) + n, err := reader.Read(bytes) + require.NoError(t, err) + assert.Equal(t, 5, n) + assert.Equal(t, "world", string(bytes)) +} + +func TestByteReadSeeker_Seek_End(t *testing.T) { + inString := "hello world" + reader := NewByteReadSeeker([]byte(inString)) + offset, err := reader.Seek(-5, io.SeekEnd) + require.NoError(t, err) + assert.Equal(t, int64(6), offset) + var bytes = make([]byte, 5) + n, err := reader.Read(bytes) + require.NoError(t, err) + assert.Equal(t, 5, n) + assert.Equal(t, "world", string(bytes)) +} + +func TestByteReadSeeker_Seek_OutOfBounds(t *testing.T) { + inString := "hello world" + reader := NewByteReadSeeker([]byte(inString)) + _, err := reader.Seek(12, io.SeekStart) + assert.Error(t, err) + _, err = reader.Seek(-1, io.SeekStart) + assert.Error(t, err) +} \ No newline at end of file