diff --git a/qutebrowser/qutebrowser.py b/qutebrowser/qutebrowser.py index cd9ec5938..01054f14d 100644 --- a/qutebrowser/qutebrowser.py +++ b/qutebrowser/qutebrowser.py @@ -23,7 +23,6 @@ import sys import json import qutebrowser -from qutebrowser.utils import log try: from qutebrowser.misc.checkpyver import check_python_version except ImportError: @@ -38,6 +37,7 @@ except ImportError: sys.stderr.flush() sys.exit(100) check_python_version() +from qutebrowser.utils import log import argparse from qutebrowser.misc import earlyinit @@ -130,7 +130,7 @@ def directory(arg): raise argparse.ArgumentTypeError("Invalid empty value") -def logfilter_error(logfilter: str): +def logfilter_error(logfilter): """Validate logger names passed to --logfilter. Args: diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py index ed0222014..38d0e6eb9 100644 --- a/tests/end2end/test_invocations.py +++ b/tests/end2end/test_invocations.py @@ -19,6 +19,7 @@ """Test starting qutebrowser with special arguments/environments.""" +import subprocess import socket import sys import logging @@ -254,3 +255,15 @@ def test_command_on_start(request, quteproc_new): quteproc_new.start(args) quteproc_new.send_cmd(':quit') quteproc_new.wait_for_quit() + + +def test_launching_with_python2(): + try: + proc = subprocess.Popen(['python2', '-m', 'qutebrowser', + '--no-err-windows'], stderr=subprocess.PIPE) + except FileNotFoundError: + pytest.skip("python2 not found") + _stdout, stderr = proc.communicate() + assert proc.returncode == 1 + error = "At least Python 3.4 is required to run qutebrowser" + assert stderr.decode('ascii').startswith(error)