def test_markup_escape_text(self): self.assertEqual(GLib.markup_escape_text(_unicode('a&bä')), 'a&bä') self.assertEqual(GLib.markup_escape_text(_bytes('a&b\x05')), 'a&b') # with explicit length argument self.assertEqual(GLib.markup_escape_text(_bytes('a\x05\x01\x02'), 2), 'a')
def test_exception_handling(self): pipe_r, pipe_w = os.pipe() pid = os.fork() if pid == 0: os.close(pipe_w) select.select([pipe_r], [], []) os.close(pipe_r) os._exit(1) def child_died(pid, status, loop): loop.quit() raise Exception("deadbabe") loop = GLib.MainLoop() GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, child_died, loop) os.close(pipe_r) os.write(pipe_w, _bytes("Y")) os.close(pipe_w) def excepthook(type, value, traceback): self.assertTrue(type is Exception) self.assertEqual(value.args[0], "deadbabe") sys.excepthook = excepthook try: got_exception = False try: loop.run() except: got_exception = True finally: sys.excepthook = sys.__excepthook__ # # The exception should be handled (by printing it) # immediately on return from child_died() rather # than here. See bug #303573 # self.assertFalse(got_exception)
def testExceptionHandling(self): pipe_r, pipe_w = os.pipe() pid = os.fork() if pid == 0: os.close(pipe_w) select.select([pipe_r], [], []) os.close(pipe_r) os._exit(1) def child_died(pid, status, loop): loop.quit() raise Exception("deadbabe") loop = GLib.MainLoop() GLib.child_watch_add(pid, child_died, loop) os.close(pipe_r) os.write(pipe_w, _bytes("Y")) os.close(pipe_w) def excepthook(type, value, traceback): assert type is Exception assert value.args[0] == "deadbabe" sys.excepthook = excepthook got_exception = False try: loop.run() except: got_exception = True # # The exception should be handled (by printing it) # immediately on return from child_died() rather # than here. See bug #303573 # sys.excepthook = sys.__excepthook__ assert not got_exception
def testExceptionHandling(self): pipe_r, pipe_w = os.pipe() pid = os.fork() if pid == 0: os.close(pipe_w) select.select([pipe_r], [], []) os.close(pipe_r) os._exit(1) def child_died(pid, status, loop): loop.quit() raise Exception("deadbabe") loop = glib.MainLoop() glib.child_watch_add(pid, child_died, loop) os.close(pipe_r) os.write(pipe_w, _bytes("Y")) os.close(pipe_w) def excepthook(type, value, traceback): assert type is Exception assert value.args[0] == "deadbabe" sys.excepthook = excepthook got_exception = False try: loop.run() except: got_exception = True # # The exception should be handled (by printing it) # immediately on return from child_died() rather # than here. See bug #303573 # sys.excepthook = sys.__excepthook__ assert not got_exception
def test_markup_escape_text(self): self.assertEqual(GLib.markup_escape_text(_unicode("a&bä")), "a&bä") self.assertEqual(GLib.markup_escape_text(_bytes("a&b\x05")), "a&b") # with explicit length argument self.assertEqual(GLib.markup_escape_text(_bytes("a\x05\x01\x02"), 2), "a")