Skip to content

Commit 7b32cd6

Browse files
authored
Merge pull request #113 from tstromberg/main
upgrade go deps
2 parents ecc996d + 8e2c9d0 commit 7b32cd6

File tree

3 files changed

+51
-27
lines changed

3 files changed

+51
-27
lines changed

cmd/reviewGOOSE/main_test.go

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"runtime"
1111
"strings"
1212
"sync"
13+
"sync/atomic"
1314
"testing"
1415
"time"
1516

@@ -887,38 +888,45 @@ func TestNewlyBlockedPRAfterGracePeriod(t *testing.T) {
887888

888889
// TestAuthRetryLoopStopsOnSuccess tests that the auth retry loop stops when auth succeeds.
889890
func TestAuthRetryLoopStopsOnSuccess(t *testing.T) {
890-
ctx := t.Context()
891+
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
892+
defer cancel()
891893

892894
app := &App{
893895
mu: sync.RWMutex{},
894896
authError: "initial auth error",
895897
systrayInterface: &MockSystray{},
896898
}
897899

898-
// Track how many times we check authError
899-
checkCount := 0
900+
// Track how many times we check authError (use atomic for thread safety)
901+
var checkCount atomic.Int32
900902
done := make(chan struct{})
903+
exitReason := make(chan string, 1)
901904

902905
// Start a goroutine that simulates the auth retry loop behavior
903906
go func() {
904907
defer close(done)
908+
ticker := time.NewTicker(10 * time.Millisecond)
909+
defer ticker.Stop()
910+
905911
for {
906912
select {
907913
case <-ctx.Done():
914+
exitReason <- "context canceled"
908915
return
909-
case <-time.After(10 * time.Millisecond): // Fast ticker for testing
916+
case <-ticker.C:
910917
app.mu.RLock()
911918
hasError := app.authError != ""
912919
app.mu.RUnlock()
913920

914-
checkCount++
921+
count := checkCount.Add(1)
915922

916923
if !hasError {
924+
exitReason <- fmt.Sprintf("auth succeeded after %d checks", count)
917925
return // Loop should exit when auth succeeds
918926
}
919927

920928
// Simulate clearing auth error on 3rd attempt
921-
if checkCount >= 3 {
929+
if count >= 3 {
922930
app.mu.Lock()
923931
app.authError = ""
924932
app.mu.Unlock()
@@ -931,8 +939,14 @@ func TestAuthRetryLoopStopsOnSuccess(t *testing.T) {
931939
select {
932940
case <-done:
933941
// Success - loop exited
934-
case <-time.After(1 * time.Second):
935-
t.Fatal("Auth retry loop did not stop after auth succeeded")
942+
reason := "unknown"
943+
select {
944+
case reason = <-exitReason:
945+
default:
946+
}
947+
t.Logf("Goroutine exited: %s", reason)
948+
case <-time.After(2 * time.Second):
949+
t.Fatalf("Auth retry loop did not stop after auth succeeded (checkCount=%d)", checkCount.Load())
936950
}
937951

938952
// Verify auth error was cleared
@@ -944,8 +958,9 @@ func TestAuthRetryLoopStopsOnSuccess(t *testing.T) {
944958
t.Errorf("Expected auth error to be cleared, got: %s", finalError)
945959
}
946960

947-
if checkCount < 3 {
948-
t.Errorf("Expected at least 3 retry attempts, got: %d", checkCount)
961+
finalCount := checkCount.Load()
962+
if finalCount < 3 {
963+
t.Errorf("Expected at least 3 retry attempts, got: %d", finalCount)
949964
}
950965
}
951966

go.mod

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/codeGROOVE-dev/goose
33
go 1.25.4
44

55
require (
6-
github.com/codeGROOVE-dev/retry v1.3.0
6+
github.com/codeGROOVE-dev/retry v1.3.1
77
github.com/codeGROOVE-dev/sprinkler v0.0.0-20251113030909-5962af625370
88
github.com/codeGROOVE-dev/turnclient v0.0.0-20251210023051-bbb7e1943ebd
99
github.com/energye/systray v1.0.2
@@ -16,14 +16,17 @@ require (
1616

1717
require (
1818
git.sr.ht/~jackmordaunt/go-toast v1.1.2 // indirect
19-
github.com/codeGROOVE-dev/prx v0.0.0-20251210004018-f65fe8849ded // indirect
20-
github.com/codeGROOVE-dev/sfcache v1.4.2 // indirect
21-
github.com/codeGROOVE-dev/sfcache/pkg/store/localfs v1.4.2 // indirect
19+
github.com/codeGROOVE-dev/fido v1.10.0 // indirect
20+
github.com/codeGROOVE-dev/fido/pkg/store/compress v1.10.0 // indirect
21+
github.com/codeGROOVE-dev/fido/pkg/store/localfs v1.10.0 // indirect
22+
github.com/codeGROOVE-dev/prx v0.0.0-20260106161606-c98f36600fa9 // indirect
2223
github.com/esiqveland/notify v0.13.3 // indirect
2324
github.com/go-ole/go-ole v1.3.0 // indirect
24-
github.com/google/go-querystring v1.1.0 // indirect
25+
github.com/google/go-querystring v1.2.0 // indirect
2526
github.com/jackmordaunt/icns/v3 v3.0.1 // indirect
27+
github.com/klauspost/compress v1.18.2 // indirect
2628
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
29+
github.com/puzpuzpuz/xsync/v4 v4.2.0 // indirect
2730
github.com/sergeymakinen/go-bmp v1.0.0 // indirect
2831
github.com/sergeymakinen/go-ico v1.0.0 // indirect
2932
github.com/tadvi/systray v0.0.0-20190226123456-11a2b8fa57af // indirect

go.sum

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
git.sr.ht/~jackmordaunt/go-toast v1.1.2 h1:/yrfI55LRt1M7H1vkaw+NaH1+L1CDxrqDltwm5euVuE=
22
git.sr.ht/~jackmordaunt/go-toast v1.1.2/go.mod h1:jA4OqHKTQ4AFBdwrSnwnskUIIS3HYzlJSgdzCKqfavo=
3-
github.com/codeGROOVE-dev/prx v0.0.0-20251210004018-f65fe8849ded h1:d5pL5z1e/N0FFTPvgkkqwMposglQkNCBPi40XQ7CrWs=
4-
github.com/codeGROOVE-dev/prx v0.0.0-20251210004018-f65fe8849ded/go.mod h1:tBh77XZQxCyzMUB+6yjlayMbE9g6JRpBjGbAntfzk0M=
5-
github.com/codeGROOVE-dev/retry v1.3.0 h1:/+ipAWRJLL6y1R1vprYo0FSjSBvH6fE5j9LKXjpD54g=
6-
github.com/codeGROOVE-dev/retry v1.3.0/go.mod h1:8OgefgV1XP7lzX2PdKlCXILsYKuz6b4ZpHa/20iLi8E=
7-
github.com/codeGROOVE-dev/sfcache v1.4.2 h1:F1fXicO/B2O2N7KuJRkaHqJCHgxYXls7aQtSH8wUxH0=
8-
github.com/codeGROOVE-dev/sfcache v1.4.2/go.mod h1:ksV5Y1RwKmOPZZiV0zXpsBOENGUCgO0fVgr/P8f/DJM=
9-
github.com/codeGROOVE-dev/sfcache/pkg/store/localfs v1.4.2 h1:EF0RxIee8DvugvTmwinSqt5OHFEykol3kZcxzcS62uE=
10-
github.com/codeGROOVE-dev/sfcache/pkg/store/localfs v1.4.2/go.mod h1:D/Y1sYT1m3VXHZRkQjHjFwtKQOsb587QZP/GtfJEDSE=
3+
github.com/codeGROOVE-dev/fido v1.10.0 h1:i4Wb6LDd5nD/4Fnp47KAVUVhG1O1mN5jSRbCYPpBYjw=
4+
github.com/codeGROOVE-dev/fido v1.10.0/go.mod h1:/mqfMeKCTYTGt/Y0cWm6gh8gYBKG1w8xBsTDmu+A/pU=
5+
github.com/codeGROOVE-dev/fido/pkg/store/compress v1.10.0 h1:W3AYtR6eyPHQ8QhTsuqjNZYWk/Fev0cJiAiuw04uhlk=
6+
github.com/codeGROOVE-dev/fido/pkg/store/compress v1.10.0/go.mod h1:0hFYQ8Y6jfrYuJb8eBimYz66tg7DDuVWbZqaI944LQM=
7+
github.com/codeGROOVE-dev/fido/pkg/store/localfs v1.10.0 h1:oaPwuHHBuzhsWnPm7UCxgwjz7+jG3O0JenSSgPSwqv8=
8+
github.com/codeGROOVE-dev/fido/pkg/store/localfs v1.10.0/go.mod h1:zUGzODSWykosAod0IHycxdxUOMcd2eVqd6eUdOsU73E=
9+
github.com/codeGROOVE-dev/prx v0.0.0-20260106161606-c98f36600fa9 h1:sAfFmbmeZVM15XkhIIUEosyO3kfcTmwAnH9b/YDqe2E=
10+
github.com/codeGROOVE-dev/prx v0.0.0-20260106161606-c98f36600fa9/go.mod h1:pAsjPLE2zHbj5mcM9CGa5AIxpxcjklSJvLbK5yQY7UM=
11+
github.com/codeGROOVE-dev/retry v1.3.1 h1:BAkfDzs6FssxLCGWGgM97bb+6/8GTa40Cs147vXkJOg=
12+
github.com/codeGROOVE-dev/retry v1.3.1/go.mod h1:+b3huqYGY1+ZJyuCmR8nBVLjd3WJ7qAFss+sI4s6FSc=
1113
github.com/codeGROOVE-dev/sprinkler v0.0.0-20251113030909-5962af625370 h1:uYXBDnaRRf4q6X/IWOm6O/cOj57tVkpjfVvwn+SfHp0=
1214
github.com/codeGROOVE-dev/sprinkler v0.0.0-20251113030909-5962af625370/go.mod h1:sOvKRad1kRPAOIUm7spNR3aeVQjtk9VoS8uo6NL4kus=
1315
github.com/codeGROOVE-dev/turnclient v0.0.0-20251210023051-bbb7e1943ebd h1:Baps/A2EaaMlZlTseAO9/ig0oWFmqUGLtNRJm9bEDXA=
@@ -27,19 +29,24 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x
2729
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
2830
github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ=
2931
github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c=
30-
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
3132
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
3233
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
3334
github.com/google/go-github/v57 v57.0.0 h1:L+Y3UPTY8ALM8x+TV0lg+IEBI+upibemtBD8Q9u7zHs=
3435
github.com/google/go-github/v57 v57.0.0/go.mod h1:s0omdnye0hvK/ecLvpsGfJMiRt85PimQh4oygmLIxHw=
35-
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
36-
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
36+
github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
37+
github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
3738
github.com/jackmordaunt/icns/v3 v3.0.1 h1:xxot6aNuGrU+lNgxz5I5H0qSeCjNKp8uTXB1j8D4S3o=
3839
github.com/jackmordaunt/icns/v3 v3.0.1/go.mod h1:5sHL59nqTd2ynTnowxB/MDQFhKNqkK8X687uKNygaSQ=
40+
github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk=
41+
github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
3942
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
4043
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
44+
github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
45+
github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
4146
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
4247
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
48+
github.com/puzpuzpuz/xsync/v4 v4.2.0 h1:dlxm77dZj2c3rxq0/XNvvUKISAmovoXF4a4qM6Wvkr0=
49+
github.com/puzpuzpuz/xsync/v4 v4.2.0/go.mod h1:VJDmTCJMBt8igNxnkQd86r+8KUeN1quSfNKu5bLYFQo=
4350
github.com/sergeymakinen/go-bmp v1.0.0 h1:SdGTzp9WvCV0A1V0mBeaS7kQAwNLdVJbmHlqNWq0R+M=
4451
github.com/sergeymakinen/go-bmp v1.0.0/go.mod h1:/mxlAQZRLxSvJFNIEGGLBE/m40f3ZnUifpgVDlcUIEY=
4552
github.com/sergeymakinen/go-ico v1.0.0 h1:uL3khgvKkY6WfAetA+RqsguClBuu7HpvBB/nq/Jvr80=
@@ -67,7 +74,6 @@ golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
6774
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
6875
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
6976
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
70-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
7177
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
7278
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
7379
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

0 commit comments

Comments
 (0)