Ejemplo n.º 1
0
    def test_get_connection_during_result_unpickling(self):
        with make_connection() as conn:

            def on_unpickle():
                self.assertIs(across.get_connection(), conn)

            with self.assertRaises(ValueError):
                across.get_connection()
            conn.call(Box(lambda: PickleObserver(on_unpickle=on_unpickle)))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 2
0
    def test_get_connection_during_call_pickling(self):
        with make_connection() as conn:

            def on_pickle():
                self.assertIs(across.get_connection(), conn)

            with self.assertRaises(ValueError):
                across.get_connection()
            conn.call(nop, PickleObserver(on_pickle=on_pickle))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 3
0
    def test_get_connection_during_call_unpickling(self):
        with make_connection() as conn:

            def on_unpickle():
                remote_conn = across.get_connection()
                self.assertIsInstance(remote_conn, across.Connection)
                self.assertIsNot(remote_conn, conn)

            with self.assertRaises(ValueError):
                across.get_connection()
            conn.call(nop, PickleObserver(on_unpickle=on_unpickle))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 4
0
    def test_get_connection_during_invocation(self):
        with make_connection() as conn:

            def invoke():
                remote_conn = across.get_connection()
                self.assertIsInstance(remote_conn, across.Connection)
                self.assertIsNot(remote_conn, conn)

            with self.assertRaises(ValueError):
                across.get_connection()
            conn.call(Box(invoke))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 5
0
    def test_get_connection_during_error_unpickling(self):
        with make_connection() as conn:

            def on_unpickle():
                self.assertIs(across.get_connection(), conn)

            def func():
                raise ArithmeticError(PickleObserver(on_unpickle=on_unpickle))

            with self.assertRaises(ValueError):
                across.get_connection()
            with self.assertRaises(ArithmeticError):
                conn.call(Box(func))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 6
0
    def test_get_connection_during_result_pickling(self):
        remote_conn = Box()

        def on_pickle():
            self.assertIs(across.get_connection(), remote_conn.value)

        def func():
            remote_conn.value = across.get_connection()
            return PickleObserver(on_pickle=on_pickle)

        with make_connection() as conn:
            with self.assertRaises(ValueError):
                across.get_connection()
            conn.call(Box(func))
            with self.assertRaises(ValueError):
                across.get_connection()
Ejemplo n.º 7
0
def _setup_remote_logging():
    _remote_conn.value = across.get_connection()
    handler = AcrossHandler()
    handler.addFilter(_RemoteSideFilter())
    handler.setLevel(logging.INFO)
    _logger.addHandler(handler)
    _remote_handler.value = handler
Ejemplo n.º 8
0
 def func():
     remote_conn.value = across.get_connection()
     raise ArithmeticError(PickleObserver(on_pickle=on_pickle))
Ejemplo n.º 9
0
 def on_pickle():
     self.assertIs(across.get_connection(), remote_conn.value)
Ejemplo n.º 10
0
 def on_unpickle():
     self.assertIs(across.get_connection(), conn)
Ejemplo n.º 11
0
 def func():
     remote_conn.value = across.get_connection()
     return PickleObserver(on_pickle=on_pickle)
Ejemplo n.º 12
0
 def invoke_nested():
     self.assertIs(across.get_connection(), conn)
Ejemplo n.º 13
0
 def invoke():
     remote_conn = across.get_connection()
     self.assertIsInstance(remote_conn, across.Connection)
     self.assertIsNot(remote_conn, conn)
     remote_conn.call(Box(invoke_nested))
     self.assertIs(across.get_connection(), remote_conn)
Ejemplo n.º 14
0
 def invoke():
     remote_conn = across.get_connection()
     self.assertIsInstance(remote_conn, across.Connection)
     self.assertIsNot(remote_conn, conn)
Ejemplo n.º 15
0
 def filter(self, record):
     try:
         conn = across.get_connection()
     except ValueError:
         conn = None
     return (conn == _remote_conn.value) != self._negate
Ejemplo n.º 16
0
 def on_unpickle():
     remote_conn = across.get_connection()
     self.assertIsInstance(remote_conn, across.Connection)
     self.assertIsNot(remote_conn, conn)
Ejemplo n.º 17
0
Archivo: call.py Proyecto: rusek/across
 def factorial(n):
     return 1 if n == 0 else n * across.get_connection().call(
         factorial, n - 1)