Skip to content

Commit 6d07fd7

Browse files
committed
Refactor container_start_test.go to use Tigron
Updates tests to use nerdtest.Setup and the Tigron testing framework as per issue #4613. Signed-off-by: Nuwed Munshi <nuwed.munshi@gmail.com>
1 parent 53e7b27 commit 6d07fd7

File tree

1 file changed

+43
-16
lines changed

1 file changed

+43
-16
lines changed

cmd/nerdctl/container/container_start_test.go

Lines changed: 43 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,58 @@
1717
package container
1818

1919
import (
20-
"runtime"
2120
"testing"
2221

22+
"github.com/containerd/nerdctl/mod/tigron/expect"
23+
"github.com/containerd/nerdctl/mod/tigron/require"
24+
"github.com/containerd/nerdctl/mod/tigron/test"
25+
2326
"github.com/containerd/nerdctl/v2/pkg/testutil"
27+
"github.com/containerd/nerdctl/v2/pkg/testutil/nerdtest"
2428
)
2529

2630
func TestStart(t *testing.T) {
27-
t.Parallel()
28-
base := testutil.NewBase(t)
29-
containerName := testutil.Identifier(t)
31+
nerdtest.Setup()
3032

31-
defer base.Cmd("rm", "-f", containerName).AssertOK()
32-
base.Cmd("run", "--name", containerName, testutil.CommonImage).AssertOK()
33-
base.Cmd("start", containerName).AssertOutContains(containerName)
33+
testCase := &test.Case{
34+
Setup: func(data test.Data, helpers test.Helpers) {
35+
helpers.Ensure("run", "-d",
36+
"--name", data.Identifier(),
37+
testutil.CommonImage)
38+
},
39+
Cleanup: func(data test.Data, helpers test.Helpers) {
40+
helpers.Anyhow("rm", "-f", data.Identifier())
41+
},
42+
Command: func(data test.Data, helpers test.Helpers) test.TestableCommand {
43+
return helpers.Command("start", data.Identifier())
44+
},
45+
Expected: func(data test.Data, helpers test.Helpers) *test.Expected {
46+
return test.Expects(0, nil, expect.Contains(data.Identifier()))(data, helpers)
47+
},
48+
}
49+
testCase.Run(t)
3450
}
3551

3652
func TestStartAttach(t *testing.T) {
37-
if runtime.GOOS == "windows" {
38-
t.Skip("start attach test is not yet implemented on Windows")
39-
}
40-
t.Parallel()
41-
base := testutil.NewBase(t)
42-
containerName := testutil.Identifier(t)
4353

44-
defer base.Cmd("rm", "-f", containerName).AssertOK()
45-
base.Cmd("run", "--name", containerName, testutil.CommonImage, "sh", "-euxc", "echo foo").AssertOK()
46-
base.Cmd("start", "-a", containerName).AssertOutContains("foo")
54+
nerdtest.Setup()
55+
56+
testCase := &test.Case{
57+
Require: require.Not(require.Windows),
58+
Setup: func(data test.Data, helpers test.Helpers) {
59+
helpers.Ensure("run",
60+
"--name", data.Identifier(),
61+
testutil.CommonImage, "sh", "-euxc", "echo foo")
62+
},
63+
Cleanup: func(data test.Data, helpers test.Helpers) {
64+
helpers.Anyhow("rm", "-f", data.Identifier())
65+
},
66+
Command: func(data test.Data, helpers test.Helpers) test.TestableCommand {
67+
return helpers.Command("start", "-a", data.Identifier())
68+
},
69+
Expected: func(data test.Data, helpers test.Helpers) *test.Expected {
70+
return test.Expects(0, nil, expect.Contains("foo"))(data, helpers)
71+
},
72+
}
73+
testCase.Run(t)
4774
}

0 commit comments

Comments
 (0)