コード例 #1
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #2
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #3
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #4
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #5
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #6
0
ファイル: getconn.py プロジェクト: rusek/across
    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()
コード例 #7
0
ファイル: logging.py プロジェクト: rusek/across
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
コード例 #8
0
ファイル: getconn.py プロジェクト: rusek/across
 def func():
     remote_conn.value = across.get_connection()
     raise ArithmeticError(PickleObserver(on_pickle=on_pickle))
コード例 #9
0
ファイル: getconn.py プロジェクト: rusek/across
 def on_pickle():
     self.assertIs(across.get_connection(), remote_conn.value)
コード例 #10
0
ファイル: getconn.py プロジェクト: rusek/across
 def on_unpickle():
     self.assertIs(across.get_connection(), conn)
コード例 #11
0
ファイル: getconn.py プロジェクト: rusek/across
 def func():
     remote_conn.value = across.get_connection()
     return PickleObserver(on_pickle=on_pickle)
コード例 #12
0
ファイル: getconn.py プロジェクト: rusek/across
 def invoke_nested():
     self.assertIs(across.get_connection(), conn)
コード例 #13
0
ファイル: getconn.py プロジェクト: rusek/across
 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)
コード例 #14
0
ファイル: getconn.py プロジェクト: rusek/across
 def invoke():
     remote_conn = across.get_connection()
     self.assertIsInstance(remote_conn, across.Connection)
     self.assertIsNot(remote_conn, conn)
コード例 #15
0
ファイル: logging.py プロジェクト: rusek/across
 def filter(self, record):
     try:
         conn = across.get_connection()
     except ValueError:
         conn = None
     return (conn == _remote_conn.value) != self._negate
コード例 #16
0
ファイル: getconn.py プロジェクト: rusek/across
 def on_unpickle():
     remote_conn = across.get_connection()
     self.assertIsInstance(remote_conn, across.Connection)
     self.assertIsNot(remote_conn, conn)
コード例 #17
0
ファイル: call.py プロジェクト: rusek/across
 def factorial(n):
     return 1 if n == 0 else n * across.get_connection().call(
         factorial, n - 1)