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 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) |
OLD | NEW |