| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package tests | 5 package tests |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "bytes" | 8 "bytes" |
| 9 "testing" | 9 "testing" |
| 10 | 10 |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 if r != system.MOJO_RESULT_OK { | 198 if r != system.MOJO_RESULT_OK { |
| 199 t.Fatalf("Failed ReadData on hc:%v", r) | 199 t.Fatalf("Failed ReadData on hc:%v", r) |
| 200 } | 200 } |
| 201 if !bytes.Equal(data, kHello) { | 201 if !bytes.Equal(data, kHello) { |
| 202 t.Fatalf("Invalid data expected:%s, got:%s", kHello, data) | 202 t.Fatalf("Invalid data expected:%s, got:%s", kHello, data) |
| 203 } | 203 } |
| 204 | 204 |
| 205 // Test two-phase read/write. | 205 // Test two-phase read/write. |
| 206 // Writing. | 206 // Writing. |
| 207 kHello = []byte("Hello, world!") | 207 kHello = []byte("Hello, world!") |
| 208 » r, buf := hp.BeginWriteData(len(kHello), system.MOJO_WRITE_DATA_FLAG_NON
E) | 208 » r, buf := hp.BeginWriteData(system.MOJO_WRITE_DATA_FLAG_NONE) |
| 209 if r != system.MOJO_RESULT_OK { | 209 if r != system.MOJO_RESULT_OK { |
| 210 » » t.Fatalf("Failed BeginWriteData on hp:%v numBytes:%d", r, len(kH
ello)) | 210 » » t.Fatalf("Failed BeginWriteData on hp:%v", r) |
| 211 } | 211 } |
| 212 if len(buf) < len(kHello) { | 212 if len(buf) < len(kHello) { |
| 213 t.Fatalf("Buffer size(%d) should be at least %d", len(buf), len(
kHello)) | 213 t.Fatalf("Buffer size(%d) should be at least %d", len(buf), len(
kHello)) |
| 214 } | 214 } |
| 215 copy(buf, kHello) | 215 copy(buf, kHello) |
| 216 if r, _ := hp.WriteData(kHello, system.MOJO_WRITE_DATA_FLAG_NONE); r !=
system.MOJO_RESULT_BUSY { | 216 if r, _ := hp.WriteData(kHello, system.MOJO_WRITE_DATA_FLAG_NONE); r !=
system.MOJO_RESULT_BUSY { |
| 217 t.Fatalf("hp should be busy during a two-phase write: %v", r) | 217 t.Fatalf("hp should be busy during a two-phase write: %v", r) |
| 218 } | 218 } |
| 219 if r, _ = hc.Wait(system.MOJO_HANDLE_SIGNAL_READABLE, 0); r != system.MO
JO_RESULT_DEADLINE_EXCEEDED { | 219 if r, _ = hc.Wait(system.MOJO_HANDLE_SIGNAL_READABLE, 0); r != system.MO
JO_RESULT_DEADLINE_EXCEEDED { |
| 220 t.Fatalf("hc shouldn't be readable before EndWriteData on hp:%v"
, r) | 220 t.Fatalf("hc shouldn't be readable before EndWriteData on hp:%v"
, r) |
| 221 } | 221 } |
| 222 if r := hp.EndWriteData(len(kHello)); r != system.MOJO_RESULT_OK { | 222 if r := hp.EndWriteData(len(kHello)); r != system.MOJO_RESULT_OK { |
| 223 t.Fatalf("Failed EndWriteData on hp:%v", r) | 223 t.Fatalf("Failed EndWriteData on hp:%v", r) |
| 224 } | 224 } |
| 225 // Reading. | 225 // Reading. |
| 226 if r, _ = hc.Wait(system.MOJO_HANDLE_SIGNAL_READABLE, system.MOJO_DEADLI
NE_INDEFINITE); r != system.MOJO_RESULT_OK { | 226 if r, _ = hc.Wait(system.MOJO_HANDLE_SIGNAL_READABLE, system.MOJO_DEADLI
NE_INDEFINITE); r != system.MOJO_RESULT_OK { |
| 227 t.Fatalf("hc should be readable after EndWriteData on hp:%v", r) | 227 t.Fatalf("hc should be readable after EndWriteData on hp:%v", r) |
| 228 } | 228 } |
| 229 » if r, buf = hc.BeginReadData(len(kHello), system.MOJO_READ_DATA_FLAG_NON
E); r != system.MOJO_RESULT_OK { | 229 » if r, buf = hc.BeginReadData(system.MOJO_READ_DATA_FLAG_NONE); r != syst
em.MOJO_RESULT_OK { |
| 230 » » t.Fatalf("Failed BeginReadData on hc:%v numBytes:%d", r, len(kHe
llo)) | 230 » » t.Fatalf("Failed BeginReadData on hc:%v", r) |
| 231 } | 231 } |
| 232 if len(buf) != len(kHello) { | 232 if len(buf) != len(kHello) { |
| 233 t.Fatalf("Buffer size(%d) should be equal to %d", len(buf), len(
kHello)) | 233 t.Fatalf("Buffer size(%d) should be equal to %d", len(buf), len(
kHello)) |
| 234 } | 234 } |
| 235 if r, _ := hc.ReadData(system.MOJO_READ_DATA_FLAG_NONE); r != system.MOJ
O_RESULT_BUSY { | 235 if r, _ := hc.ReadData(system.MOJO_READ_DATA_FLAG_NONE); r != system.MOJ
O_RESULT_BUSY { |
| 236 t.Fatalf("hc should be busy during a two-phase read: %v", r) | 236 t.Fatalf("hc should be busy during a two-phase read: %v", r) |
| 237 } | 237 } |
| 238 if !bytes.Equal(buf, kHello) { | 238 if !bytes.Equal(buf, kHello) { |
| 239 t.Fatalf("Invalid data expected:%s, got:%s", kHello, buf) | 239 t.Fatalf("Invalid data expected:%s, got:%s", kHello, buf) |
| 240 } | 240 } |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 if buf[0] != 'x' || buf[1] != 'y' { | 293 if buf[0] != 'x' || buf[1] != 'y' { |
| 294 t.Fatalf("Failed to validate shared buffer. expected:x,y got:%s,
%s", buf[0], buf[1]) | 294 t.Fatalf("Failed to validate shared buffer. expected:x,y got:%s,
%s", buf[0], buf[1]) |
| 295 } | 295 } |
| 296 if r = h1.UnmapBuffer(buf); r != system.MOJO_RESULT_OK { | 296 if r = h1.UnmapBuffer(buf); r != system.MOJO_RESULT_OK { |
| 297 t.Fatalf("UnmapBuffer failed:%v", r) | 297 t.Fatalf("UnmapBuffer failed:%v", r) |
| 298 } | 298 } |
| 299 if r = h1.Close(); r != system.MOJO_RESULT_OK { | 299 if r = h1.Close(); r != system.MOJO_RESULT_OK { |
| 300 t.Fatalf("Close on h1 failed:%v", r) | 300 t.Fatalf("Close on h1 failed:%v", r) |
| 301 } | 301 } |
| 302 } | 302 } |
| OLD | NEW |