Skip to content

Commit e75426f

Browse files
egiptipaveldenis-fokin
authored andcommitted
Go. Bug fixes (#2031)
* Fix bug with nested unexported structs * Delete timeout for worker execution * Add logging when worker doesn't finish * Add sample file * Add message about failed parsing of source code analysis result * Change StringBuilder on buildString * Add message about failed starting the worker (cherry picked from commit 86a20d5)
1 parent 55aec51 commit e75426f

File tree

15 files changed

+159
-152
lines changed

15 files changed

+159
-152
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package nested
2+
3+
type unexportedStruct struct {
4+
int
5+
}
6+
7+
type ExportedStruct struct {
8+
unexportedStruct
9+
}

utbot-go/go-samples/simple/samples_go_ut_test.go

Lines changed: 10 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -46,69 +46,29 @@ func TestGenerateArrayOfIntegersByUtGoFuzzer(t *testing.T) {
4646
}
4747

4848
func TestDistanceBetweenTwoPointsByUtGoFuzzer(t *testing.T) {
49-
actualVal := DistanceBetweenTwoPoints(Point{x: 0.990722785714783, y: 0.990722785714783}, Point{x: 2.0, y: 2.0})
49+
actualVal := DistanceBetweenTwoPoints(Point{x: 0.730967787376657, y: 0.730967787376657}, Point{x: 2.0, y: 2.0})
5050

51-
assert.Equal(t, 1.4273335246362906, actualVal)
51+
assert.Equal(t, 1.794682566180269, actualVal)
5252
}
5353

5454
func TestGetCoordinatesOfMiddleBetweenTwoPointsByUtGoFuzzer(t *testing.T) {
55-
actualVal0, actualVal1 := GetCoordinatesOfMiddleBetweenTwoPoints(Point{x: 0.4872328470301428, y: 0.4872328470301428}, Point{x: 2.0, y: 2.0})
55+
actualVal0, actualVal1 := GetCoordinatesOfMiddleBetweenTwoPoints(Point{x: 0.24053641567148587, y: 0.24053641567148587}, Point{x: 2.0, y: 2.0})
5656

5757
assertMultiple := assert.New(t)
58-
assertMultiple.Equal(1.2436164235150713, actualVal0)
59-
assertMultiple.Equal(1.2436164235150713, actualVal1)
58+
assertMultiple.Equal(1.1202682078357429, actualVal0)
59+
assertMultiple.Equal(1.1202682078357429, actualVal1)
6060
}
6161

62-
func TestGetCoordinateSumOfPointsByUtGoFuzzer1(t *testing.T) {
63-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.7462414053223305, y: 0.7462414053223305}})
62+
func TestGetCoordinateSumOfPointsByUtGoFuzzer(t *testing.T) {
63+
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.6374174253501083, y: 0.6374174253501083}})
6464

6565
assertMultiple := assert.New(t)
66-
assertMultiple.Equal(0.7462414053223305, actualVal0)
67-
assertMultiple.Equal(0.7462414053223305, actualVal1)
68-
}
69-
70-
func TestGetCoordinateSumOfPointsByUtGoFuzzer2(t *testing.T) {
71-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.7462414053223305, y: 0.0}, {x: 0.7462414053223305, y: 0.0}, {x: 0.7462414053223305, y: 2.8480945388892178e-306}, {x: 0.7462414053223305, y: 0.0}})
72-
73-
assertMultiple := assert.New(t)
74-
assertMultiple.Equal(2.984965621289322, actualVal0)
75-
assertMultiple.Equal(2.8480945388892178e-306, actualVal1)
76-
}
77-
78-
func TestGetCoordinateSumOfPointsByUtGoFuzzer3(t *testing.T) {
79-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.7462414053223305, y: 0.7462414053223305}, {x: 0.0, y: 0.7462414053223305}})
80-
81-
assertMultiple := assert.New(t)
82-
assertMultiple.Equal(0.7462414053223305, actualVal0)
83-
assertMultiple.Equal(1.492482810644661, actualVal1)
84-
}
85-
86-
func TestGetCoordinateSumOfPointsByUtGoFuzzer4(t *testing.T) {
87-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.0, y: 0.0}, {x: 0.0, y: 0.0}, {x: 0.0, y: 0.0}})
88-
89-
assertMultiple := assert.New(t)
90-
assertMultiple.Equal(0.0, actualVal0)
91-
assertMultiple.Equal(0.0, actualVal1)
92-
}
93-
94-
func TestGetCoordinateSumOfPointsByUtGoFuzzer5(t *testing.T) {
95-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{{x: 0.0, y: 0.7462414053223305}, {x: 0.0, y: 0.7462414053223305}, {x: 4.7783097267364807e-299, y: 0.7462414053223305}, {x: 0.0, y: 0.7462414053223305}, {x: 0.0, y: 0.7462414053223305}})
96-
97-
assertMultiple := assert.New(t)
98-
assertMultiple.Equal(4.7783097267364807e-299, actualVal0)
99-
assertMultiple.Equal(3.731207026611653, actualVal1)
100-
}
101-
102-
func TestGetCoordinateSumOfPointsByUtGoFuzzer6(t *testing.T) {
103-
actualVal0, actualVal1 := GetCoordinateSumOfPoints([]Point{})
104-
105-
assertMultiple := assert.New(t)
106-
assertMultiple.Equal(0.0, actualVal0)
107-
assertMultiple.Equal(0.0, actualVal1)
66+
assertMultiple.Equal(0.6374174253501083, actualVal0)
67+
assertMultiple.Equal(0.6374174253501083, actualVal1)
10868
}
10969

