Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package eclint for openSUSE:Factory checked in at 2026-04-30 20:28:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/eclint (Old) and /work/SRC/openSUSE:Factory/.eclint.new.30200 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eclint" Thu Apr 30 20:28:41 2026 rev:2 rq:1350134 version:0.5.2 Changes: -------- --- /work/SRC/openSUSE:Factory/eclint/eclint.changes 2024-12-23 16:54:14.927359530 +0100 +++ /work/SRC/openSUSE:Factory/.eclint.new.30200/eclint.changes 2026-04-30 20:28:52.455075544 +0200 @@ -1,0 +2,27 @@ +Thu Apr 30 05:08:13 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.5.2: + * 673e19de #7 (closed) Support multiple files passed as arguments + to cli + * 4e1e3e17 #7 (closed) Support multiple files passed as arguments + to cli + * 09cd9bbe Add docs to README.md + * fdce46f2 Introduce .pre-commit-hooks.yaml for auto-fixing + * 14681fe6 Merge branch 'chore/bump' into 'master' + * a4d57c3c Merge branch 'chore/bump-all-the-deps' into 'master' + * 34f4d2bb Merge branch 'chore/deps' into 'master' + * 9807d59f Merge branch 'feat/modernize' into 'master' + * 5a53a05f Merge branch 'fix/better-test' into 'master' + * 74775fc6 Merge branch 'fix/flagset' into 'master' + * d716926d Merge branch 'master' into 'master' + * 3c78c309 Merge branch 'master' into 'master' + * a5c5ff77 Merge branch 'pre-commit-config' into 'master' + * 2f068e22 chore: bump all the deps + * 3829ecf7 chore: bump core library + * df1b2996 chore: bump deps + * 8836a9f3 feat: modernize + * 9bba17fb feat: re-use the pre-commit config + * dbd9e5a7 fix: better tests + * 4f8012db fix: flagset rest of args + +------------------------------------------------------------------- Old: ---- eclint-0.5.1.obscpio New: ---- eclint-0.5.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ eclint.spec ++++++ --- /var/tmp/diff_new_pack.0Ni4bi/_old 2026-04-30 20:28:53.347111770 +0200 +++ /var/tmp/diff_new_pack.0Ni4bi/_new 2026-04-30 20:28:53.347111770 +0200 @@ -1,7 +1,7 @@ # # spec file for package eclint # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: eclint -Version: 0.5.1 +Version: 0.5.2 Release: 0 Summary: EditorConfig linter License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.0Ni4bi/_old 2026-04-30 20:28:53.387113395 +0200 +++ /var/tmp/diff_new_pack.0Ni4bi/_new 2026-04-30 20:28:53.395113719 +0200 @@ -3,7 +3,7 @@ <param name="url">https://gitlab.com/greut/eclint</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.5.1</param> + <param name="revision">v0.5.2</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.0Ni4bi/_old 2026-04-30 20:28:53.435115344 +0200 +++ /var/tmp/diff_new_pack.0Ni4bi/_new 2026-04-30 20:28:53.439115507 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://gitlab.com/greut/eclint</param> - <param name="changesrevision">271fd4a0b42a4466d792cb284eb2f5f21a4d8a26</param></service></servicedata> + <param name="changesrevision">34f4d2bb0b0bdd6a434939cdba2a9ac85ba8f042</param></service></servicedata> (No newline at EOF) ++++++ eclint-0.5.1.obscpio -> eclint-0.5.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.gitignore new/eclint-0.5.2/.gitignore --- old/eclint-0.5.1/.gitignore 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/.gitignore 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -eclint -vendor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.gitlab-ci.yml new/eclint-0.5.2/.gitlab-ci.yml --- old/eclint-0.5.1/.gitlab-ci.yml 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/.gitlab-ci.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,89 +0,0 @@ -image: golang:1.20-bookworm - -variables: - NANCY_VERSION: v1.0 - GIT_DEPTH: "0" - -stages: - - test - - lint - - check - - snapshot - -go test: - stage: test - script: - - go test -v ./... - - go test -v ./... - -cover -covermode atomic - -coverprofile coverage.out - -json > test-report.json - - go tool cover -func coverage.out - - go list -u -m -json all > go-list.json - artifacts: - paths: - - coverage.out - - test-report.json - - go-list.json - -eclint: - stage: lint - script: - - go build -o eclint gitlab.com/greut/eclint/cmd/eclint - - ./eclint -exclude "testdata/**/*" - -golangci-lint: - stage: lint - image: golangci/golangci-lint - script: - - golangci-lint run ./... - - golangci-lint run -v ./... - --issues-exit-code 0 - --out-format checkstyle > report.xml - artifacts: - paths: - - report.xml - -nancy: - stage: check - image: sonatypecommunity/nancy:${NANCY_VERSION}-alpine - needs: - - go test - script: - - cat go-list.json | nancy --quiet - -sonarcloud check: - stage: check - allow_failure: true - image: - name: sonarsource/sonar-scanner-cli:latest - entrypoint: [""] - needs: - - go test - - golangci-lint - script: - - sonar-scanner - -Dsonar.projectVersion=$(git describe --abbrev=0 --tags) - -Dsonar.qualitygate.wait=true # this does nothing yet - -go-mod-outdated: - stage: check - allow_failure: true - needs: - - go test - script: - - go install github.com/psampaz/go-mod-outdated@latest - - cat go-list.json | $GOPATH/bin/go-mod-outdated -update -direct -ci - -goreleaser snapshot: - stage: check - image: - name: goreleaser/goreleaser - entrypoint: [''] - services: - - docker:dind - variables: - DOCKER_HOST: tcp://docker:2375 - GIT_DEPTH: 0 - script: - - goreleaser --snapshot --skip-sign diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.golangci.yml new/eclint-0.5.2/.golangci.yml --- old/eclint-0.5.1/.golangci.yml 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/.golangci.yml 2026-04-26 09:48:53.000000000 +0200 @@ -1,42 +1,59 @@ -linters-settings: - cyclop: - max-complexity: 15 - package-average: 10 - golint: - min-confidence: 0.3 - gocyclo: - min-complexity: 30 - +version: "2" linters: - enable-all: true + default: all disable: - - deadcode + - copyloopvar - depguard - - exhaustivestruct + - err113 - exhaustruct - - golint - - gomnd - - ifshort - - interfacer - - maligned - - nosnakecase - - scopelint - - structcheck - - varcheck + - intrange + - mnd + - noinlineerr - varnamelen - fast: false - -issues: - exclude-rules: - - path: _test\.go - linters: - - funlen - - goerr113 - - ifshort - - paralleltest - - testpackage - - tparallel - - path: main.go - linters: - - cyclop - - wrapcheck + - wsl + settings: + cyclop: + max-complexity: 15 + package-average: 10 + gocyclo: + min-complexity: 30 + wsl_v5: + allow-first-in-block: true + allow-whole-block: false + branch-max-lines: 2 + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + - linters: + - err113 + - funlen + - ifshort + - paralleltest + - testpackage + - tparallel + path: _test\.go + - linters: + - cyclop + - wrapcheck + path: main.go + paths: + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gci + - gofmt + - gofumpt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.goreleaser.yml new/eclint-0.5.2/.goreleaser.yml --- old/eclint-0.5.1/.goreleaser.yml 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/.goreleaser.yml 2026-04-26 09:48:53.000000000 +0200 @@ -1,3 +1,5 @@ +version: 2 + project_name: eclint before: @@ -74,7 +76,7 @@ stdin: "\n" args: [-x, "${signature}", -Sm, "${artifact}", -P, "RWRP3/Z4+t+iZk1QU6zufn6vSDlvd76FLWhGCkt5kE7YqW3mOtSh7FvE", -t, "{{ .ProjectName }} {{ .Tag }}"] snapshot: - name_template: "{{ .Tag }}-next" + version_template: "{{ .Tag }}-next" changelog: sort: asc filters: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.pre-commit-config.example.yaml new/eclint-0.5.2/.pre-commit-config.example.yaml --- old/eclint-0.5.1/.pre-commit-config.example.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/eclint-0.5.2/.pre-commit-config.example.yaml 2026-04-26 09:48:53.000000000 +0200 @@ -0,0 +1,6 @@ +repo: + - repo: https://gitlab.com/greut/eclint + rev: v0.5.2 + hooks: + # `eclint` is also available if you do not want changes applied to your files. + - id: eclint-fix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.pre-commit-config.yaml new/eclint-0.5.2/.pre-commit-config.yaml --- old/eclint-0.5.1/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/eclint-0.5.2/.pre-commit-config.yaml 2026-04-26 09:48:53.000000000 +0200 @@ -0,0 +1,16 @@ +repos: + - repo: local + hooks: + - id: eclint + name: Run eclint + entry: eclint + language: golang + - id: eclint-fix + name: Run eclint -fix + entry: eclint -fix + language: golang + +exclude: | + (?x)( + ^testdata/ + ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/.pre-commit-hooks.yaml new/eclint-0.5.2/.pre-commit-hooks.yaml --- old/eclint-0.5.1/.pre-commit-hooks.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/eclint-0.5.2/.pre-commit-hooks.yaml 2026-04-26 09:48:53.000000000 +0200 @@ -0,0 +1,10 @@ +- id: eclint + name: eclint + description: Applies eclint + entry: eclint + language: golang +- id: eclint-fix + name: eclint-fix + description: Applies eclint -fix + entry: eclint -fix + language: golang diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/README.md new/eclint-0.5.2/README.md --- old/eclint-0.5.1/README.md 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/README.md 2026-04-26 09:48:53.000000000 +0200 @@ -29,6 +29,10 @@ $ eclint -exclude "testdata/**/*" ``` +### As a pre-commit hook + +You can auto-fix your files using the following hook in your [`.pre-commit-config.yaml`](./.pre-commit-config.example.yaml). + ## Features - `charset` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/cmd/eclint/main.go new/eclint-0.5.2/cmd/eclint/main.go --- old/eclint-0.5.1/cmd/eclint/main.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/cmd/eclint/main.go 2026-04-26 09:48:53.000000000 +0200 @@ -15,7 +15,7 @@ "gitlab.com/greut/eclint" "golang.org/x/term" "k8s.io/klog/v2" - "k8s.io/klog/v2/klogr" + "k8s.io/klog/v2/textlogger" ) var version = "dev" @@ -35,8 +35,6 @@ defer func() { os.Exit(retcode) }() - log := klogr.New() - defer klog.Flush() opt := &eclint.Option{ @@ -49,28 +47,40 @@ opt.Stdout = colorable.NewColorableStdout() } + fs := flag.NewFlagSet("eclint", flag.ExitOnError) + logConfig := textlogger.NewConfig() + logConfig.AddFlags(fs) + // Flags - klog.InitFlags(nil) - flag.BoolVar(&flagVersion, "version", false, "print the version number") - flag.StringVar(&color, "color", color, `use color when printing; can be "always", "auto", or "never"`) - flag.BoolVar(&opt.Summary, "summary", opt.Summary, "enable the summary view") - flag.BoolVar(&opt.FixAllErrors, "fix", opt.FixAllErrors, "enable fixing instead of error reporting") - flag.BoolVar( + fs.BoolVar(&flagVersion, "version", false, "print the version number") + fs.StringVar(&color, "color", color, `use color when printing; can be "always", "auto", or "never"`) + fs.BoolVar(&opt.Summary, "summary", opt.Summary, "enable the summary view") + fs.BoolVar(&opt.FixAllErrors, "fix", opt.FixAllErrors, "enable fixing instead of error reporting") + fs.BoolVar( &opt.ShowAllErrors, "show_all_errors", opt.ShowAllErrors, fmt.Sprintf("display all errors for each file (otherwise %d are kept)", opt.ShowErrorQuantity), ) - flag.IntVar( + fs.IntVar( &opt.ShowErrorQuantity, "show_error_quantity", opt.ShowErrorQuantity, "display only the first n errors (0 means all)", ) - flag.StringVar(&opt.Exclude, "exclude", opt.Exclude, "paths to exclude") - flag.StringVar(&cpuprofile, "cpuprofile", cpuprofile, "write cpu profile to `file`") - flag.StringVar(&memprofile, "memprofile", memprofile, "write mem profile to `file`") - flag.Parse() + fs.StringVar(&opt.Exclude, "exclude", opt.Exclude, "paths to exclude") + fs.StringVar(&cpuprofile, "cpuprofile", cpuprofile, "write cpu profile to `file`") + fs.StringVar(&memprofile, "memprofile", memprofile, "write mem profile to `file`") + + if err := fs.Parse(os.Args[1:]); err != nil { + fmt.Fprint(os.Stderr, err.Error()) + + retcode = 1 + + return + } + + log := textlogger.NewLogger(logConfig) if flagVersion { fmt.Fprintf(opt.Stdout, "eclint %s\n", version) @@ -122,7 +132,7 @@ ctx := logr.NewContext(context.Background(), log) - c, err := processArgs(ctx, opt, flag.Args()) + c, err := processArgs(ctx, opt, fs.Args()) if err != nil { log.Error(err, "linting failure") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/definition.go new/eclint-0.5.2/definition.go --- old/eclint-0.5.1/definition.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/definition.go 2026-04-26 09:48:53.000000000 +0200 @@ -15,6 +15,7 @@ // definition contains the fields that aren't native to EditorConfig.Definition. type definition struct { editorconfig.Definition + BlockCommentStart []byte BlockComment []byte BlockCommentEnd []byte diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/files.go new/eclint-0.5.2/files.go --- old/eclint-0.5.1/files.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/files.go 2026-04-26 09:48:53.000000000 +0200 @@ -46,14 +46,26 @@ defer close(errChan) for _, path := range paths { - // shortcircuit files - if fi, err := os.Stat(path); err == nil && !fi.IsDir() { - filesChan <- path + fi, err := os.Stat(path) + if err != nil { + errChan <- err break } - err := fs.WalkDir(os.DirFS(path), ".", func(filename string, _ fs.DirEntry, err error) error { + if !fi.IsDir() { + select { + case filesChan <- path: + case <-ctx.Done(): + errChan <- fmt.Errorf("file %q analysis got interrupted: %w", path, ctx.Err()) + + return + } + + continue + } + + err = fs.WalkDir(os.DirFS(path), ".", func(filename string, _ fs.DirEntry, err error) error { if err != nil { return err } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/files_test.go new/eclint-0.5.2/files_test.go --- old/eclint-0.5.1/files_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/files_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -4,6 +4,7 @@ "context" "fmt" "os" + "path/filepath" "testing" "gitlab.com/greut/eclint" @@ -33,6 +34,7 @@ if !ok { break outer } + fs++ } } @@ -42,6 +44,40 @@ } } +func TestListProvidedFiles(t *testing.T) { + file := filepath.Join(testdataSimple, "simple.txt") + missingFile := filepath.Join(testdataSimple, "foo.txt") + + fs := 0 + errs := 0 + fsChan, errChan := eclint.ListFilesContext(context.TODO(), file, file, file, missingFile, file) + +outer: + for { + select { + case err, ok := <-errChan: + if ok && err != nil { + errs++ + } + + case _, ok := <-fsChan: + if !ok { + break outer + } + + fs++ + } + } + + if errs != 1 { + t.Errorf("Result should have one error, got %d", errs) + } + + if fs != 3 { + t.Errorf("Result should have three files, got %d", fs) + } +} + func TestListFilesNoArgs(t *testing.T) { skipNoGit(t) @@ -53,18 +89,14 @@ } defer func() { - if err := os.Chdir(cwd); err != nil { - t.Fatal(err) - } + t.Chdir(cwd) }() - err = os.Chdir(d) - if err != nil { - t.Fatal(err) - } + t.Chdir(d) fs := 0 fsChan, errChan := eclint.ListFilesContext(context.TODO()) + outer: for { select { @@ -76,6 +108,7 @@ if !ok { break outer } + fs++ } } @@ -99,15 +132,10 @@ } defer func() { - if err := os.Chdir(cwd); err != nil { - t.Fatal(err) - } + t.Chdir(cwd) }() - err = os.Chdir(d) - if err != nil { - t.Fatal(err) - } + t.Chdir(d) _, errChan := eclint.ListFilesContext(context.TODO()) @@ -130,6 +158,7 @@ if !ok { break outer } + fs++ } } @@ -156,6 +185,7 @@ if !ok { break outer } + fs++ } } @@ -184,6 +214,7 @@ if !ok { break outer } + fs++ } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/fix.go new/eclint-0.5.2/fix.go --- old/eclint-0.5.1/fix.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/fix.go 2026-04-26 09:48:53.000000000 +0200 @@ -51,7 +51,7 @@ } // XXX keep mode as is. - fp, err := os.OpenFile(filename, os.O_WRONLY|os.O_TRUNC, mode) //nolint:nosnakecase + fp, err := os.OpenFile(filename, os.O_WRONLY|os.O_TRUNC, mode) if err != nil { return fmt.Errorf("cannot open %s using %s: %w", filename, mode, err) } @@ -260,7 +260,7 @@ // u -> v is the range to clean u := len(data) - v := u //nolint: ifshort + v := u outer: for i >= 0 { @@ -305,6 +305,7 @@ } else { for bytes.HasSuffix(buf.Bytes(), endOfLine) { fixed = true + buf.Truncate(buf.Len() - len(endOfLine)) } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/fix_test.go new/eclint-0.5.2/fix_test.go --- old/eclint-0.5.1/fix_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/fix_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -36,8 +36,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc - file := bytes.Join(tc.Lines, []byte("\n")) fileSize := int64(len(file)) @@ -53,6 +51,7 @@ } r := bytes.NewReader(file) + out, fixed, err := fix(ctx, r, fileSize, "utf-8", def) if err != nil { t.Fatalf("no errors where expected, got %s", err) @@ -84,6 +83,7 @@ } r := bytes.NewReader(file) + out, fixed, err := fix(ctx, r, fileSize, "utf-8", def) if err != nil { t.Fatalf("no errors where expected, got %s", err) @@ -129,8 +129,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc - fileSize := int64(len(tc.File)) t.Run(tc.Name, func(t *testing.T) { @@ -150,6 +148,7 @@ } r := bytes.NewReader(tc.File) + out, _, err := fix(ctx, r, fileSize, "utf-8", def) if err != nil { t.Fatalf("no errors where expected, got %s", err) @@ -206,8 +205,6 @@ } for _, tc := range tests { - tc := tc - t.Run(tc.Name, func(t *testing.T) { t.Parallel() @@ -249,7 +246,7 @@ for _, insertFinalNewlineVariant := range insertFinalNewlineVariants { for newlinesAtEOL := range newlinesAtEOLVariants { file := singleLineFile - for i := 0; i < newlinesAtEOL; i++ { + for range newlinesAtEOL { file = append(file, eolVariant...) } @@ -274,7 +271,7 @@ for _, insertFinalNewlineVariant := range insertFinalNewlineVariants { for newlinesAtEOL := range newlinesAtEOLVariants { file := multilineFile - for i := 0; i < newlinesAtEOL; i++ { + for range newlinesAtEOL { file = append(file, eolVariant...) } @@ -306,8 +303,6 @@ } for _, tc := range tests { - tc := tc - t.Run("TestFixInsertFinalNewline", func(t *testing.T) { t.Parallel() @@ -316,6 +311,7 @@ before := buf.Bytes() fixInsertFinalNewline(&buf, tc.InsertFinalNewline, tc.EolVariant) after := buf.Bytes() + err := checkInsertFinalNewline(buf.Bytes(), tc.InsertFinalNewline) if err != nil { t.Logf("before: %q", string(before)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/go.mod new/eclint-0.5.2/go.mod --- old/eclint-0.5.1/go.mod 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/go.mod 2026-04-26 09:48:53.000000000 +0200 @@ -1,23 +1,25 @@ module gitlab.com/greut/eclint -go 1.20 +go 1.25.0 + +toolchain go1.25.5 require ( - github.com/editorconfig/editorconfig-core-go/v2 v2.6.1 - github.com/go-logr/logr v1.2.0 + github.com/editorconfig/editorconfig-core-go/v2 v2.6.4 + github.com/go-logr/logr v1.4.3 github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f - github.com/google/go-cmp v0.6.0 + github.com/google/go-cmp v0.7.0 github.com/logrusorgru/aurora v2.0.3+incompatible - github.com/mattn/go-colorable v0.1.13 - golang.org/x/term v0.15.0 - golang.org/x/text v0.14.0 - k8s.io/klog/v2 v2.100.1 + github.com/mattn/go-colorable v0.1.14 + golang.org/x/term v0.42.0 + golang.org/x/text v0.36.0 + k8s.io/klog/v2 v2.140.0 ) require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/stretchr/testify v1.8.4 // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/mod v0.34.0 // indirect + golang.org/x/sys v0.43.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/go.sum new/eclint-0.5.2/go.sum --- old/eclint-0.5.1/go.sum 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/go.sum 2026-04-26 09:48:53.000000000 +0200 @@ -1,34 +1,35 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/editorconfig/editorconfig-core-go/v2 v2.6.1 h1:iPCqofzMO41WVbcS/B5Ym7AwHQg9cyQ7Ie/R2XU5L3A= -github.com/editorconfig/editorconfig-core-go/v2 v2.6.1/go.mod h1:VY4oyqUnpULFB3SCRpl24GFDIN1PmfiQIvN/G4ScSNg= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/editorconfig/editorconfig-core-go/v2 v2.6.4 h1:CHwUbBVVyKWRX9kt5A/OtwhYUJB32DrFp9xzmjR6cac= +github.com/editorconfig/editorconfig-core-go/v2 v2.6.4/go.mod h1:JWRVKHdVW+dkv6F8p+xGCa6a+TyMrqsFbFkSs/aQkrQ= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f h1:3BSP1Tbs2djlpprl7wCLuiqMaUh5SJkkzI2gDs+FgLs= github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f/go.mod h1:Pcatq5tYkCW2Q6yrR2VRHlbHpZ/R4/7qyL1TCF7vl14= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= +golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= +golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/integration_test.go new/eclint-0.5.2/integration_test.go --- old/eclint-0.5.1/integration_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/integration_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -52,7 +52,7 @@ ctx := context.TODO() for _, f := range []string{"a", "b"} { - for _, err := range eclint.Lint(ctx, fmt.Sprintf("./testdata/block_comments/%s", f)) { + for _, err := range eclint.Lint(ctx, "./testdata/block_comments/"+f) { if err != nil { t.Fatalf("no errors where expected, got %s", err) } @@ -64,7 +64,7 @@ ctx := context.TODO() for _, f := range []string{"c"} { - errs := eclint.Lint(ctx, fmt.Sprintf("./testdata/block_comments/%s", f)) + errs := eclint.Lint(ctx, "./testdata/block_comments/"+f) if len(errs) == 0 { t.Errorf("one error was expected, got none") } @@ -87,7 +87,7 @@ ctx := context.TODO() for _, f := range []string{"edcon_tool.png", "edcon_tool.pdf", "hello.txt.gz"} { - for _, err := range eclint.Lint(ctx, fmt.Sprintf("./testdata/images/%s", f)) { + for _, err := range eclint.Lint(ctx, "./testdata/images/"+f) { if err != nil { t.Fatalf("no errors where expected, got %s", err) } @@ -99,7 +99,7 @@ ctx := context.TODO() for _, f := range []string{"a", "b"} { - for _, err := range eclint.Lint(ctx, fmt.Sprintf("./testdata/max_line_length/%s", f)) { + for _, err := range eclint.Lint(ctx, "./testdata/max_line_length/"+f) { if err != nil { t.Fatalf("no errors where expected, got %s", err) } @@ -111,7 +111,7 @@ ctx := context.TODO() for _, f := range []string{"c"} { - errs := eclint.Lint(ctx, fmt.Sprintf("./testdata/max_line_length/%s", f)) + errs := eclint.Lint(ctx, "./testdata/max_line_length/"+f) if len(errs) == 0 { t.Errorf("one error was expected, got none") } @@ -122,7 +122,7 @@ ctx := context.TODO() for _, f := range []string{"with_final_newline.txt", "no_final_newline.md"} { - for _, err := range eclint.Lint(ctx, fmt.Sprintf("./testdata/insert_final_newline/%s", f)) { + for _, err := range eclint.Lint(ctx, "./testdata/insert_final_newline/"+f) { if err != nil { t.Fatalf("no errors where expected, got %s", err) } @@ -134,7 +134,7 @@ ctx := context.TODO() for _, f := range []string{"no_final_newline.txt", "with_final_newline.md"} { - errs := eclint.Lint(ctx, fmt.Sprintf("./testdata/insert_final_newline/%s", f)) + errs := eclint.Lint(ctx, "./testdata/insert_final_newline/"+f) if len(errs) == 0 { t.Errorf("one error was expected, got none") } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/lint.go new/eclint-0.5.2/lint.go --- old/eclint-0.5.1/lint.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/lint.go 2026-04-26 09:48:53.000000000 +0200 @@ -179,6 +179,7 @@ if err == nil && def.MaxLength > 0 { // Remove any BOM from the first line. d := data + if index == 0 && charset != "" { for _, bom := range [][]byte{utf8Bom} { if bytes.HasPrefix(data, bom) { @@ -188,6 +189,7 @@ } } } + err = MaxLineLength(def.MaxLength, def.TabWidth, d) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/lint_test.go new/eclint-0.5.2/lint_test.go --- old/eclint-0.5.1/lint_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/lint_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -35,8 +35,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc - // Test the nominal case t.Run(tc.Name, func(t *testing.T) { t.Parallel() @@ -61,6 +59,7 @@ t.Parallel() insertFinalNewline := !tc.InsertFinalNewline + def, err := newDefinition(&editorconfig.Definition{ InsertFinalNewline: &insertFinalNewline, }) @@ -104,8 +103,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc - // Test the nominal case t.Run(tc.Name, func(t *testing.T) { t.Parallel() @@ -119,6 +116,7 @@ def.Raw["block_comment_start"] = tc.BlockCommentStart def.Raw["block_comment"] = tc.BlockComment def.Raw["block_comment_end"] = tc.BlockCommentEnd + d, err := newDefinition(def) if err != nil { t.Fatal(err) @@ -152,8 +150,6 @@ } for _, tc := range tests { - tc := tc - // Test the nominal case t.Run(tc.Name, func(t *testing.T) { t.Parallel() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/print.go new/eclint-0.5.2/print.go --- old/eclint-0.5.1/print.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/print.go 2026-04-26 09:48:53.000000000 +0200 @@ -95,6 +95,7 @@ if (line[i] >> 6) != 0b10 { break } + position-- } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/print_test.go new/eclint-0.5.2/print_test.go --- old/eclint-0.5.1/print_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/print_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -47,19 +47,20 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc - // Test the nominal case t.Run(tc.Name, func(t *testing.T) { t.Parallel() + buf := bytes.NewBuffer(make([]byte, 0, 1024)) opt := &eclint.Option{ Stdout: buf, } + err := eclint.PrintErrors(ctx, opt, tc.Name, tc.Errors) if err != nil { t.Error("no errors were expected") } + outputLength := buf.Len() if (outputLength > 0) != tc.HasOutput { t.Errorf("unexpected output length got %d, wanted %v", outputLength, tc.HasOutput) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/probes_test.go new/eclint-0.5.2/probes_test.go --- old/eclint-0.5.1/probes_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/probes_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -71,7 +71,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() @@ -118,7 +117,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() @@ -157,7 +155,6 @@ ctx := context.TODO() for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/scanner.go new/eclint-0.5.2/scanner.go --- old/eclint-0.5.1/scanner.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/scanner.go 2026-04-26 09:48:53.000000000 +0200 @@ -14,7 +14,8 @@ func SplitLines(data []byte, atEOF bool) (int, []byte, error) { i := 0 for i < len(data) { - if data[i] == cr { + switch data[i] { + case cr: i++ if i < len(data) && !atEOF { @@ -27,11 +28,12 @@ } return i, data[0:i], nil - } else if data[i] == lf { + case lf: i++ return i, data[0:i], nil } + i++ } @@ -72,6 +74,7 @@ if err := fn(i, line, read == fileSize); err != nil { errs = append(errs, err) } + i++ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/scanner_test.go new/eclint-0.5.2/scanner_test.go --- old/eclint-0.5.1/scanner_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/scanner_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -17,7 +17,7 @@ { Name: "Empty file", File: []byte(""), - LineFunc: func(i int, line []byte, isEOF bool) error { + LineFunc: func(i int, line []byte, _ bool) error { if i != 0 || len(line) > 0 { return fmt.Errorf("more than one line found (%d), or non empty line %q", i, line) } @@ -27,7 +27,7 @@ }, { Name: "crlf", File: []byte("\r\n\r\n"), - LineFunc: func(i int, line []byte, isEOF bool) error { + LineFunc: func(i int, line []byte, _ bool) error { if i > 1 || len(line) > 2 { return fmt.Errorf("more than two lines found (%d), or non empty line %q", i, line) } @@ -37,7 +37,7 @@ }, { Name: "cr", File: []byte("\r\r"), - LineFunc: func(i int, line []byte, isEOF bool) error { + LineFunc: func(i int, line []byte, _ bool) error { if i > 1 || len(line) > 2 { return fmt.Errorf("more than two lines found (%d), or non empty line %q", i, line) } @@ -47,7 +47,7 @@ }, { Name: "lf", File: []byte("\n\n"), - LineFunc: func(i int, line []byte, isEOF bool) error { + LineFunc: func(i int, line []byte, _ bool) error { if i > 1 || len(line) > 2 { return fmt.Errorf("more than two lines found (%d), or non empty line %q", i, line) } @@ -58,12 +58,11 @@ } for _, tc := range tests { - tc := tc - t.Run(tc.Name, func(t *testing.T) { t.Parallel() r := bytes.NewReader(tc.File) + errs := eclint.ReadLines(r, -1, tc.LineFunc) if len(errs) > 0 { t.Errorf("no errors were expected, got some. %s", errs[0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/validators.go new/eclint-0.5.2/validators.go --- old/eclint-0.5.1/validators.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/validators.go 2026-04-26 09:48:53.000000000 +0200 @@ -103,7 +103,7 @@ return fmt.Errorf("%w: %d is an invalid value of indent_size, want a number or unset", ErrConfiguration, size) } - for i := 0; i < len(data); i++ { + for i := range len(data) { if data[i] == c { continue } @@ -176,7 +176,7 @@ // isBlockCommentStart tells you when a block comment started on this line. func isBlockCommentStart(start []byte, data []byte) bool { - for i := 0; i < len(data); i++ { + for i := range len(data) { if data[i] == space || data[i] == tab { continue } @@ -229,7 +229,7 @@ length := 0 breakingPosition := 0 - for i := 0; i < len(data); i++ { + for i := range len(data) { if data[i] == cr || data[i] == lf { break } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/eclint-0.5.1/validators_test.go new/eclint-0.5.2/validators_test.go --- old/eclint-0.5.1/validators_test.go 2024-01-29 11:54:30.000000000 +0100 +++ new/eclint-0.5.2/validators_test.go 2026-04-26 09:48:53.000000000 +0200 @@ -26,9 +26,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := endOfLine(tc.EndOfLine, tc.Line) if err != nil { t.Errorf("no errors were expected, got %s", err) @@ -82,18 +82,20 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := endOfLine(tc.EndOfLine, tc.Line) var ve ValidationError + ok := errors.As(err, &ve) if tc.Position >= 0 { if !ok { t.Errorf("a ValidationError was expected, got %t", err) } + if tc.Position != ve.Position { t.Errorf("position mismatch %d, got %d", tc.Position, ve.Position) } @@ -130,9 +132,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := checkTrimTrailingWhitespace(tc.Line) if err != nil { t.Errorf("no errors were expected, got %s", err) @@ -156,9 +158,9 @@ } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := checkTrimTrailingWhitespace(tc.Line) if err == nil { t.Error("an error was expected") @@ -202,9 +204,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := indentStyle(tc.IndentStyle, tc.IndentSize, tc.Line) if err != nil { t.Errorf("no errors were expected, got %s", err) @@ -253,9 +255,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := indentStyle(tc.IndentStyle, tc.IndentSize, tc.Line) if err == nil { t.Error("an error was expected") @@ -279,9 +281,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := checkBlockComment(tc.Position, tc.Prefix, tc.Line) if err != nil { t.Errorf("no errors were expected, got %s", err) @@ -331,13 +333,13 @@ Name: "VMWare Inc, Globalization Team super string", MaxLineLength: 17, TabWidth: 0, - Line: []byte("表ポあA鷗ŒéB逍Üߪąñ丂㐀𠀀\r"), + Line: []byte("表ポあA鷗ŒéB逍Üߪąñ丂㐀𠀀\r"), //nolint: gosmopolitan }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := MaxLineLength(tc.MaxLineLength, tc.TabWidth, tc.Line) if err != nil { t.Errorf("no errors were expected, got %s", err) @@ -366,9 +368,9 @@ }, } for _, tc := range tests { - tc := tc t.Run(tc.Name, func(t *testing.T) { t.Parallel() + err := MaxLineLength(tc.MaxLineLength, tc.TabWidth, tc.Line) if err == nil { t.Error("an error was expected") ++++++ eclint.obsinfo ++++++ --- /var/tmp/diff_new_pack.0Ni4bi/_old 2026-04-30 20:28:53.687125578 +0200 +++ /var/tmp/diff_new_pack.0Ni4bi/_new 2026-04-30 20:28:53.699126066 +0200 @@ -1,5 +1,5 @@ name: eclint -version: 0.5.1 -mtime: 1706525670 -commit: 271fd4a0b42a4466d792cb284eb2f5f21a4d8a26 +version: 0.5.2 +mtime: 1777189733 +commit: 34f4d2bb0b0bdd6a434939cdba2a9ac85ba8f042 ++++++ vendor.tar.gz ++++++ ++++ 33998 lines of diff (skipped)
