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

Side by Side Diff: mojo/python/tests/system_unittest.py

Issue 522483006: mojo: Update python API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Follow review Created 6 years, 3 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/python/system/mojo/embedder.pyx ('k') | no next file » | 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 import random 5 import random
6 import sys 6 import sys
7 import time 7 import time
8 import unittest 8 import unittest
9 9
10 # pylint: disable=F0401 10 # pylint: disable=F0401
11 from mojo.embedder import init as init_embedder 11 import mojo.embedder
12 from mojo import system 12 from mojo import system
13 13
14 DATA_SIZE = 1024 14 DATA_SIZE = 1024
15 15
16 16
17 def get_random_buffer(size): 17 def _GetRandomBuffer(size):
18 random.seed(size) 18 random.seed(size)
19 return bytearray(''.join(chr(random.randint(0, 255)) for i in xrange(size))) 19 return bytearray(''.join(chr(random.randint(0, 255)) for i in xrange(size)))
20 20
21 21
22 class BaseMojoTest(unittest.TestCase): 22 class BaseMojoTest(unittest.TestCase):
23 23
24 def setUp(self): 24 def setUp(self):
25 init_embedder() 25 mojo.embedder.Init()
26 26
27 27
28 class CoreTest(BaseMojoTest): 28 class CoreTest(BaseMojoTest):
29 29
30 def test_results(self): 30 def testResults(self):
31 self.assertEquals(system.RESULT_OK, 0) 31 self.assertEquals(system.RESULT_OK, 0)
32 self.assertLess(system.RESULT_CANCELLED, 0) 32 self.assertLess(system.RESULT_CANCELLED, 0)
33 self.assertLess(system.RESULT_UNKNOWN, 0) 33 self.assertLess(system.RESULT_UNKNOWN, 0)
34 self.assertLess(system.RESULT_INVALID_ARGUMENT, 0) 34 self.assertLess(system.RESULT_INVALID_ARGUMENT, 0)
35 self.assertLess(system.RESULT_DEADLINE_EXCEEDED, 0) 35 self.assertLess(system.RESULT_DEADLINE_EXCEEDED, 0)
36 self.assertLess(system.RESULT_NOT_FOUND, 0) 36 self.assertLess(system.RESULT_NOT_FOUND, 0)
37 self.assertLess(system.RESULT_ALREADY_EXISTS, 0) 37 self.assertLess(system.RESULT_ALREADY_EXISTS, 0)
38 self.assertLess(system.RESULT_PERMISSION_DENIED, 0) 38 self.assertLess(system.RESULT_PERMISSION_DENIED, 0)
39 self.assertLess(system.RESULT_RESOURCE_EXHAUSTED, 0) 39 self.assertLess(system.RESULT_RESOURCE_EXHAUSTED, 0)
40 self.assertLess(system.RESULT_FAILED_PRECONDITION, 0) 40 self.assertLess(system.RESULT_FAILED_PRECONDITION, 0)
41 self.assertLess(system.RESULT_ABORTED, 0) 41 self.assertLess(system.RESULT_ABORTED, 0)
42 self.assertLess(system.RESULT_OUT_OF_RANGE, 0) 42 self.assertLess(system.RESULT_OUT_OF_RANGE, 0)
43 self.assertLess(system.RESULT_UNIMPLEMENTED, 0) 43 self.assertLess(system.RESULT_UNIMPLEMENTED, 0)
44 self.assertLess(system.RESULT_INTERNAL, 0) 44 self.assertLess(system.RESULT_INTERNAL, 0)
45 self.assertLess(system.RESULT_UNAVAILABLE, 0) 45 self.assertLess(system.RESULT_UNAVAILABLE, 0)
46 self.assertLess(system.RESULT_DATA_LOSS, 0) 46 self.assertLess(system.RESULT_DATA_LOSS, 0)
47 self.assertLess(system.RESULT_BUSY, 0) 47 self.assertLess(system.RESULT_BUSY, 0)
48 self.assertLess(system.RESULT_SHOULD_WAIT, 0) 48 self.assertLess(system.RESULT_SHOULD_WAIT, 0)
49 49
50 def test_constants(self): 50 def testConstants(self):
51 self.assertGreaterEqual(system.DEADLINE_INDEFINITE, 0) 51 self.assertGreaterEqual(system.DEADLINE_INDEFINITE, 0)
52 self.assertGreaterEqual(system.HANDLE_SIGNAL_NONE, 0) 52 self.assertGreaterEqual(system.HANDLE_SIGNAL_NONE, 0)
53 self.assertGreaterEqual(system.HANDLE_SIGNAL_READABLE, 0) 53 self.assertGreaterEqual(system.HANDLE_SIGNAL_READABLE, 0)
54 self.assertGreaterEqual(system.HANDLE_SIGNAL_WRITABLE, 0) 54 self.assertGreaterEqual(system.HANDLE_SIGNAL_WRITABLE, 0)
55 self.assertGreaterEqual(system.WRITE_MESSAGE_FLAG_NONE, 0) 55 self.assertGreaterEqual(system.WRITE_MESSAGE_FLAG_NONE, 0)
56 self.assertGreaterEqual(system.READ_MESSAGE_FLAG_NONE, 0) 56 self.assertGreaterEqual(system.READ_MESSAGE_FLAG_NONE, 0)
57 self.assertGreaterEqual(system.READ_MESSAGE_FLAG_MAY_DISCARD, 0) 57 self.assertGreaterEqual(system.READ_MESSAGE_FLAG_MAY_DISCARD, 0)
58 self.assertGreaterEqual(system.WRITE_DATA_FLAG_NONE, 0) 58 self.assertGreaterEqual(system.WRITE_DATA_FLAG_NONE, 0)
59 self.assertGreaterEqual(system.WRITE_DATA_FLAG_ALL_OR_NONE, 0) 59 self.assertGreaterEqual(system.WRITE_DATA_FLAG_ALL_OR_NONE, 0)
60 self.assertGreaterEqual(system.READ_DATA_FLAG_NONE, 0) 60 self.assertGreaterEqual(system.READ_DATA_FLAG_NONE, 0)
61 self.assertGreaterEqual(system.READ_DATA_FLAG_ALL_OR_NONE, 0) 61 self.assertGreaterEqual(system.READ_DATA_FLAG_ALL_OR_NONE, 0)
62 self.assertGreaterEqual(system.READ_DATA_FLAG_DISCARD, 0) 62 self.assertGreaterEqual(system.READ_DATA_FLAG_DISCARD, 0)
63 self.assertGreaterEqual(system.READ_DATA_FLAG_QUERY, 0) 63 self.assertGreaterEqual(system.READ_DATA_FLAG_QUERY, 0)
64 self.assertGreaterEqual(system.MAP_BUFFER_FLAG_NONE, 0) 64 self.assertGreaterEqual(system.MAP_BUFFER_FLAG_NONE, 0)
65 65
66 def test_get_time_ticks_now(self): 66 def testGetTimeTicksNow(self):
67 pt1 = time.time() 67 pt1 = time.time()
68 v1 = system.get_time_ticks_now() 68 v1 = system.GetTimeTicksNow()
69 time.sleep(1e-3) 69 time.sleep(1e-3)
70 v2 = system.get_time_ticks_now() 70 v2 = system.GetTimeTicksNow()
71 pt2 = time.time() 71 pt2 = time.time()
72 self.assertGreater(v1, 0) 72 self.assertGreater(v1, 0)
73 self.assertGreater(v2, v1 + 1000) 73 self.assertGreater(v2, v1 + 1000)
74 self.assertGreater(1e6 * (pt2 - pt1), v2 - v1) 74 self.assertGreater(1e6 * (pt2 - pt1), v2 - v1)
75 75
76 def _test_handles_creation(self, *args): 76 def _testHandlesCreation(self, *args):
77 for handle in args: 77 for handle in args:
78 self.assertTrue(handle.is_valid()) 78 self.assertTrue(handle.IsValid())
79 handle.close() 79 handle.Close()
80 self.assertFalse(handle.is_valid()) 80 self.assertFalse(handle.IsValid())
81 81
82 def _test_message_handle_creation(self, handles): 82 def _TestMessageHandleCreation(self, handles):
83 self._test_handles_creation(handles.handle0, handles.handle1) 83 self._testHandlesCreation(handles.handle0, handles.handle1)
84 84
85 def test_create_message_pipe(self): 85 def testCreateMessagePipe(self):
86 self._test_message_handle_creation(system.MessagePipe()) 86 self._TestMessageHandleCreation(system.MessagePipe())
87 87
88 def test_create_message_pipe_with_none_options(self): 88 def testCreateMessagePipeWithNoneOptions(self):
89 self._test_message_handle_creation(system.MessagePipe(None)) 89 self._TestMessageHandleCreation(system.MessagePipe(None))
90 90
91 def test_create_message_pipe_with_options(self): 91 def testCreateMessagePipeWithOptions(self):
92 self._test_message_handle_creation( 92 self._TestMessageHandleCreation(
93 system.MessagePipe(system.CreateMessagePipeOptions())) 93 system.MessagePipe(system.CreateMessagePipeOptions()))
94 94
95 def test_wait_over_message_pipe(self): 95 def testWaitOverMessagePipe(self):
96 handles = system.MessagePipe() 96 handles = system.MessagePipe()
97 handle = handles.handle0 97 handle = handles.handle0
98 98
99 self.assertEquals(system.RESULT_OK, handle.wait( 99 self.assertEquals(system.RESULT_OK, handle.Wait(
100 system.HANDLE_SIGNAL_WRITABLE, system.DEADLINE_INDEFINITE)) 100 system.HANDLE_SIGNAL_WRITABLE, system.DEADLINE_INDEFINITE))
101 self.assertEquals(system.RESULT_DEADLINE_EXCEEDED, 101 self.assertEquals(system.RESULT_DEADLINE_EXCEEDED,
102 handle.wait(system.HANDLE_SIGNAL_READABLE, 0)) 102 handle.Wait(system.HANDLE_SIGNAL_READABLE, 0))
103 103
104 handles.handle1.write_message() 104 handles.handle1.WriteMessage()
105 105
106 self.assertEquals( 106 self.assertEquals(
107 system.RESULT_OK, 107 system.RESULT_OK,
108 handle.wait( 108 handle.Wait(
109 system.HANDLE_SIGNAL_READABLE, 109 system.HANDLE_SIGNAL_READABLE,
110 system.DEADLINE_INDEFINITE)) 110 system.DEADLINE_INDEFINITE))
111 111
112 def test_wait_over_many_message_pipe(self): 112 def testWaitOverManyMessagePipe(self):
113 handles = system.MessagePipe() 113 handles = system.MessagePipe()
114 handle0 = handles.handle0 114 handle0 = handles.handle0
115 handle1 = handles.handle1 115 handle1 = handles.handle1
116 116
117 self.assertEquals( 117 self.assertEquals(
118 0, 118 0,
119 system.wait_many( 119 system.WaitMany(
120 [(handle0, system.HANDLE_SIGNAL_WRITABLE), 120 [(handle0, system.HANDLE_SIGNAL_WRITABLE),
121 (handle1, system.HANDLE_SIGNAL_WRITABLE)], 121 (handle1, system.HANDLE_SIGNAL_WRITABLE)],
122 system.DEADLINE_INDEFINITE)) 122 system.DEADLINE_INDEFINITE))
123 self.assertEquals( 123 self.assertEquals(
124 system.RESULT_DEADLINE_EXCEEDED, 124 system.RESULT_DEADLINE_EXCEEDED,
125 system.wait_many( 125 system.WaitMany(
126 [(handle0, system.HANDLE_SIGNAL_READABLE), 126 [(handle0, system.HANDLE_SIGNAL_READABLE),
127 (handle1, system.HANDLE_SIGNAL_READABLE)], 0)) 127 (handle1, system.HANDLE_SIGNAL_READABLE)], 0))
128 128
129 handle0.write_message() 129 handle0.WriteMessage()
130 130
131 self.assertEquals( 131 self.assertEquals(
132 1, 132 1,
133 system.wait_many( 133 system.WaitMany(
134 [(handle0, system.HANDLE_SIGNAL_READABLE), 134 [(handle0, system.HANDLE_SIGNAL_READABLE),
135 (handle1, system.HANDLE_SIGNAL_READABLE)], 135 (handle1, system.HANDLE_SIGNAL_READABLE)],
136 system.DEADLINE_INDEFINITE)) 136 system.DEADLINE_INDEFINITE))
137 137
138 def test_send_bytes_over_message_pipe(self): 138 def testSendBytesOverMessagePipe(self):
139 handles = system.MessagePipe() 139 handles = system.MessagePipe()
140 data = get_random_buffer(DATA_SIZE) 140 data = _GetRandomBuffer(DATA_SIZE)
141 handles.handle0.write_message(data) 141 handles.handle0.WriteMessage(data)
142 (res, buffers, next_message) = handles.handle1.read_message() 142 (res, buffers, next_message) = handles.handle1.ReadMessage()
143 self.assertEquals(system.RESULT_RESOURCE_EXHAUSTED, res) 143 self.assertEquals(system.RESULT_RESOURCE_EXHAUSTED, res)
144 self.assertEquals(None, buffers) 144 self.assertEquals(None, buffers)
145 self.assertEquals((DATA_SIZE, 0), next_message) 145 self.assertEquals((DATA_SIZE, 0), next_message)
146 result = bytearray(DATA_SIZE) 146 result = bytearray(DATA_SIZE)
147 (res, buffers, next_message) = handles.handle1.read_message(result) 147 (res, buffers, next_message) = handles.handle1.ReadMessage(result)
148 self.assertEquals(system.RESULT_OK, res) 148 self.assertEquals(system.RESULT_OK, res)
149 self.assertEquals(None, next_message) 149 self.assertEquals(None, next_message)
150 self.assertEquals((data, []), buffers) 150 self.assertEquals((data, []), buffers)
151 151
152 def test_send_empty_data_over_message_pipe(self): 152 def testSendEmptyDataOverMessagePipe(self):
153 handles = system.MessagePipe() 153 handles = system.MessagePipe()
154 handles.handle0.write_message(None) 154 handles.handle0.WriteMessage(None)
155 (res, buffers, next_message) = handles.handle1.read_message() 155 (res, buffers, next_message) = handles.handle1.ReadMessage()
156 156
157 self.assertEquals(system.RESULT_OK, res) 157 self.assertEquals(system.RESULT_OK, res)
158 self.assertEquals(None, next_message) 158 self.assertEquals(None, next_message)
159 self.assertEquals((None, []), buffers) 159 self.assertEquals((None, []), buffers)
160 160
161 def test_send_handle_over_message_pipe(self): 161 def testSendHandleOverMessagePipe(self):
162 handles = system.MessagePipe() 162 handles = system.MessagePipe()
163 handles_to_send = system.MessagePipe() 163 handles_to_send = system.MessagePipe()
164 handles.handle0.write_message(handles=[handles_to_send.handle0, 164 handles.handle0.WriteMessage(handles=[handles_to_send.handle0,
165 handles_to_send.handle1]) 165 handles_to_send.handle1])
166 (res, buffers, next_message) = handles.handle1.read_message( 166 (res, buffers, next_message) = handles.handle1.ReadMessage(
167 max_number_of_handles=2) 167 max_number_of_handles=2)
168 168
169 self.assertFalse(handles_to_send.handle0.is_valid()) 169 self.assertFalse(handles_to_send.handle0.IsValid())
170 self.assertFalse(handles_to_send.handle1.is_valid()) 170 self.assertFalse(handles_to_send.handle1.IsValid())
171 self.assertEquals(system.RESULT_OK, res) 171 self.assertEquals(system.RESULT_OK, res)
172 self.assertEquals(None, next_message) 172 self.assertEquals(None, next_message)
173 self.assertEquals(None, buffers[0]) 173 self.assertEquals(None, buffers[0])
174 self.assertEquals(2, len(buffers[1])) 174 self.assertEquals(2, len(buffers[1]))
175 175
176 handles = buffers[1] 176 handles = buffers[1]
177 for handle in handles: 177 for handle in handles:
178 self.assertTrue(handle.is_valid()) 178 self.assertTrue(handle.IsValid())
179 (res, buffers, next_message) = handle.read_message() 179 (res, buffers, next_message) = handle.ReadMessage()
180 self.assertEquals(system.RESULT_SHOULD_WAIT, res) 180 self.assertEquals(system.RESULT_SHOULD_WAIT, res)
181 181
182 for handle in handles: 182 for handle in handles:
183 handle.write_message() 183 handle.WriteMessage()
184 184
185 for handle in handles: 185 for handle in handles:
186 (res, buffers, next_message) = handle.read_message() 186 (res, buffers, next_message) = handle.ReadMessage()
187 self.assertEquals(system.RESULT_OK, res) 187 self.assertEquals(system.RESULT_OK, res)
188 188
189 def _test_data_handle_creation(self, handles): 189 def _TestDataHandleCreation(self, handles):
190 self._test_handles_creation( 190 self._testHandlesCreation(
191 handles.producer_handle, handles.consumer_handle) 191 handles.producer_handle, handles.consumer_handle)
192 192
193 def test_create_data_pipe(self): 193 def testCreateDataPipe(self):
194 self._test_data_handle_creation(system.DataPipe()) 194 self._TestDataHandleCreation(system.DataPipe())
195 195
196 def test_create_data_pipe_with_none_options(self): 196 def testCreateDataPipeWithNoneOptions(self):
197 self._test_data_handle_creation(system.DataPipe(None)) 197 self._TestDataHandleCreation(system.DataPipe(None))
198 198
199 def test_create_data_pipe_with_default_options(self): 199 def testCreateDataPipeWithDefaultOptions(self):
200 self._test_data_handle_creation( 200 self._TestDataHandleCreation(
201 system.DataPipe(system.CreateDataPipeOptions())) 201 system.DataPipe(system.CreateDataPipeOptions()))
202 202
203 def test_create_data_pipe_with_discard_flag(self): 203 def testCreateDataPipeWithDiscardFlag(self):
204 options = system.CreateDataPipeOptions() 204 options = system.CreateDataPipeOptions()
205 options.flags = system.CreateDataPipeOptions.FLAG_MAY_DISCARD 205 options.flags = system.CreateDataPipeOptions.FLAG_MAY_DISCARD
206 self._test_data_handle_creation(system.DataPipe(options)) 206 self._TestDataHandleCreation(system.DataPipe(options))
207 207
208 def test_create_data_pipe_with_element_size(self): 208 def testCreateDataPipeWithElementSize(self):
209 options = system.CreateDataPipeOptions() 209 options = system.CreateDataPipeOptions()
210 options.element_num_bytes = 5 210 options.element_num_bytes = 5
211 self._test_data_handle_creation(system.DataPipe(options)) 211 self._TestDataHandleCreation(system.DataPipe(options))
212 212
213 def test_create_data_pipe_with_capacity(self): 213 def testCreateDataPipeWithCapacity(self):
214 options = system.CreateDataPipeOptions() 214 options = system.CreateDataPipeOptions()
215 options.element_capacity_num_bytes = DATA_SIZE 215 options.element_capacity_num_bytes = DATA_SIZE
216 self._test_data_handle_creation(system.DataPipe(options)) 216 self._TestDataHandleCreation(system.DataPipe(options))
217 217
218 def test_create_data_pipe_with_incorrect_parameters(self): 218 def testCreateDataPipeWithIncorrectParameters(self):
219 options = system.CreateDataPipeOptions() 219 options = system.CreateDataPipeOptions()
220 options.element_num_bytes = 5 220 options.element_num_bytes = 5
221 options.capacity_num_bytes = DATA_SIZE 221 options.capacity_num_bytes = DATA_SIZE
222 with self.assertRaises(system.MojoException) as cm: 222 with self.assertRaises(system.MojoException) as cm:
223 self._test_data_handle_creation(system.DataPipe(options)) 223 self._TestDataHandleCreation(system.DataPipe(options))
224 self.assertEquals(system.RESULT_INVALID_ARGUMENT, cm.exception.mojo_result) 224 self.assertEquals(system.RESULT_INVALID_ARGUMENT, cm.exception.mojo_result)
225 225
226 def test_send_empty_data_over_data_pipe(self): 226 def testSendEmptyDataOverDataPipe(self):
227 pipes = system.DataPipe() 227 pipes = system.DataPipe()
228 self.assertEquals((system.RESULT_OK, 0), pipes.producer_handle.write_data()) 228 self.assertEquals((system.RESULT_OK, 0), pipes.producer_handle.WriteData())
229 self.assertEquals( 229 self.assertEquals(
230 (system.RESULT_OK, None), pipes.consumer_handle.read_data()) 230 (system.RESULT_OK, None), pipes.consumer_handle.ReadData())
231 231
232 def test_send_data_over_data_pipe(self): 232 def testSendDataOverDataPipe(self):
233 pipes = system.DataPipe() 233 pipes = system.DataPipe()
234 data = get_random_buffer(DATA_SIZE) 234 data = _GetRandomBuffer(DATA_SIZE)
235 self.assertEquals((system.RESULT_OK, DATA_SIZE), 235 self.assertEquals((system.RESULT_OK, DATA_SIZE),
236 pipes.producer_handle.write_data(data)) 236 pipes.producer_handle.WriteData(data))
237 self.assertEquals((system.RESULT_OK, data), 237 self.assertEquals((system.RESULT_OK, data),
238 pipes.consumer_handle.read_data(bytearray(DATA_SIZE))) 238 pipes.consumer_handle.ReadData(bytearray(DATA_SIZE)))
239 239
240 def test_two_phase_write_on_data_pipe(self): 240 def testTwoPhaseWriteOnDataPipe(self):
241 pipes = system.DataPipe() 241 pipes = system.DataPipe()
242 (res, buf) = pipes.producer_handle.begin_write_data(DATA_SIZE) 242 (res, buf) = pipes.producer_handle.BeginWriteData(DATA_SIZE)
243 self.assertEquals(system.RESULT_OK, res) 243 self.assertEquals(system.RESULT_OK, res)
244 self.assertGreaterEqual(len(buf.buffer), DATA_SIZE) 244 self.assertGreaterEqual(len(buf.buffer), DATA_SIZE)
245 data = get_random_buffer(DATA_SIZE) 245 data = _GetRandomBuffer(DATA_SIZE)
246 buf.buffer[0:DATA_SIZE] = data 246 buf.buffer[0:DATA_SIZE] = data
247 self.assertEquals(system.RESULT_OK, buf.end(DATA_SIZE)) 247 self.assertEquals(system.RESULT_OK, buf.End(DATA_SIZE))
248 self.assertEquals((system.RESULT_OK, data), 248 self.assertEquals((system.RESULT_OK, data),
249 pipes.consumer_handle.read_data(bytearray(DATA_SIZE))) 249 pipes.consumer_handle.ReadData(bytearray(DATA_SIZE)))
250 250
251 def test_two_phase_read_on_data_pipe(self): 251 def testTwoPhaseReadOnDataPipe(self):
252 pipes = system.DataPipe() 252 pipes = system.DataPipe()
253 data = get_random_buffer(DATA_SIZE) 253 data = _GetRandomBuffer(DATA_SIZE)
254 self.assertEquals((system.RESULT_OK, DATA_SIZE), 254 self.assertEquals((system.RESULT_OK, DATA_SIZE),
255 pipes.producer_handle.write_data(data)) 255 pipes.producer_handle.WriteData(data))
256 (res, buf) = pipes.consumer_handle.begin_read_data() 256 (res, buf) = pipes.consumer_handle.BeginReadData()
257 self.assertEquals(system.RESULT_OK, res) 257 self.assertEquals(system.RESULT_OK, res)
258 self.assertEquals(DATA_SIZE, len(buf.buffer)) 258 self.assertEquals(DATA_SIZE, len(buf.buffer))
259 self.assertEquals(data, buf.buffer) 259 self.assertEquals(data, buf.buffer)
260 self.assertEquals(system.RESULT_OK, buf.end(DATA_SIZE)) 260 self.assertEquals(system.RESULT_OK, buf.End(DATA_SIZE))
261 261
262 def test_create_shared_buffer(self): 262 def testCreateSharedBuffer(self):
263 self._test_handles_creation(system.create_shared_buffer(DATA_SIZE)) 263 self._testHandlesCreation(system.CreateSharedBuffer(DATA_SIZE))
264 264
265 def test_create_shared_buffer_with_none_options(self): 265 def testCreateSharedBufferWithNoneOptions(self):
266 self._test_handles_creation(system.create_shared_buffer(DATA_SIZE, None)) 266 self._testHandlesCreation(system.CreateSharedBuffer(DATA_SIZE, None))
267 267
268 def test_create_shared_buffer_with_default_options(self): 268 def testCreateSharedBufferWithDefaultOptions(self):
269 self._test_handles_creation( 269 self._testHandlesCreation(
270 system.create_shared_buffer( 270 system.CreateSharedBuffer(
271 DATA_SIZE, 271 DATA_SIZE,
272 system.CreateSharedBufferOptions())) 272 system.CreateSharedBufferOptions()))
273 273
274 def test_duplicate_shared_buffer(self): 274 def testDuplicateSharedBuffer(self):
275 handle = system.create_shared_buffer(DATA_SIZE) 275 handle = system.CreateSharedBuffer(DATA_SIZE)
276 self._test_handles_creation(handle.duplicate()) 276 self._testHandlesCreation(handle.Duplicate())
277 277
278 def test_duplicate_shared_buffer_with_none_options(self): 278 def testDuplicateSharedBufferWithNoneOptions(self):
279 handle = system.create_shared_buffer(DATA_SIZE) 279 handle = system.CreateSharedBuffer(DATA_SIZE)
280 self._test_handles_creation(handle.duplicate(None)) 280 self._testHandlesCreation(handle.Duplicate(None))
281 281
282 def test_duplicate_shared_buffer_with_default_options(self): 282 def testDuplicateSharedBufferWithDefaultOptions(self):
283 handle = system.create_shared_buffer(DATA_SIZE) 283 handle = system.CreateSharedBuffer(DATA_SIZE)
284 self._test_handles_creation( 284 self._testHandlesCreation(
285 handle.duplicate(system.DuplicateSharedBufferOptions())) 285 handle.Duplicate(system.DuplicateSharedBufferOptions()))
286 286
287 def test_send_bytes_over_shared_buffer(self): 287 def testSendBytesOverSharedBuffer(self):
288 handle = system.create_shared_buffer(DATA_SIZE) 288 handle = system.CreateSharedBuffer(DATA_SIZE)
289 duplicated = handle.duplicate() 289 duplicated = handle.Duplicate()
290 data = get_random_buffer(DATA_SIZE) 290 data = _GetRandomBuffer(DATA_SIZE)
291 (res1, buf1) = handle.map(0, DATA_SIZE) 291 (res1, buf1) = handle.Map(0, DATA_SIZE)
292 (res2, buf2) = duplicated.map(0, DATA_SIZE) 292 (res2, buf2) = duplicated.Map(0, DATA_SIZE)
293 self.assertEquals(system.RESULT_OK, res1) 293 self.assertEquals(system.RESULT_OK, res1)
294 self.assertEquals(system.RESULT_OK, res2) 294 self.assertEquals(system.RESULT_OK, res2)
295 self.assertEquals(DATA_SIZE, len(buf1.buffer)) 295 self.assertEquals(DATA_SIZE, len(buf1.buffer))
296 self.assertEquals(DATA_SIZE, len(buf2.buffer)) 296 self.assertEquals(DATA_SIZE, len(buf2.buffer))
297 self.assertEquals(buf1.buffer, buf2.buffer) 297 self.assertEquals(buf1.buffer, buf2.buffer)
298 298
299 buf1.buffer[:] = data 299 buf1.buffer[:] = data
300 self.assertEquals(data, buf1.buffer) 300 self.assertEquals(data, buf1.buffer)
301 self.assertEquals(data, buf2.buffer) 301 self.assertEquals(data, buf2.buffer)
302 self.assertEquals(buf1.buffer, buf2.buffer) 302 self.assertEquals(buf1.buffer, buf2.buffer)
303 303
304 304
305 if __name__ == '__main__': 305 if __name__ == '__main__':
306 suite = unittest.TestLoader().loadTestsFromTestCase(CoreTest) 306 suite = unittest.TestLoader().loadTestsFromTestCase(CoreTest)
307 test_results = unittest.TextTestRunner(verbosity=0).run(suite) 307 test_results = unittest.TextTestRunner(verbosity=0).run(suite)
308 if not test_results.wasSuccessful(): 308 if not test_results.wasSuccessful():
309 sys.exit(1) 309 sys.exit(1)
310 sys.exit(0) 310 sys.exit(0)
OLDNEW
« no previous file with comments | « mojo/python/system/mojo/embedder.pyx ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698