Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: enable testifylint linter #11761

Merged
merged 1 commit into from
Nov 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ linters:
- nakedret
- nolintlint
- staticcheck
- testifylint
- typecheck
- unconvert
- unparam
Expand Down Expand Up @@ -71,3 +72,11 @@ issues:
# golangci hides some golint warnings (the warning about exported things
# without documentation for example), this will make it show them anyway.
exclude-use-default: false
# Maximum issues count per one linter.
# Set to 0 to disable.
# Default: 50
max-issues-per-linter: 0
# Maximum count of issues with the same text.
# Set to 0 to disable.
# Default: 3
max-same-issues: 0
7 changes: 4 additions & 3 deletions cmd/compose/ps_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
"github.com/docker/compose/v2/pkg/api"
"github.com/docker/compose/v2/pkg/mocks"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/mock/gomock"
)

Expand Down Expand Up @@ -74,13 +75,13 @@ func TestPsTable(t *testing.T) {
cli.EXPECT().Out().Return(stdout).AnyTimes()
cli.EXPECT().ConfigFile().Return(&configfile.ConfigFile{}).AnyTimes()
err = runPs(ctx, cli, backend, nil, opts)
assert.NoError(t, err)
require.NoError(t, err)

_, err = f.Seek(0, 0)
assert.NoError(t, err)
require.NoError(t, err)

output, err := os.ReadFile(out)
assert.NoError(t, err)
require.NoError(t, err)

assert.Contains(t, string(output), "8080/tcp, 8443/tcp")
}
10 changes: 6 additions & 4 deletions cmd/compose/viz_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
package compose

import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestPreferredIndentationStr(t *testing.T) {
Expand Down Expand Up @@ -83,10 +83,12 @@ func TestPreferredIndentationStr(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := preferredIndentationStr(tt.args.size, tt.args.useSpace)
if tt.wantErr && assert.NotNilf(t, err, fmt.Sprintf("preferredIndentationStr(%v, %v)", tt.args.size, tt.args.useSpace)) {
return
if tt.wantErr {
require.Errorf(t, err, "preferredIndentationStr(%v, %v)", tt.args.size, tt.args.useSpace)
} else {
require.NoError(t, err)
assert.Equalf(t, tt.want, got, "preferredIndentationStr(%v, %v)", tt.args.size, tt.args.useSpace)
}
assert.Equalf(t, tt.want, got, "preferredIndentationStr(%v, %v)", tt.args.size, tt.args.useSpace)
})
}
}
5 changes: 3 additions & 2 deletions pkg/compose/viz_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (

"github.com/compose-spec/compose-go/v2/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/mock/gomock"

compose "github.com/docker/compose/v2/pkg/api"
Expand Down Expand Up @@ -128,7 +129,7 @@ func TestViz(t *testing.T) {
IncludeImageName: false,
IncludeNetworks: false,
})
assert.NoError(t, err, "viz command failed")
require.NoError(t, err, "viz command failed")

// check indentation
assert.Contains(t, graphStr, "\n ", graphStr)
Expand Down Expand Up @@ -187,7 +188,7 @@ func TestViz(t *testing.T) {
IncludeImageName: true,
IncludeNetworks: true,
})
assert.NoError(t, err, "viz command failed")
require.NoError(t, err, "viz command failed")

