Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(568)

Side by Side Diff: mojo/go/tests/system_test.go

Issue 1374463002: Remove support for "all or none" two-phase data pipe read/write. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: oops Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/edk/system/data_pipe_producer_dispatcher.cc ('k') | mojo/public/c/system/data_pipe.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « mojo/edk/system/data_pipe_producer_dispatcher.cc ('k') | mojo/public/c/system/data_pipe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698