Fixes part of #16756
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
| ... | ... |
@@ -8,6 +8,7 @@ import ( |
| 8 | 8 |
"strings" |
| 9 | 9 |
"time" |
| 10 | 10 |
|
| 11 |
+ "github.com/docker/docker/pkg/integration/checker" |
|
| 11 | 12 |
"github.com/docker/docker/pkg/stringid" |
| 12 | 13 |
"github.com/go-check/check" |
| 13 | 14 |
"github.com/kr/pty" |
| ... | ... |
@@ -58,9 +59,7 @@ func (s *DockerSuite) TestAttachAfterDetach(c *check.C) {
|
| 58 | 58 |
name := "detachtest" |
| 59 | 59 |
|
| 60 | 60 |
cpty, tty, err := pty.Open() |
| 61 |
- if err != nil {
|
|
| 62 |
- c.Fatalf("Could not open pty: %v", err)
|
|
| 63 |
- } |
|
| 61 |
+ c.Assert(err, checker.IsNil, check.Commentf("Could not open pty: %v", err))
|
|
| 64 | 62 |
cmd := exec.Command(dockerBinary, "run", "-ti", "--name", name, "busybox") |
| 65 | 63 |
cmd.Stdin = tty |
| 66 | 64 |
cmd.Stdout = tty |
| ... | ... |
@@ -86,18 +85,15 @@ func (s *DockerSuite) TestAttachAfterDetach(c *check.C) {
|
| 86 | 86 |
} |
| 87 | 87 |
|
| 88 | 88 |
cpty, tty, err = pty.Open() |
| 89 |
- if err != nil {
|
|
| 90 |
- c.Fatalf("Could not open pty: %v", err)
|
|
| 91 |
- } |
|
| 89 |
+ c.Assert(err, checker.IsNil, check.Commentf("Could not open pty: %v", err))
|
|
| 92 | 90 |
|
| 93 | 91 |
cmd = exec.Command(dockerBinary, "attach", name) |
| 94 | 92 |
cmd.Stdin = tty |
| 95 | 93 |
cmd.Stdout = tty |
| 96 | 94 |
cmd.Stderr = tty |
| 97 | 95 |
|
| 98 |
- if err := cmd.Start(); err != nil {
|
|
| 99 |
- c.Fatal(err) |
|
| 100 |
- } |
|
| 96 |
+ err = cmd.Start() |
|
| 97 |
+ c.Assert(err, checker.IsNil) |
|
| 101 | 98 |
|
| 102 | 99 |
bytes := make([]byte, 10) |
| 103 | 100 |
var nBytes int |
| ... | ... |
@@ -120,13 +116,10 @@ func (s *DockerSuite) TestAttachAfterDetach(c *check.C) {
|
| 120 | 120 |
c.Fatal("timeout waiting for attach read")
|
| 121 | 121 |
} |
| 122 | 122 |
|
| 123 |
- if err := cmd.Wait(); err != nil {
|
|
| 124 |
- c.Fatal(err) |
|
| 125 |
- } |
|
| 123 |
+ err = cmd.Wait() |
|
| 124 |
+ c.Assert(err, checker.IsNil) |
|
| 126 | 125 |
|
| 127 |
- if !strings.Contains(string(bytes[:nBytes]), "/ #") {
|
|
| 128 |
- c.Fatalf("failed to get a new prompt. got %s", string(bytes[:nBytes]))
|
|
| 129 |
- } |
|
| 126 |
+ c.Assert(string(bytes[:nBytes]), checker.Contains, "/ #") |
|
| 130 | 127 |
|
| 131 | 128 |
} |
| 132 | 129 |
|
| ... | ... |
@@ -137,42 +130,30 @@ func (s *DockerSuite) TestAttachDetach(c *check.C) {
|
| 137 | 137 |
c.Assert(waitRun(id), check.IsNil) |
| 138 | 138 |
|
| 139 | 139 |
cpty, tty, err := pty.Open() |
| 140 |
- if err != nil {
|
|
| 141 |
- c.Fatal(err) |
|
| 142 |
- } |
|
| 140 |
+ c.Assert(err, check.IsNil) |
|
| 143 | 141 |
defer cpty.Close() |
| 144 | 142 |
|
| 145 | 143 |
cmd := exec.Command(dockerBinary, "attach", id) |
| 146 | 144 |
cmd.Stdin = tty |
| 147 | 145 |
stdout, err := cmd.StdoutPipe() |
| 148 |
- if err != nil {
|
|
| 149 |
- c.Fatal(err) |
|
| 150 |
- } |
|
| 146 |
+ c.Assert(err, check.IsNil) |
|
| 151 | 147 |
defer stdout.Close() |
| 152 |
- if err := cmd.Start(); err != nil {
|
|
| 153 |
- c.Fatal(err) |
|
| 154 |
- } |
|
| 148 |
+ err = cmd.Start() |
|
| 149 |
+ c.Assert(err, check.IsNil) |
|
| 155 | 150 |
c.Assert(waitRun(id), check.IsNil) |
| 156 | 151 |
|
| 157 |
- if _, err := cpty.Write([]byte("hello\n")); err != nil {
|
|
| 158 |
- c.Fatal(err) |
|
| 159 |
- } |
|
| 152 |
+ _, err = cpty.Write([]byte("hello\n"))
|
|
| 153 |
+ c.Assert(err, check.IsNil) |
|
| 160 | 154 |
out, err = bufio.NewReader(stdout).ReadString('\n')
|
| 161 |
- if err != nil {
|
|
| 162 |
- c.Fatal(err) |
|
| 163 |
- } |
|
| 164 |
- if strings.TrimSpace(out) != "hello" {
|
|
| 165 |
- c.Fatalf("expected 'hello', got %q", out)
|
|
| 166 |
- } |
|
| 155 |
+ c.Assert(err, check.IsNil) |
|
| 156 |
+ c.Assert(strings.TrimSpace(out), checker.Equals, "hello", check.Commentf("expected 'hello', got %q", out))
|
|
| 167 | 157 |
|
| 168 | 158 |
// escape sequence |
| 169 |
- if _, err := cpty.Write([]byte{16}); err != nil {
|
|
| 170 |
- c.Fatal(err) |
|
| 171 |
- } |
|
| 159 |
+ _, err = cpty.Write([]byte{16})
|
|
| 160 |
+ c.Assert(err, checker.IsNil) |
|
| 172 | 161 |
time.Sleep(100 * time.Millisecond) |
| 173 |
- if _, err := cpty.Write([]byte{17}); err != nil {
|
|
| 174 |
- c.Fatal(err) |
|
| 175 |
- } |
|
| 162 |
+ _, err = cpty.Write([]byte{17})
|
|
| 163 |
+ c.Assert(err, checker.IsNil) |
|
| 176 | 164 |
|
| 177 | 165 |
ch := make(chan struct{})
|
| 178 | 166 |
go func() {
|
| ... | ... |
@@ -181,12 +162,8 @@ func (s *DockerSuite) TestAttachDetach(c *check.C) {
|
| 181 | 181 |
}() |
| 182 | 182 |
|
| 183 | 183 |
running, err := inspectField(id, "State.Running") |
| 184 |
- if err != nil {
|
|
| 185 |
- c.Fatal(err) |
|
| 186 |
- } |
|
| 187 |
- if running != "true" {
|
|
| 188 |
- c.Fatal("expected container to still be running")
|
|
| 189 |
- } |
|
| 184 |
+ c.Assert(err, checker.IsNil) |
|
| 185 |
+ c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running"))
|
|
| 190 | 186 |
|
| 191 | 187 |
go func() {
|
| 192 | 188 |
dockerCmd(c, "kill", id) |
| ... | ... |
@@ -207,41 +184,29 @@ func (s *DockerSuite) TestAttachDetachTruncatedID(c *check.C) {
|
| 207 | 207 |
c.Assert(waitRun(id), check.IsNil) |
| 208 | 208 |
|
| 209 | 209 |
cpty, tty, err := pty.Open() |
| 210 |
- if err != nil {
|
|
| 211 |
- c.Fatal(err) |
|
| 212 |
- } |
|
| 210 |
+ c.Assert(err, checker.IsNil) |
|
| 213 | 211 |
defer cpty.Close() |
| 214 | 212 |
|
| 215 | 213 |
cmd := exec.Command(dockerBinary, "attach", id) |
| 216 | 214 |
cmd.Stdin = tty |
| 217 | 215 |
stdout, err := cmd.StdoutPipe() |
| 218 |
- if err != nil {
|
|
| 219 |
- c.Fatal(err) |
|
| 220 |
- } |
|
| 216 |
+ c.Assert(err, checker.IsNil) |
|
| 221 | 217 |
defer stdout.Close() |
| 222 |
- if err := cmd.Start(); err != nil {
|
|
| 223 |
- c.Fatal(err) |
|
| 224 |
- } |
|
| 218 |
+ err = cmd.Start() |
|
| 219 |
+ c.Assert(err, checker.IsNil) |
|
| 225 | 220 |
|
| 226 |
- if _, err := cpty.Write([]byte("hello\n")); err != nil {
|
|
| 227 |
- c.Fatal(err) |
|
| 228 |
- } |
|
| 221 |
+ _, err = cpty.Write([]byte("hello\n"))
|
|
| 222 |
+ c.Assert(err, checker.IsNil) |
|
| 229 | 223 |
out, err = bufio.NewReader(stdout).ReadString('\n')
|
| 230 |
- if err != nil {
|
|
| 231 |
- c.Fatal(err) |
|
| 232 |
- } |
|
| 233 |
- if strings.TrimSpace(out) != "hello" {
|
|
| 234 |
- c.Fatalf("expected 'hello', got %q", out)
|
|
| 235 |
- } |
|
| 224 |
+ c.Assert(err, checker.IsNil) |
|
| 225 |
+ c.Assert(strings.TrimSpace(out), checker.Equals, "hello", check.Commentf("expected 'hello', got %q", out))
|
|
| 236 | 226 |
|
| 237 | 227 |
// escape sequence |
| 238 |
- if _, err := cpty.Write([]byte{16}); err != nil {
|
|
| 239 |
- c.Fatal(err) |
|
| 240 |
- } |
|
| 228 |
+ _, err = cpty.Write([]byte{16})
|
|
| 229 |
+ c.Assert(err, checker.IsNil) |
|
| 241 | 230 |
time.Sleep(100 * time.Millisecond) |
| 242 |
- if _, err := cpty.Write([]byte{17}); err != nil {
|
|
| 243 |
- c.Fatal(err) |
|
| 244 |
- } |
|
| 231 |
+ _, err = cpty.Write([]byte{17})
|
|
| 232 |
+ c.Assert(err, checker.IsNil) |
|
| 245 | 233 |
|
| 246 | 234 |
ch := make(chan struct{})
|
| 247 | 235 |
go func() {
|
| ... | ... |
@@ -250,12 +215,8 @@ func (s *DockerSuite) TestAttachDetachTruncatedID(c *check.C) {
|
| 250 | 250 |
}() |
| 251 | 251 |
|
| 252 | 252 |
running, err := inspectField(id, "State.Running") |
| 253 |
- if err != nil {
|
|
| 254 |
- c.Fatal(err) |
|
| 255 |
- } |
|
| 256 |
- if running != "true" {
|
|
| 257 |
- c.Fatal("expected container to still be running")
|
|
| 258 |
- } |
|
| 253 |
+ c.Assert(err, checker.IsNil) |
|
| 254 |
+ c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running"))
|
|
| 259 | 255 |
|
| 260 | 256 |
go func() {
|
| 261 | 257 |
dockerCmd(c, "kill", id) |