def test_patched_errwindow(capfd, mocker, monkeypatch): """Test with a patched sys.hexversion and a fake Tk.""" monkeypatch.setattr(checkpyver.sys, 'hexversion', 0x03040000) monkeypatch.setattr(checkpyver.sys, 'exit', lambda status: None) try: import tkinter # pylint: disable=unused-import except ImportError: tk_mock = mocker.patch('qutebrowser.misc.checkpyver.Tk', spec=['withdraw'], new_callable=mocker.Mock) msgbox_mock = mocker.patch('qutebrowser.misc.checkpyver.messagebox', spec=['showerror']) else: tk_mock = mocker.patch('qutebrowser.misc.checkpyver.Tk', autospec=True) msgbox_mock = mocker.patch('qutebrowser.misc.checkpyver.messagebox', autospec=True) checkpyver.check_python_version() stdout, stderr = capfd.readouterr() assert not stdout assert not stderr tk_mock.assert_called_with() tk_mock().withdraw.assert_called_with() msgbox_mock.showerror.assert_called_with("qutebrowser: Fatal error!", unittest.mock.ANY)
def test_patched_errwindow(capfd, mocker, monkeypatch): """Test with a patched sys.hexversion and a fake Tk.""" monkeypatch.setattr('qutebrowser.misc.checkpyver.sys.hexversion', 0x03000000) monkeypatch.setattr('qutebrowser.misc.checkpyver.sys.exit', lambda status: None) try: import tkinter # pylint: disable=unused-variable except ImportError: tk_mock = mocker.patch('qutebrowser.misc.checkpyver.Tk', spec=['withdraw'], new_callable=mocker.Mock) msgbox_mock = mocker.patch('qutebrowser.misc.checkpyver.messagebox', spec=['showerror']) else: tk_mock = mocker.patch('qutebrowser.misc.checkpyver.Tk', autospec=True) msgbox_mock = mocker.patch('qutebrowser.misc.checkpyver.messagebox', autospec=True) checkpyver.check_python_version() stdout, stderr = capfd.readouterr() assert not stdout assert not stderr tk_mock.assert_called_with() tk_mock().withdraw.assert_called_with() msgbox_mock.showerror.assert_called_with("qutebrowser: Fatal error!", unittest.mock.ANY)
def test_patched_no_errwindow(capfd, monkeypatch): """Test with a patched sys.hexversion and --no-err-windows.""" monkeypatch.setattr(checkpyver.sys, 'argv', [sys.argv[0], '--no-err-windows']) monkeypatch.setattr(checkpyver.sys, 'hexversion', 0x03040000) monkeypatch.setattr(checkpyver.sys, 'exit', lambda status: None) checkpyver.check_python_version() stdout, stderr = capfd.readouterr() assert not stdout assert re.fullmatch(TEXT, stderr), stderr
def test_patched_no_errwindow(capfd, monkeypatch): """Test with a patched sys.hexversion and --no-err-windows.""" monkeypatch.setattr(checkpyver.sys, 'argv', [sys.argv[0], '--no-err-windows']) monkeypatch.setattr(checkpyver.sys, 'hexversion', 0x03040000) monkeypatch.setattr(checkpyver.sys, 'exit', lambda status: None) checkpyver.check_python_version() stdout, stderr = capfd.readouterr() assert not stdout assert re.match(TEXT, stderr), stderr
import qutebrowser try: from qutebrowser.misc.checkpyver import check_python_version except ImportError: try: # python2 from .misc.checkpyver import check_python_version except (SystemError, ValueError): # Import without module - SystemError on Python3, ValueError (?!?) on # Python2 sys.stderr.write("Please don't run this script directly, do something " "like python3 -m qutebrowser instead.\n") sys.stderr.flush() sys.exit(100) check_python_version() import argparse # pylint: disable=wrong-import-order from qutebrowser.misc import earlyinit def get_argparser(): """Get the argparse parser.""" parser = argparse.ArgumentParser(prog='qutebrowser', description=qutebrowser.__description__) parser.add_argument('-B', '--basedir', help="Base directory for all " "storage.") parser.add_argument('-C', '--config-py',
import qutebrowser try: from qutebrowser.misc.checkpyver import check_python_version except ImportError: try: # python2 from .misc.checkpyver import check_python_version except (SystemError, ValueError): # Import without module - SystemError on Python3, ValueError (?!?) on # Python2 sys.stderr.write("Please don't run this script directly, do something " "like python3 -m qutebrowser instead.\n") sys.stderr.flush() sys.exit(100) check_python_version() import argparse from qutebrowser.misc import earlyinit def get_argparser(): """Get the argparse parser.""" parser = argparse.ArgumentParser("usage: qutebrowser", description=qutebrowser.__description__) parser.add_argument('-c', '--confdir', help="Set config directory (empty " "for no config storage)") parser.add_argument('-V', '--version', help="Show version and quit.", action='store_true') debug = parser.add_argument_group('debug arguments') debug.add_argument('-l', '--loglevel', dest='loglevel',
def test_normal(capfd): checkpyver.check_python_version() out, err = capfd.readouterr() assert not out assert not err