Skip to content

Commit fed5ad4

Browse files
committed
Update tests to properly use IsServing
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
1 parent 7de9ca5 commit fed5ad4

File tree

3 files changed

+20
-23
lines changed

3 files changed

+20
-23
lines changed

client_test.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"os/exec"
1212
"runtime"
1313
"testing"
14+
"time"
1415

1516
"google.golang.org/grpc/grpclog"
1617

@@ -73,18 +74,20 @@ func TestMain(m *testing.M) {
7374
}
7475
}
7576

76-
client, err := ctrd.waitForStart(ctx)
77+
waitCtx, waitCancel := context.WithTimeout(ctx, 2*time.Second)
78+
client, err := ctrd.waitForStart(waitCtx)
79+
waitCancel()
7780
if err != nil {
7881
ctrd.Kill()
7982
ctrd.Wait()
80-
fmt.Fprintf(os.Stderr, "%s: %s", err, buf.String())
83+
fmt.Fprintf(os.Stderr, "%s: %s\n", err, buf.String())
8184
os.Exit(1)
8285
}
8386

8487
// print out the version in information
8588
version, err := client.Version(ctx)
8689
if err != nil {
87-
fmt.Fprintf(os.Stderr, "error getting version: %s", err)
90+
fmt.Fprintf(os.Stderr, "error getting version: %s\n", err)
8891
os.Exit(1)
8992
}
9093

@@ -99,7 +102,7 @@ func TestMain(m *testing.M) {
99102
if _, err = client.Pull(ctx, testImage, WithPullUnpack); err != nil {
100103
ctrd.Stop()
101104
ctrd.Wait()
102-
fmt.Fprintf(os.Stderr, "%s: %s", err, buf.String())
105+
fmt.Fprintf(os.Stderr, "%s: %s\n", err, buf.String())
103106
os.Exit(1)
104107
}
105108
}

container_linux_test.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -240,14 +240,9 @@ func TestDaemonRestart(t *testing.T) {
240240

241241
<-statusC
242242

243-
serving := false
244-
for i := 0; i < 20; i++ {
245-
serving, err = client.IsServing(ctx)
246-
if serving {
247-
break
248-
}
249-
time.Sleep(100 * time.Millisecond)
250-
}
243+
waitCtx, waitCancel := context.WithTimeout(ctx, 2*time.Second)
244+
serving, err := client.IsServing(waitCtx)
245+
waitCancel()
251246
if !serving {
252247
t.Fatalf("containerd did not start within 2s: %v", err)
253248
}

daemon_test.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package containerd
22

33
import (
44
"context"
5-
"fmt"
65
"io"
76
"os/exec"
87
"sync"
@@ -44,19 +43,19 @@ func (d *daemon) waitForStart(ctx context.Context) (*Client, error) {
4443
err error
4544
)
4645

47-
for i := 0; i < 20; i++ {
48-
if client == nil {
49-
client, err = New(d.addr)
50-
}
46+
client, err = New(address)
47+
if err != nil {
48+
return nil, err
49+
}
50+
serving, err = client.IsServing(ctx)
51+
if !serving {
52+
client.Close()
5153
if err == nil {
52-
serving, err = client.IsServing(ctx)
53-
if serving {
54-
return client, nil
55-
}
54+
err = errors.New("connection was successful but service is not available")
5655
}
57-
time.Sleep(100 * time.Millisecond)
56+
return nil, err
5857
}
59-
return nil, fmt.Errorf("containerd did not start within 2s: %v", err)
58+
return client, err
6059
}
6160

6261
func (d *daemon) Stop() error {

0 commit comments

Comments
 (0)