def testWaitInvalidArgument(self): (res, index, states) = system.WaitMany( [(system.Handle(0), system.HANDLE_SIGNAL_WRITABLE), (system.Handle(0), system.HANDLE_SIGNAL_WRITABLE)], system.DEADLINE_INDEFINITE) self.assertEquals(system.RESULT_INVALID_ARGUMENT, res) self.assertEquals(0, index) self.assertEquals(states, None)
def PassMessagePipe(self): if self._cancellable: self._cancellable() self._cancellable = None result = self._handle self._handle = system.Handle() return result
def Deserialize(self, value, context): if value == -1: if not self.nullable: raise serialization.DeserializationException( 'Trying to deserialize null for non nullable type.') return self.FromHandle(mojo_system.Handle()) return self.FromHandle(context.ClaimHandle(value))
def MojoMain(app_request_handle): """MojoMain is the entry point for a python Mojo module.""" loop = mojo_system.RunLoop() application = ApplicationImpl(mojo_system.Handle(app_request_handle)) application.manager.AddOnErrorCallback(loop.Quit) loop.Run()
def ToHandle(self, value): if not value: return mojo_system.Handle() if isinstance(value, reflection.InterfaceProxy): return value.manager.PassMessagePipe() pipe = mojo_system.MessagePipe() self.interface.manager.Bind(value, pipe.handle0) return pipe.handle1
def Convert(self, value): if value is None: return reflection.InterfaceRequest(mojo_system.Handle()) if not isinstance(value, reflection.InterfaceRequest): raise TypeError('%r is not an interface request' % value) return value
def Convert(self, value): if value is None: return mojo_system.Handle() if not isinstance(value, mojo_system.Handle): raise TypeError('%r is not a handle' % value) return value
def testTypes(self): defaults_test = sample_service_mojom.DefaultsTest() # Integer types self._TestIntegerField(defaults_test, 'a0', 8, True) self._TestIntegerField(defaults_test, 'a1', 8, False) self._TestIntegerField(defaults_test, 'a2', 16, True) self._TestIntegerField(defaults_test, 'a3', 16, False) self._TestIntegerField(defaults_test, 'a4', 32, True) self._TestIntegerField(defaults_test, 'a5', 32, False) self._TestIntegerField(defaults_test, 'a6', 64, True) self._TestIntegerField(defaults_test, 'a7', 64, False) # Boolean types defaults_test.a11 = False self.assertEquals(defaults_test.a11, False) defaults_test.a11 = None self.assertEquals(defaults_test.a11, False) defaults_test.a11 = [] self.assertEquals(defaults_test.a11, False) defaults_test.a12 = True self.assertEquals(defaults_test.a12, True) defaults_test.a12 = 1 self.assertEquals(defaults_test.a12, True) defaults_test.a12 = [[]] self.assertEquals(defaults_test.a12, True) # Floating point types with self.assertRaises(TypeError): defaults_test.a13 = 'hello' with self.assertRaises(TypeError): defaults_test.a14 = 'hello' # Array type defaults_test.a18 = None defaults_test.a18 = [] defaults_test.a18 = [0] defaults_test.a18 = [255] defaults_test.a18 = [0, 255] with self.assertRaises(TypeError): defaults_test.a18 = [[]] with self.assertRaises(OverflowError): defaults_test.a18 = [-1] with self.assertRaises(OverflowError): defaults_test.a18 = [256] # String type defaults_test.a19 = None defaults_test.a19 = '' defaults_test.a19 = 'hello world' with self.assertRaises(TypeError): defaults_test.a19 = [[]] with self.assertRaises(TypeError): defaults_test.a19 = [-1] with self.assertRaises(TypeError): defaults_test.a19 = [256] # Structs defaults_test.a21 = None defaults_test.a21 = sample_import_mojom.Point() with self.assertRaises(TypeError): defaults_test.a21 = 1 with self.assertRaises(TypeError): defaults_test.a21 = sample_import2_mojom.Thing() # Handles foo_instance = sample_service_mojom.Foo() foo_instance.source = None foo_instance.source = mojo_system.Handle() with self.assertRaises(TypeError): foo_instance.source = 1 with self.assertRaises(TypeError): foo_instance.source = object()