From 295187d6a823506cf7bc6eeb20fac5433d016800 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 08:15:41 +0200 Subject: [PATCH 01/14] enable float-compare rule from testifylint --- .golangci.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index 83dae8d06e61..295bbebd42d2 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -74,8 +74,6 @@ linters-settings: ignore-generated-header: true testifylint: enable-all: true - disable: - - float-compare linters: disable-all: true From 5861b8e0a694f66c781582d919e0c45085fd2fa4 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 14:43:38 +0200 Subject: [PATCH 02/14] Update .golangci.yaml --- .golangci.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.golangci.yaml b/.golangci.yaml index 295bbebd42d2..88cb2ec9a643 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -74,7 +74,6 @@ linters-settings: ignore-generated-header: true testifylint: enable-all: true - linters: disable-all: true enable: From feba140fccd45e6432f14a87ceae00615e8cb898 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 14:47:14 +0200 Subject: [PATCH 03/14] Update test.yaml --- .github/workflows/test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2b21d714153f..6e532011e2f1 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.operating-system }} strategy: matrix: - operating-system: [ubuntu-latest-m, windows-latest, macos-latest] + operating-system: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4.1.6 @@ -31,7 +31,7 @@ jobs: echo "Run 'go mod tidy' and push it" exit 1 fi - if: matrix.operating-system == 'ubuntu-latest-m' + if: matrix.operating-system == 'ubuntu-latest' - name: Lint id: lint From 6a27e5815cf7fe3b7e7008d3e0f63b2decf35e55 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 14:57:52 +0200 Subject: [PATCH 04/14] Update test.yaml --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6e532011e2f1..d357801c8870 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.operating-system }} strategy: matrix: - operating-system: [ubuntu-latest, windows-latest, macos-latest] + operating-system: [ubuntu-latest-m, windows-latest, macos-latest] steps: - uses: actions/checkout@v4.1.6 From 2637ee508f9cf5d3d29034a7a6768672626f38c6 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 14:58:05 +0200 Subject: [PATCH 05/14] Update test.yaml --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d357801c8870..2b21d714153f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -31,7 +31,7 @@ jobs: echo "Run 'go mod tidy' and push it" exit 1 fi - if: matrix.operating-system == 'ubuntu-latest' + if: matrix.operating-system == 'ubuntu-latest-m' - name: Lint id: lint From 8a6ff23f4aa07870004a5a6090afcea1c184221f Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:12:26 +0200 Subject: [PATCH 06/14] Update parse_number_test.go --- .../azure/arm/parser/armjson/parse_number_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go index f0f7532c15a4..4e5c20827af3 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go @@ -24,7 +24,7 @@ func Test_Number_IntToFloat(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.Equal(t, 123.0, output) + assert.InEpsilon(t, 123.0, output, 0.0001) } func Test_Number_FloatToFloat(t *testing.T) { @@ -33,7 +33,7 @@ func Test_Number_FloatToFloat(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.Equal(t, 123.456, output) + assert.Equal(t, 123.456, output, 0.0001) } func Test_Number_FloatToInt(t *testing.T) { @@ -42,7 +42,7 @@ func Test_Number_FloatToInt(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.Equal(t, 123, output) + assert.InEpsilon(t, 123, output) } func Test_Number_FloatWithExponent(t *testing.T) { @@ -70,7 +70,7 @@ func Test_Number_FloatWithExponent(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.Equal(t, test.out, output) + assert.InEpsilon(t, test.out, output, 0.0001) }) } From 7bf70eb708fe00cb60523e2a3820b694c570fd52 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:13:38 +0200 Subject: [PATCH 07/14] Update parse_object_test.go --- .../scanners/azure/arm/parser/armjson/parse_object_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go index 2971ae73de21..31ea685cef23 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go @@ -21,7 +21,7 @@ func Test_Object(t *testing.T) { metadata := types.NewTestMetadata() require.NoError(t, Unmarshal(example, &target, &metadata)) assert.Equal(t, "testing", target.Name) - assert.Equal(t, 3.14, target.Balance) + assert.InEpsilon(t, 3.14, target.Balance, 0.0001) } func Test_ObjectWithPointers(t *testing.T) { @@ -36,7 +36,7 @@ func Test_ObjectWithPointers(t *testing.T) { metadata := types.NewTestMetadata() require.NoError(t, Unmarshal(example, &target, &metadata)) assert.Equal(t, "testing", *target.Name) - assert.Equal(t, 3.14, *target.Balance) + assert.InEpsilon(t, 3.14, *target.Balance, 0.0001) } type nestedParent struct { From 0936a6f75a0948e5066db255c981e1aecc66fea7 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:14:22 +0200 Subject: [PATCH 08/14] Update pipeline_test.go --- pkg/parallel/pipeline_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/parallel/pipeline_test.go b/pkg/parallel/pipeline_test.go index 60b8cec100ab..c6f09744bba2 100644 --- a/pkg/parallel/pipeline_test.go +++ b/pkg/parallel/pipeline_test.go @@ -108,7 +108,7 @@ func TestPipeline_Do(t *testing.T) { }) err := p.Do(context.Background()) tt.wantErr(t, err) - assert.Equal(t, tt.want, got) + assert.InEpsilon(t, tt.want, got, 0.0001) }) } } From 12e1dba06af3dfd5ea7daf4dee9770439a1c90c0 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:15:11 +0200 Subject: [PATCH 09/14] Update parser_test.go --- pkg/iac/scanners/cloudformation/parser/parser_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/iac/scanners/cloudformation/parser/parser_test.go b/pkg/iac/scanners/cloudformation/parser/parser_test.go index 396e12f1bf57..0d37440e2e1a 100644 --- a/pkg/iac/scanners/cloudformation/parser/parser_test.go +++ b/pkg/iac/scanners/cloudformation/parser/parser_test.go @@ -410,7 +410,7 @@ func TestJsonWithNumbers(t *testing.T) { file := files[0] assert.Equal(t, 1, file.Parameters["SomeIntParam"].Default()) - assert.Equal(t, 1.1, file.Parameters["SomeFloatParam"].Default()) + assert.InEpsilon(t, 1.1, file.Parameters["SomeFloatParam"].Default(), 0.0001) res := file.GetResourcesByType("Test::Resource") assert.NotNil(t, res) From a898ba50433234462d2d9c1e6f7ba6b3c08305cd Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:15:41 +0200 Subject: [PATCH 10/14] Update parser_test.go --- pkg/iac/scanners/json/parser/parser_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/iac/scanners/json/parser/parser_test.go b/pkg/iac/scanners/json/parser/parser_test.go index ed7b87492d96..a47868fad0ed 100644 --- a/pkg/iac/scanners/json/parser/parser_test.go +++ b/pkg/iac/scanners/json/parser/parser_test.go @@ -34,7 +34,7 @@ func Test_Parser(t *testing.T) { y, ok := yRaw.(float64) require.True(t, ok) - assert.Equal(t, 123.0, y) + assert.InEpsilon(t, 123.0, y, 0.0001) zRaw, ok := xMsi["z"] require.True(t, ok) From b9281b497bcb6c0aba57be34d0ae77f662873806 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:31:35 +0200 Subject: [PATCH 11/14] Update parse_number_test.go --- pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go index 4e5c20827af3..d402d8f90098 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go @@ -42,7 +42,7 @@ func Test_Number_FloatToInt(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.InEpsilon(t, 123, output) + assert.InEpsilon(t, 123, output, 0.0001) } func Test_Number_FloatWithExponent(t *testing.T) { From 9800ba1fa888156c21aeb38e68d970559df216e0 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 15:36:22 +0200 Subject: [PATCH 12/14] Update parse_number_test.go --- pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go index d402d8f90098..d2acf3b0a8d9 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go @@ -33,7 +33,7 @@ func Test_Number_FloatToFloat(t *testing.T) { metadata := types.NewTestMetadata() err := Unmarshal(example, &output, &metadata) require.NoError(t, err) - assert.Equal(t, 123.456, output, 0.0001) + assert.InEpsilon(t, 123.456, output, 0.0001) } func Test_Number_FloatToInt(t *testing.T) { From d4293832fd1c0e1851b941b24c3996abe4db6b47 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Wed, 19 Jun 2024 18:58:34 +0200 Subject: [PATCH 13/14] Update pipeline_test.go --- pkg/parallel/pipeline_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/parallel/pipeline_test.go b/pkg/parallel/pipeline_test.go index c6f09744bba2..b0ef56df9989 100644 --- a/pkg/parallel/pipeline_test.go +++ b/pkg/parallel/pipeline_test.go @@ -108,7 +108,11 @@ func TestPipeline_Do(t *testing.T) { }) err := p.Do(context.Background()) tt.wantErr(t, err) - assert.InEpsilon(t, tt.want, got, 0.0001) + if tt.want == float64(0) { + assert.Zero(t, got) + } else { + assert.InEpsilon(t, tt.want, got, 0.0001) + } }) } } From 86cbc783102043569992d29eb467c9a46dd0fa01 Mon Sep 17 00:00:00 2001 From: knqyf263 Date: Wed, 26 Jun 2024 15:41:59 +0400 Subject: [PATCH 14/14] test: use int Signed-off-by: knqyf263 --- pkg/parallel/pipeline_test.go | 57 ++++++++++++++++------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/pkg/parallel/pipeline_test.go b/pkg/parallel/pipeline_test.go index b0ef56df9989..4fb008c9e00e 100644 --- a/pkg/parallel/pipeline_test.go +++ b/pkg/parallel/pipeline_test.go @@ -3,7 +3,6 @@ package parallel_test import ( "context" "fmt" - "math" "testing" "github.com/stretchr/testify/assert" @@ -15,13 +14,13 @@ import ( func TestPipeline_Do(t *testing.T) { type field struct { numWorkers int - items []float64 - onItem func(context.Context, float64) (float64, error) + items []int + onItem func(context.Context, int) (int, error) } type testCase struct { name string field field - want float64 + want int wantErr require.ErrorAssertionFunc } tests := []testCase{ @@ -29,7 +28,7 @@ func TestPipeline_Do(t *testing.T) { name: "pow", field: field{ numWorkers: 5, - items: []float64{ + items: []int{ 1, 2, 3, @@ -41,44 +40,44 @@ func TestPipeline_Do(t *testing.T) { 9, 10, }, - onItem: func(_ context.Context, f float64) (float64, error) { - return math.Pow(f, 2), nil + onItem: func(_ context.Context, i int) (int, error) { + return i * i, nil }, }, want: 385, wantErr: require.NoError, }, { - name: "ceil", + name: "double", field: field{ numWorkers: 3, - items: []float64{ - 1.1, - 2.2, - 3.3, - 4.4, - 5.5, - -1.1, - -2.2, - -3.3, + items: []int{ + 1, + 2, + 3, + 4, + 5, + -1, + -2, + -3, }, - onItem: func(_ context.Context, f float64) (float64, error) { - return math.Round(f), nil + onItem: func(_ context.Context, i int) (int, error) { + return i * 2, nil }, }, - want: 10, + want: 18, wantErr: require.NoError, }, { name: "error in series", field: field{ numWorkers: 1, - items: []float64{ + items: []int{ 1, 2, 3, }, - onItem: func(_ context.Context, f float64) (float64, error) { + onItem: func(_ context.Context, _ int) (int, error) { return 0, fmt.Errorf("error") }, }, @@ -88,11 +87,11 @@ func TestPipeline_Do(t *testing.T) { name: "error in parallel", field: field{ numWorkers: 3, - items: []float64{ + items: []int{ 1, 2, }, - onItem: func(_ context.Context, f float64) (float64, error) { + onItem: func(_ context.Context, _ int) (int, error) { return 0, fmt.Errorf("error") }, }, @@ -101,18 +100,14 @@ func TestPipeline_Do(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - var got float64 - p := parallel.NewPipeline(tt.field.numWorkers, false, tt.field.items, tt.field.onItem, func(f float64) error { + var got int + p := parallel.NewPipeline(tt.field.numWorkers, false, tt.field.items, tt.field.onItem, func(f int) error { got += f return nil }) err := p.Do(context.Background()) tt.wantErr(t, err) - if tt.want == float64(0) { - assert.Zero(t, got) - } else { - assert.InEpsilon(t, tt.want, got, 0.0001) - } + assert.Equal(t, tt.want, got) }) } }