diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-11-24 18:48:19 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-11-24 18:48:19 +0100 |
commit | 19586576c5ed5cfc82439dc5f5a4123fbd9e8d91 (patch) | |
tree | 8df12871702cba5ad038041dc784848eabd37589 | |
parent | 6eb9f10c7eed63852b5d9b52e8d2d0672f4b221b (diff) | |
download | qutebrowser-19586576c5ed5cfc82439dc5f5a4123fbd9e8d91.tar.gz qutebrowser-19586576c5ed5cfc82439dc5f5a4123fbd9e8d91.zip |
Revert "Work around PyQt 5.15.1 waitSignals issues"
This reverts commit b55675ad4afe12be7e4a4f39960bb58818c502f8.
-rw-r--r-- | tests/unit/browser/webkit/network/test_networkreply.py | 7 | ||||
-rw-r--r-- | tests/unit/completion/test_completionmodel.py | 4 | ||||
-rw-r--r-- | tests/unit/config/test_config.py | 7 | ||||
-rw-r--r-- | tests/unit/keyinput/test_basekeyparser.py | 4 | ||||
-rw-r--r-- | tests/unit/misc/test_guiprocess.py | 29 | ||||
-rw-r--r-- | tests/unit/misc/test_ipc.py | 8 | ||||
-rw-r--r-- | tests/unit/utils/usertypes/test_question.py | 14 |
7 files changed, 34 insertions, 39 deletions
diff --git a/tests/unit/browser/webkit/network/test_networkreply.py b/tests/unit/browser/webkit/network/test_networkreply.py index 0aa3943e7..e1c9d04f8 100644 --- a/tests/unit/browser/webkit/network/test_networkreply.py +++ b/tests/unit/browser/webkit/network/test_networkreply.py @@ -52,9 +52,8 @@ class TestFixedDataNetworkReply: b'Hello World! This is a test.']) def test_data(self, qtbot, req, data): reply = networkreply.FixedDataNetworkReply(req, data, 'test/foo') - with qtbot.waitSignal(reply.metaDataChanged), \ - qtbot.waitSignal(reply.readyRead), \ - qtbot.waitSignal(reply.finished): + with qtbot.waitSignals([reply.metaDataChanged, reply.readyRead, + reply.finished], order='strict'): pass assert reply.bytesAvailable() == len(data) @@ -79,7 +78,7 @@ def test_error_network_reply(qtbot, req): reply = networkreply.ErrorNetworkReply( req, "This is an error", QNetworkReply.UnknownNetworkError) - with qtbot.waitSignal(reply.error), qtbot.waitSignal(reply.finished): + with qtbot.waitSignals([reply.error, reply.finished], order='strict'): pass reply.abort() # shouldn't do anything diff --git a/tests/unit/completion/test_completionmodel.py b/tests/unit/completion/test_completionmodel.py index 1fc0b4d73..98e70dc01 100644 --- a/tests/unit/completion/test_completionmodel.py +++ b/tests/unit/completion/test_completionmodel.py @@ -77,8 +77,8 @@ def test_set_pattern(pat, qtbot): for c in cats: c.set_pattern = mock.Mock(spec=[]) model.add_category(c) - with qtbot.waitSignal(model.layoutAboutToBeChanged), \ - qtbot.waitSignal(model.layoutChanged): + with qtbot.waitSignals([model.layoutAboutToBeChanged, model.layoutChanged], + order='strict'): model.set_pattern(pat) for c in cats: c.set_pattern.assert_called_with(pat) diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index 588e4a5cf..b30ab4bee 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -432,12 +432,11 @@ class TestConfig: assert conf.get_obj(name1) == 'never' assert conf.get_obj(name2) is True - with qtbot.waitSignal(conf.changed), qtbot.waitSignal(conf.changed): + with qtbot.waitSignals([conf.changed, conf.changed]) as blocker: conf.clear(save_yaml=save_yaml) - # Doesn't work with PyQt 5.15.1 workaround - # options = {blocker1.args[0], blocker2.args[0]} - # assert options == {name1, name2} + options = {e.args[0] for e in blocker.all_signals_and_args} + assert options == {name1, name2} if save_yaml: assert yaml_value(name1) is usertypes.UNSET diff --git a/tests/unit/keyinput/test_basekeyparser.py b/tests/unit/keyinput/test_basekeyparser.py index 88d9ae66c..cd57d33cb 100644 --- a/tests/unit/keyinput/test_basekeyparser.py +++ b/tests/unit/keyinput/test_basekeyparser.py @@ -21,7 +21,7 @@ from unittest import mock -from PyQt5.QtCore import Qt, PYQT_VERSION +from PyQt5.QtCore import Qt import pytest from qutebrowser.keyinput import basekeyparser, keyutils @@ -305,8 +305,6 @@ class TestCount: # https://github.com/qutebrowser/qutebrowser/issues/3743 handle_text(prompt_keyparser, Qt.Key_twosuperior, Qt.Key_B, Qt.Key_A) - @pytest.mark.skipif(PYQT_VERSION == 0x050F01, - reason='waitSignals is broken in PyQt 5.15.1') def test_count_keystring_update(self, qtbot, handle_text, prompt_keyparser): """Make sure the keystring is updated correctly when entering count.""" diff --git a/tests/unit/misc/test_guiprocess.py b/tests/unit/misc/test_guiprocess.py index 7e71478ce..4ed19f64e 100644 --- a/tests/unit/misc/test_guiprocess.py +++ b/tests/unit/misc/test_guiprocess.py @@ -54,8 +54,8 @@ def fake_proc(monkeypatch, stubs): def test_start(proc, qtbot, message_mock, py_proc): """Test simply starting a process.""" - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): argv = py_proc("import sys; print('test'); sys.exit(0)") proc.start(*argv) @@ -70,8 +70,8 @@ def test_start_verbose(proc, qtbot, message_mock, py_proc): """Test starting a process verbosely.""" proc.verbose = True - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): argv = py_proc("import sys; print('test'); sys.exit(0)") proc.start(*argv) @@ -99,8 +99,9 @@ def test_start_output_message(proc, qtbot, caplog, message_mock, py_proc, code.append("sys.exit(0)") with caplog.at_level(logging.ERROR, 'message'): - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], + timeout=10000, + order='strict'): argv = py_proc(';'.join(code)) proc.start(*argv) @@ -146,8 +147,8 @@ def test_start_env(monkeypatch, qtbot, py_proc): sys.exit(0) """) - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): proc.start(*argv) data = qutescheme.spawn_output @@ -186,12 +187,12 @@ def test_double_start(qtbot, proc, py_proc): def test_double_start_finished(qtbot, proc, py_proc): """Test starting a GUIProcess twice (with the first call finished).""" - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): argv = py_proc("import sys; sys.exit(0)") proc.start(*argv) - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): argv = py_proc("import sys; sys.exit(0)") proc.start(*argv) @@ -266,8 +267,8 @@ def test_exit_successful_output(qtbot, proc, py_proc, stream): def test_stdout_not_decodable(proc, qtbot, message_mock, py_proc): """Test handling malformed utf-8 in stdout.""" - with qtbot.waitSignal(proc.started, timeout=10000), \ - qtbot.waitSignal(proc.finished, timeout=10000): + with qtbot.waitSignals([proc.started, proc.finished], timeout=10000, + order='strict'): argv = py_proc(r""" import sys # Using \x81 because it's invalid in UTF-8 and CP1252 diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py index 2c9f7ea7f..3f53ca238 100644 --- a/tests/unit/misc/test_ipc.py +++ b/tests/unit/misc/test_ipc.py @@ -493,10 +493,10 @@ NEW_VERSION = str(ipc.PROTOCOL_VERSION + 1).encode('utf-8') (b'{"args": [], "target_arg": null}\n', 'invalid version'), ]) def test_invalid_data(qtbot, ipc_server, connected_socket, caplog, data, msg): + signals = [ipc_server.got_invalid_data, connected_socket.disconnected] with caplog.at_level(logging.ERROR): with qtbot.assertNotEmitted(ipc_server.got_args): - with qtbot.waitSignal(ipc_server.got_invalid_data), \ - qtbot.waitSignal(connected_socket.disconnected): + with qtbot.waitSignals(signals, order='strict'): connected_socket.write(data) invalid_msg = 'Ignoring invalid IPC data from socket ' @@ -514,8 +514,8 @@ def test_multiline(qtbot, ipc_server, connected_socket): version=ipc.PROTOCOL_VERSION)) with qtbot.assertNotEmitted(ipc_server.got_invalid_data): - with qtbot.waitSignal(ipc_server.got_args), \ - qtbot.waitSignal(ipc_server.got_args): + with qtbot.waitSignals([ipc_server.got_args, ipc_server.got_args], + order='strict'): connected_socket.write(data.encode('utf-8')) assert len(spy) == 2 diff --git a/tests/unit/utils/usertypes/test_question.py b/tests/unit/utils/usertypes/test_question.py index 014ef7f0c..59c3f7d43 100644 --- a/tests/unit/utils/usertypes/test_question.py +++ b/tests/unit/utils/usertypes/test_question.py @@ -53,25 +53,23 @@ def test_done(mode, answer, signal_names, question, qtbot): question.mode = mode question.answer = answer signals = [getattr(question, name) for name in signal_names] - blockers = [qtbot.waitSignal(signal) for signal in signals] - - question.done() - for blocker in blockers: - blocker.wait() - + with qtbot.waitSignals(signals, order='strict'): + question.done() assert not question.is_aborted def test_cancel(question, qtbot): """Test Question.cancel().""" - with qtbot.waitSignal(question.cancelled), qtbot.waitSignal(question.completed): + with qtbot.waitSignals([question.cancelled, question.completed], + order='strict'): question.cancel() assert not question.is_aborted def test_abort(question, qtbot): """Test Question.abort().""" - with qtbot.waitSignal(question.aborted), qtbot.waitSignal(question.completed): + with qtbot.waitSignals([question.aborted, question.completed], + order='strict'): question.abort() assert question.is_aborted |