@@ -17,6 +17,7 @@ import (
17
17
"os"
18
18
"runtime"
19
19
"strings"
20
+ "sync"
20
21
"testing"
21
22
"time"
22
23
@@ -81,9 +82,10 @@ func TestServer(t *testing.T) {
81
82
root ,cfg := clitest .New (t ,"server" ,"--dev" ,"--skip-tunnel" ,"--address" ,":0" )
82
83
var buf strings.Builder
83
84
root .SetOutput (& buf )
84
- done := make (chan struct {})
85
+ var wg sync.WaitGroup
86
+ wg .Add (1 )
85
87
go func () {
86
- defer close ( done )
88
+ defer wg . Done ( )
87
89
88
90
err := root .ExecuteContext (ctx )
89
91
require .ErrorIs (t ,err ,context .Canceled )
@@ -116,7 +118,7 @@ func TestServer(t *testing.T) {
116
118
require .NoError (t ,err )
117
119
118
120
cancelFunc ()
119
- <- done
121
+ wg . Wait ()
120
122
})
121
123
// Duplicated test from "Development" above to test setting email/password via env.
122
124
// Cannot run parallel due to os.Setenv.
@@ -133,9 +135,10 @@ func TestServer(t *testing.T) {
133
135
root ,cfg := clitest .New (t ,"server" ,"--dev" ,"--skip-tunnel" ,"--address" ,":0" )
134
136
var buf strings.Builder
135
137
root .SetOutput (& buf )
136
- done := make (chan struct {})
138
+ var wg sync.WaitGroup
139
+ wg .Add (1 )
137
140
go func () {
138
- defer close ( done )
141
+ defer wg . Done ( )
139
142
140
143
err := root .ExecuteContext (ctx )
141
144
require .ErrorIs (t ,err ,context .Canceled )
@@ -161,7 +164,7 @@ func TestServer(t *testing.T) {
161
164
require .NoError (t ,err )
162
165
163
166
cancelFunc ()
164
- <- done
167
+ wg . Wait ()
165
168
})
166
169
t .Run ("TLSBadVersion" ,func (t * testing.T ) {
167
170
t .Parallel ()