From 57eeb71f3018398a72117758b0c09c3ef9d4edc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Fri, 7 Mar 2025 23:46:48 +0100 Subject: [PATCH 1/6] test --- pkg/testcoverage/check_test.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkg/testcoverage/check_test.go b/pkg/testcoverage/check_test.go index eb96ae5..3a099a8 100644 --- a/pkg/testcoverage/check_test.go +++ b/pkg/testcoverage/check_test.go @@ -3,7 +3,6 @@ package testcoverage_test import ( "bytes" "os" - "runtime" "strings" "testing" @@ -424,10 +423,6 @@ func TestLoadBaseCoverageBreakdown(t *testing.T) { return } - if runtime.GOOS == "windows" { - t.Skip("tests fails windows in ci, but works locally") - } - stats, err := LoadBaseCoverageBreakdown(Config{Diff: Diff{}}) assert.NoError(t, err) assert.Empty(t, stats) From 91eacfbbb6525561f139a0b1cbfb7b754b4fa0cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Sat, 8 Mar 2025 10:56:29 +0100 Subject: [PATCH 2/6] debug --- .github/workflows/test.yml | 2 +- pkg/testcoverage/check.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 58beff6..72c39bb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - name: test env: GITHUB_TOKEN: ${{ matrix.os == 'ubuntu-latest' && secrets.GITHUB_TOKEN || '' }} # Needed for GitHub badge storer integration test - run: go test -race -count=1 -failfast -shuffle=on -coverprofile=${{ matrix.os }}-profile -covermode=atomic -coverpkg=./... ./... + run: go test -race -v -count=1 -failfast -shuffle=on -coverprofile=${{ matrix.os }}-profile -covermode=atomic -coverpkg=./... ./... - name: upload cover profile artifact uses: actions/upload-artifact@v4 diff --git a/pkg/testcoverage/check.go b/pkg/testcoverage/check.go index c563a2b..7142ac5 100644 --- a/pkg/testcoverage/check.go +++ b/pkg/testcoverage/check.go @@ -132,6 +132,8 @@ func loadBaseCoverageBreakdown(cfg Config) ([]coverage.Stats, error) { return nil, fmt.Errorf("reading file content failed: %w", err) } + fmt.Printf("\n========= DATA: %v", string(data)) + stats, err := coverage.StatsDeserialize(data) if err != nil { return nil, fmt.Errorf("parsing file failed: %w", err) From a27c6928d30608c512bd13afac7426b8002ebb69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Sat, 8 Mar 2025 11:03:22 +0100 Subject: [PATCH 3/6] debug --- pkg/testcoverage/coverage/types.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/testcoverage/coverage/types.go b/pkg/testcoverage/coverage/types.go index 481ae33..7770144 100644 --- a/pkg/testcoverage/coverage/types.go +++ b/pkg/testcoverage/coverage/types.go @@ -176,17 +176,17 @@ func StatsDeserialize(b []byte) ([]Stats, error) { deserializeLine := func(bl []byte) (Stats, error) { fields := bytes.Split(bl, []byte(";")) if len(fields) != 3 { //nolint:mnd // relax - return Stats{}, ErrInvalidFormat + return Stats{}, fmt.Errorf("not 3 fields: %w", ErrInvalidFormat) } t, err := strconv.ParseInt(string(fields[1]), 10, 64) if err != nil { - return Stats{}, ErrInvalidFormat + return Stats{}, fmt.Errorf("2nd not int: %w", ErrInvalidFormat) } c, err := strconv.ParseInt(string(fields[2]), 10, 64) if err != nil { - return Stats{}, ErrInvalidFormat + return Stats{}, fmt.Errorf("3rd not int: %w", ErrInvalidFormat) } return Stats{Name: string(fields[0]), Total: t, Covered: c}, nil From 42fa18cf9b29a0dec4dd957d482607c8eafcbabf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Sat, 8 Mar 2025 11:06:26 +0100 Subject: [PATCH 4/6] debug --- pkg/testcoverage/coverage/types.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/testcoverage/coverage/types.go b/pkg/testcoverage/coverage/types.go index 7770144..f5e39aa 100644 --- a/pkg/testcoverage/coverage/types.go +++ b/pkg/testcoverage/coverage/types.go @@ -175,6 +175,8 @@ var ErrInvalidFormat = errors.New("invalid format") func StatsDeserialize(b []byte) ([]Stats, error) { deserializeLine := func(bl []byte) (Stats, error) { fields := bytes.Split(bl, []byte(";")) + fmt.Printf("\n===== SPLIT %+v", fields) + if len(fields) != 3 { //nolint:mnd // relax return Stats{}, fmt.Errorf("not 3 fields: %w", ErrInvalidFormat) } From 22d6afda82745d88564c180391f6d8f11f44f62d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Sat, 8 Mar 2025 11:10:39 +0100 Subject: [PATCH 5/6] debug --- pkg/testcoverage/coverage/types.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/testcoverage/coverage/types.go b/pkg/testcoverage/coverage/types.go index f5e39aa..dce47b2 100644 --- a/pkg/testcoverage/coverage/types.go +++ b/pkg/testcoverage/coverage/types.go @@ -173,28 +173,28 @@ func StatsSerialize(stats []Stats) []byte { var ErrInvalidFormat = errors.New("invalid format") func StatsDeserialize(b []byte) ([]Stats, error) { - deserializeLine := func(bl []byte) (Stats, error) { - fields := bytes.Split(bl, []byte(";")) + deserializeLine := func(line string) (Stats, error) { + fields := strings.Split(line, ";") fmt.Printf("\n===== SPLIT %+v", fields) if len(fields) != 3 { //nolint:mnd // relax return Stats{}, fmt.Errorf("not 3 fields: %w", ErrInvalidFormat) } - t, err := strconv.ParseInt(string(fields[1]), 10, 64) + t, err := strconv.ParseInt(fields[1], 10, 64) if err != nil { return Stats{}, fmt.Errorf("2nd not int: %w", ErrInvalidFormat) } - c, err := strconv.ParseInt(string(fields[2]), 10, 64) + c, err := strconv.ParseInt(fields[2], 10, 64) if err != nil { return Stats{}, fmt.Errorf("3rd not int: %w", ErrInvalidFormat) } - return Stats{Name: string(fields[0]), Total: t, Covered: c}, nil + return Stats{Name: fields[0], Total: t, Covered: c}, nil } - lines := bytes.Split(b, []byte("\n")) + lines := strings.Split(string(b), "\n") result := make([]Stats, 0, len(lines)) for _, l := range lines { From acafd894a94af36ef896b1d726fd357ff74190e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vlado=20Paji=C4=87?= Date: Sat, 8 Mar 2025 11:24:51 +0100 Subject: [PATCH 6/6] test --- .github/workflows/test.yml | 2 +- pkg/testcoverage/check.go | 2 -- pkg/testcoverage/coverage/types.go | 24 +++++++++++++----------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 72c39bb..58beff6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: - name: test env: GITHUB_TOKEN: ${{ matrix.os == 'ubuntu-latest' && secrets.GITHUB_TOKEN || '' }} # Needed for GitHub badge storer integration test - run: go test -race -v -count=1 -failfast -shuffle=on -coverprofile=${{ matrix.os }}-profile -covermode=atomic -coverpkg=./... ./... + run: go test -race -count=1 -failfast -shuffle=on -coverprofile=${{ matrix.os }}-profile -covermode=atomic -coverpkg=./... ./... - name: upload cover profile artifact uses: actions/upload-artifact@v4 diff --git a/pkg/testcoverage/check.go b/pkg/testcoverage/check.go index 7142ac5..c563a2b 100644 --- a/pkg/testcoverage/check.go +++ b/pkg/testcoverage/check.go @@ -132,8 +132,6 @@ func loadBaseCoverageBreakdown(cfg Config) ([]coverage.Stats, error) { return nil, fmt.Errorf("reading file content failed: %w", err) } - fmt.Printf("\n========= DATA: %v", string(data)) - stats, err := coverage.StatsDeserialize(data) if err != nil { return nil, fmt.Errorf("parsing file failed: %w", err) diff --git a/pkg/testcoverage/coverage/types.go b/pkg/testcoverage/coverage/types.go index dce47b2..185e1d9 100644 --- a/pkg/testcoverage/coverage/types.go +++ b/pkg/testcoverage/coverage/types.go @@ -173,28 +173,30 @@ func StatsSerialize(stats []Stats) []byte { var ErrInvalidFormat = errors.New("invalid format") func StatsDeserialize(b []byte) ([]Stats, error) { - deserializeLine := func(line string) (Stats, error) { - fields := strings.Split(line, ";") - fmt.Printf("\n===== SPLIT %+v", fields) - + deserializeLine := func(bl []byte) (Stats, error) { + fields := bytes.Split(bl, []byte(";")) if len(fields) != 3 { //nolint:mnd // relax - return Stats{}, fmt.Errorf("not 3 fields: %w", ErrInvalidFormat) + return Stats{}, ErrInvalidFormat } - t, err := strconv.ParseInt(fields[1], 10, 64) + t, err := strconv.ParseInt(strings.TrimSpace(string(fields[1])), 10, 64) if err != nil { - return Stats{}, fmt.Errorf("2nd not int: %w", ErrInvalidFormat) + return Stats{}, ErrInvalidFormat } - c, err := strconv.ParseInt(fields[2], 10, 64) + c, err := strconv.ParseInt(strings.TrimSpace(string(fields[2])), 10, 64) if err != nil { - return Stats{}, fmt.Errorf("3rd not int: %w", ErrInvalidFormat) + return Stats{}, ErrInvalidFormat } - return Stats{Name: fields[0], Total: t, Covered: c}, nil + return Stats{ + Name: strings.TrimSpace(string(fields[0])), + Total: t, + Covered: c, + }, nil } - lines := strings.Split(string(b), "\n") + lines := bytes.Split(b, []byte("\n")) result := make([]Stats, 0, len(lines)) for _, l := range lines {