11070
func TestGetAreaOfCircleByUtGoFuzzer(t *testing.T) {
111-
actualVal := GetAreaOfCircle(Circle{Center: Point{x: 0.7331520701949938, y: 0.7331520701949938}, Radius: 2.0})
71+
actualVal := GetAreaOfCircle(Circle{Center: Point{x: 0.5504370051176339, y: 0.5504370051176339}, Radius: 2.0})
11272

11373
assert.Equal(t, 12.566370614359172, actualVal)
11474
}
@@ -126,48 +86,6 @@ func TestIsIdentityByUtGoFuzzer2(t *testing.T) {
12686
}
12787

12888
func TestIsIdentityByUtGoFuzzer3(t *testing.T) {
129-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 0, 0}, {0, 0, 0}})
130-
131-
assert.Equal(t, false, actualVal)
132-
}
133-
134-
func TestIsIdentityByUtGoFuzzer4(t *testing.T) {
135-
actualVal := IsIdentity([3][3]int{{1, 0, 1}, {1, 0, 1}, {0, 1, 1}})
136-
137-
assert.Equal(t, false, actualVal)
138-
}
139-
140-
func TestIsIdentityByUtGoFuzzer5(t *testing.T) {
141-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 1, 2048}, {0, 0, 0}})
142-
143-
assert.Equal(t, false, actualVal)
144-
}
145-
146-
func TestIsIdentityByUtGoFuzzer6(t *testing.T) {
147-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {2199023255552, 1, 2048}, {0, 0, 3}})
148-
149-
assert.Equal(t, false, actualVal)
150-
}
151-
152-
func TestIsIdentityByUtGoFuzzer7(t *testing.T) {
153-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 1, 0}, {0, 0, 0}})
154-
155-
assert.Equal(t, false, actualVal)
156-
}
157-
158-
func TestIsIdentityByUtGoFuzzer8(t *testing.T) {
159-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 1, 0}, {0, 1, 0}})
160-
161-
assert.Equal(t, false, actualVal)
162-
}
163-
164-
func TestIsIdentityByUtGoFuzzer9(t *testing.T) {
165-
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 1, 0}, {18014398509481984, 1, 0}})
166-
167-
assert.Equal(t, false, actualVal)
168-
}
169-
170-
func TestIsIdentityByUtGoFuzzer10(t *testing.T) {
17189
actualVal := IsIdentity([3][3]int{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}})
17290

17391
assert.Equal(t, true, actualVal)

utbot-go/go-samples/simple/supported_types.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"github.com/pmezard/go-difflib/difflib"
66
dif "github.com/pmezard/go-difflib/difflib"
7+
"go-samples/simple/nested"
78
"math"
89
)
910

@@ -214,3 +215,7 @@ func SliceOfSliceOfStructs(slice [][]Structure) [][]Structure {
214215
func SliceOfArrayOfInt(slice [][5]int) [][5]int {
215216
return slice
216217
}
218+
219+
func ExportedStructWithEmbeddedUnexportedStruct(exportedStruct nested.ExportedStruct) nested.ExportedStruct {
220+
return exportedStruct
221+
}

0 commit comments

Comments
 (0)