Ejemplo n.º 1
0
    def test_add_writer_multiple_calls(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        timeout_occurred = False

        expected_i = 10
        i = 0

        def callback():
            nonlocal i
            i += 1

            if i == expected_i:
                glib_loop.stop()

        def timeout():
            nonlocal timeout_occurred
            timeout_occurred = True
            glib_loop.stop()

        try:
            glib_loop.add_writer(wfd, callback)
            glib_loop.call_later(0.1, timeout)
            glib_loop.run_forever()
        finally:
            os.close(rfd)
            os.close(wfd)

        assert not timeout_occurred
        assert i == expected_i
Ejemplo n.º 2
0
    def test_add_writer_multiple_calls(self, glib_loop):
        import os

        rfd, wfd = os.pipe()

        timeout_occurred = False

        expected_i = 10
        i = 0

        def callback():
            nonlocal i
            i += 1

            if i == expected_i:
                glib_loop.stop()

        def timeout():
            nonlocal timeout_occurred
            timeout_occurred = True
            glib_loop.stop()

        try:
            glib_loop.add_writer(wfd, callback)
            glib_loop.call_later(0.1, timeout)
            glib_loop.run_forever()
        finally:
            os.close(rfd)
            os.close(wfd)

        assert not timeout_occurred
        assert i == expected_i
Ejemplo n.º 3
0
    def test_add_writer_file(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        f = os.fdopen(wfd, 'r')

        glib_loop.add_writer(f, None)

        os.close(rfd)
        os.close(wfd)
Ejemplo n.º 4
0
    def test_add_writer_file(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        f = os.fdopen(wfd, 'r')

        os.close(rfd)
        os.close(wfd)

        glib_loop.add_writer(f, None)
Ejemplo n.º 5
0
        def run_test(fd):
            import asyncio
            from gi.repository import GLib

            fut = asyncio.Future(loop=glib_loop)
            fut.add_done_callback(lambda r: remover(fd))
            glib_loop.add_writer(fd, callback, fut)
            glib_loop.call_later(0.1, timeout)
            glib_loop.run_forever()

            assert not timeout_occurred
            assert removed
Ejemplo n.º 6
0
        def run_test(fd):
            import asyncio
            from gi.repository import GLib

            fut = asyncio.Future(loop=glib_loop)
            fut.add_done_callback(lambda r: remover(fd))
            glib_loop.add_writer(fd, callback, fut)
            glib_loop.call_later(0.1, timeout)
            glib_loop.run_forever()

            assert not timeout_occurred
            assert removed
Ejemplo n.º 7
0
    def test_remove_writer(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        f = os.fdopen(wfd, 'r')

        glib_loop.add_writer(f, None)

        os.close(rfd)
        os.close(wfd)

        assert glib_loop.remove_writer(f)
        assert not glib_loop.remove_writer(f.fileno())
Ejemplo n.º 8
0
    def test_remove_writer(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        f = os.fdopen(wfd, 'r')

        os.close(rfd)
        os.close(wfd)

        glib_loop.add_writer(f, None)

        assert glib_loop.remove_writer(f)
        assert not glib_loop.remove_writer(f.fileno())
Ejemplo n.º 9
0
    def test_add_writer(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        called = False

        def callback(*args):
            nonlocal called
            called = True
            glib_loop.stop()

        os.close(rfd)
        os.close(wfd)

        glib_loop.add_writer(wfd, callback)
        glib_loop.run_forever()
Ejemplo n.º 10
0
    def test_add_writer(self, glib_loop):
        import os
        rfd, wfd = os.pipe()

        called = False

        def callback(*args):
            nonlocal called
            called = True
            glib_loop.stop()

        os.close(rfd)
        os.close(wfd)

        glib_loop.add_writer(wfd, callback)
        glib_loop.run_forever()