// check indentation
assert.Contains(t, graphStr, "\n\t", graphStr)
Expand Down
25 changes: 12 additions & 13 deletions pkg/e2e/ps_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,17 @@ func TestPs(t *testing.T) {
const projectName = "e2e-ps"

res := c.RunDockerComposeCmd(t, "-f", "./fixtures/ps-test/compose.yaml", "--project-name", projectName, "up", "-d")
if assert.NoError(t, res.Error) {
t.Cleanup(func() {
_ = c.RunDockerComposeCmd(t, "--project-name", projectName, "down")
})
}
require.NoError(t, res.Error)
t.Cleanup(func() {
_ = c.RunDockerComposeCmd(t, "--project-name", projectName, "down")
})

assert.Contains(t, res.Combined(), "Container e2e-ps-busybox-1 Started", res.Combined())

t.Run("table", func(t *testing.T) {
res = c.RunDockerComposeCmd(t, "-f", "./fixtures/ps-test/compose.yaml", "--project-name", projectName, "ps")
lines := strings.Split(res.Stdout(), "\n")
assert.Equal(t, 4, len(lines))
assert.Len(t, lines, 4)
count := 0
for _, line := range lines[1:3] {
if strings.Contains(line, "e2e-ps-busybox-1") {
Expand Down Expand Up @@ -77,12 +76,12 @@ func TestPs(t *testing.T) {
}

count := 0
assert.Equal(t, 2, len(output))
assert.Len(t, output, 2)
for _, service := range output {
assert.Equal(t, projectName, service.Project)
publishers := service.Publishers
if service.Name == "e2e-ps-busybox-1" {
assert.Equal(t, 1, len(publishers))
assert.Len(t, publishers, 1)
assert.Equal(t, api.PortPublishers{
{
URL: "127.0.0.1",
Expand All @@ -94,7 +93,7 @@ func TestPs(t *testing.T) {
count++
}
if service.Name == "e2e-ps-nginx-1" {
assert.Equal(t, 3, len(publishers))
assert.Len(t, publishers, 3)
assert.Equal(t, api.PortPublishers{
{TargetPort: 80, Protocol: "tcp"},
{TargetPort: 443, Protocol: "tcp"},
Expand All @@ -109,20 +108,20 @@ func TestPs(t *testing.T) {

t.Run("ps --all", func(t *testing.T) {
res := c.RunDockerComposeCmd(t, "--project-name", projectName, "stop")
assert.NoError(t, res.Error)
require.NoError(t, res.Error)

res = c.RunDockerComposeCmd(t, "-f", "./fixtures/ps-test/compose.yaml", "--project-name", projectName, "ps")
lines := strings.Split(res.Stdout(), "\n")
assert.Equal(t, 2, len(lines))
assert.Len(t, lines, 2)

res = c.RunDockerComposeCmd(t, "-f", "./fixtures/ps-test/compose.yaml", "--project-name", projectName, "ps", "--all")
lines = strings.Split(res.Stdout(), "\n")
assert.Equal(t, 4, len(lines))
assert.Len(t, lines, 4)
})

t.Run("ps unknown", func(t *testing.T) {
res := c.RunDockerComposeCmd(t, "--project-name", projectName, "stop")
assert.NoError(t, res.Error)
require.NoError(t, res.Error)

res = c.RunDockerComposeCmd(t, "-f", "./fixtures/ps-test/compose.yaml", "--project-name", projectName, "ps", "nginx")
res.Assert(t, icmd.Success)
Expand Down
2 changes: 1 addition & 1 deletion pkg/e2e/up_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ func TestUpDependenciesNotStopped(t *testing.T) {
if exitErr.ExitCode() == -1 {
t.Fatalf("`compose up` was killed: %v", err)
}
require.EqualValues(t, exitErr.ExitCode(), 130)
require.EqualValues(t, 130, exitErr.ExitCode())
}

RequireServiceState(t, c, "app", "exited")
Expand Down
11 changes: 5 additions & 6 deletions pkg/watch/ephemeral_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"

"github.com/docker/compose/v2/pkg/watch"
)
Expand All @@ -36,14 +37,12 @@ func TestEphemeralPathMatcher(t *testing.T) {
matcher := watch.EphemeralPathMatcher()
for _, p := range ignored {
ok, err := matcher.Matches(p)
if assert.NoErrorf(t, err, "Matching %s", p) {
assert.Truef(t, ok, "Path %s should have matched", p)
}
require.NoErrorf(t, err, "Matching %s", p)
assert.Truef(t, ok, "Path %s should have matched", p)
}

const includedPath = "normal.txt"
ok, err := matcher.Matches(includedPath)
if assert.NoErrorf(t, err, "Matching %s", includedPath) {
assert.Falsef(t, ok, "Path %s should NOT have matched", includedPath)
}
require.NoErrorf(t, err, "Matching %s", includedPath)
assert.Falsef(t, ok, "Path %s should NOT have matched", includedPath)
}
6 changes: 3 additions & 3 deletions pkg/watch/notify_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ func TestWindowsBufferSize(t *testing.T) {
defer os.Setenv(WindowsBufferSizeEnvVar, orig) //nolint:errcheck

err := os.Setenv(WindowsBufferSizeEnvVar, "")
assert.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, defaultBufferSize, DesiredWindowsBufferSize())

err = os.Setenv(WindowsBufferSizeEnvVar, "a")
assert.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, defaultBufferSize, DesiredWindowsBufferSize())

err = os.Setenv(WindowsBufferSizeEnvVar, "10")
assert.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, 10, DesiredWindowsBufferSize())
}

Expand Down
5 changes: 3 additions & 2 deletions pkg/watch/paths_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,18 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestGreatestExistingAncestor(t *testing.T) {
f := NewTempDirFixture(t)

p, err := greatestExistingAncestor(f.Path())
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, f.Path(), p)

p, err = greatestExistingAncestor(f.JoinPath("missing"))
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, f.Path(), p)

missingTopLevel := "/missingDir/a/b/c"
Expand Down
Loading