diff --git a/.circleci/config.yml b/.circleci/config.yml index f4d78f9f5..95e9ffe81 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -66,6 +66,22 @@ commands: key: windows-go-<< parameters.cache_version >>-{{ checksum "go.sum" }} - run: 'sh ./scripts/installgo_windows.sh' - run: choco install mingw + - run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.53.2 + - when: + condition: + equal: [ linux, << parameters.os >> ] + steps: + - run: GOGC=20 /go/bin/golangci-lint run --verbose + - when: + condition: + equal: [ darwin, << parameters.os >> ] + steps: + - run: $HOME/go/bin/golangci-lint run --verbose + - when: + condition: + equal: [ windows, << parameters.os >> ] + steps: + - run: $HOME/go/bin/golangci-lint.exe run --verbose - run: ./scripts/install_gotestsum.sh << parameters.os >> << parameters.gotestsum >> - unless: condition: diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml deleted file mode 100644 index 17bb6c80f..000000000 --- a/.github/workflows/golangci-lint.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: golangci-lint -on: - push: - branches: - - master - pull_request: - branches: - - master - schedule: - # Trigger every day at 16:00 UTC - - cron: '0 16 * * *' -permissions: - contents: read # to fetch code (actions/checkout) - pull-requests: read # to fetch pull requests (golangci/golangci-lint-action) - -jobs: - golangci: - name: lint-codebase - strategy: - fail-fast: false - max-parallel: 3 - matrix: - os: [ ubuntu-latest, macos-latest, windows-latest ] - runs-on: ${{ matrix.os }} - timeout-minutes: 360 #default - steps: - - name: Checkout code - uses: actions/checkout@v3 - - name: Setup Go - uses: actions/setup-go@v4 - with: - go-version: '1.20' - - name: golangci-lint standard - if: runner.os != 'Windows' - uses: golangci/golangci-lint-action@v3 - timeout-minutes: 60 - with: - version: v1.53.2 - args: --timeout 60m0s --verbose --out-${NO_FUTURE}format tab - - name: golangci-lint windows - if: runner.os == 'Windows' - uses: golangci/golangci-lint-action@v3 - timeout-minutes: 60 - env: - nofuture: out-format - with: - version: v1.53.2 - args: --timeout 60m0s --verbose --%nofuture% tab diff --git a/.golangci.yml b/.golangci.yml index b1915d385..6654cb95e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -98,10 +98,13 @@ linters-settings: - nilValReturn - offBy1 - regexpPattern + - sloppyTestFuncName - sloppyTypeAssert - sortSlice - sprintfQuotedString - sqlQuery + - syncMapLoadAndDelete + - truncateCmp - uncheckedInlineErr - unnecessaryDefer - weakCond diff --git a/logger/event_logger_test.go b/logger/event_logger_test.go index 5c7c7c79b..024781ce9 100644 --- a/logger/event_logger_test.go +++ b/logger/event_logger_test.go @@ -54,7 +54,7 @@ func TestEventLogIntegration(t *testing.T) { if testing.Short() { t.Skip("Skipping integration test in short mode") } - prepareLogger(t) + testPrepareLogger(t) config := LogConfig{ LogTarget: LogTargetEventlog, @@ -79,7 +79,7 @@ func TestRestrictedEventLogIntegration(t *testing.T) { if testing.Short() { t.Skip("Skipping integration test in short mode") } - prepareLogger(t) + testPrepareLogger(t) config := LogConfig{ LogTarget: LogTargetEventlog, @@ -99,9 +99,9 @@ func TestRestrictedEventLogIntegration(t *testing.T) { require.Contains(t, events, Event{Message: "Error message", Level: Error}) } -func prepareLogger(t *testing.T) { +func testPrepareLogger(tb testing.TB) { eventLog, err := eventlog.Open("telegraf") - require.NoError(t, err) - require.NotNil(t, eventLog) + require.NoError(tb, err) + require.NotNil(tb, eventLog) registerLogger(LogTargetEventlog, &eventLoggerCreator{logger: eventLog}) } diff --git a/plugins/inputs/riemann_listener/riemann_listener_test.go b/plugins/inputs/riemann_listener/riemann_listener_test.go index 3f8794461..ebf1447ee 100644 --- a/plugins/inputs/riemann_listener/riemann_listener_test.go +++ b/plugins/inputs/riemann_listener/riemann_listener_test.go @@ -25,28 +25,24 @@ func TestSocketListener_tcp(t *testing.T) { require.NoError(t, err) defer sl.Stop() - testStats(t) - testMissingService(t) -} - -func testStats(t *testing.T) { + // Check for stats of specific service c := riemanngo.NewTCPClient("127.0.0.1:5555", 5*time.Second) - err := c.Connect() + require.NoError(t, c.Connect()) require.NoError(t, err) defer c.Close() + result, err := riemanngo.SendEvent(c, &riemanngo.Event{ Service: "hello", }) require.NoError(t, err) require.Equal(t, result.GetOk(), true) -} -func testMissingService(t *testing.T) { - c := riemanngo.NewTCPClient("127.0.0.1:5555", 5*time.Second) - err := c.Connect() - require.NoError(t, err) + // Check for stats no service specified + c = riemanngo.NewTCPClient("127.0.0.1:5555", 5*time.Second) + require.NoError(t, c.Connect()) defer c.Close() - result, err := riemanngo.SendEvent(c, &riemanngo.Event{}) + + result, err = riemanngo.SendEvent(c, &riemanngo.Event{}) require.Equal(t, false, result.GetOk()) require.Equal(t, "No Service Name", result.GetError()) require.NoError(t, err)