コード例 #1
0
 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)
コード例 #2
0
ファイル: messaging.py プロジェクト: TribeMedia/sky_engine
 def PassMessagePipe(self):
   if self._cancellable:
     self._cancellable()
     self._cancellable = None
   result = self._handle
   self._handle = system.Handle()
   return result
コード例 #3
0
ファイル: descriptor.py プロジェクト: TribeMedia/sky_engine
 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))
コード例 #4
0
ファイル: __mojo__.py プロジェクト: eseidel/skydart
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()
コード例 #5
0
ファイル: descriptor.py プロジェクト: TribeMedia/sky_engine
 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
コード例 #6
0
ファイル: descriptor.py プロジェクト: TribeMedia/sky_engine
 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
コード例 #7
0
ファイル: descriptor.py プロジェクト: TribeMedia/sky_engine
 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
コード例 #8
0
    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()