tests: check for Gtk initialization and don't run tests that depend on it
This commit is contained in:
parent
41aacefa5e
commit
04a818f215
|
@ -13,6 +13,8 @@ from solaar.ui import pair_window
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
from gi.repository import Gtk # NOQA: E402
|
from gi.repository import Gtk # NOQA: E402
|
||||||
|
|
||||||
|
gtk_init = Gtk.init_check()[0]
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Device:
|
class Device:
|
||||||
|
@ -78,6 +80,7 @@ class Assistant:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(not gtk_init, reason="requires Gtk")
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"receiver, lock_open, discovering, page_type",
|
"receiver, lock_open, discovering, page_type",
|
||||||
[
|
[
|
||||||
|
@ -124,6 +127,7 @@ def test_check_lock_state_drawable(assistant, expected_result):
|
||||||
assert result == expected_result
|
assert result == expected_result
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(not gtk_init, reason="requires Gtk")
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
"receiver, count, expected_result",
|
"receiver, count, expected_result",
|
||||||
[
|
[
|
||||||
|
@ -197,6 +201,7 @@ def test_finish(receiver, pair_device, set_lock, discover, error, mocker):
|
||||||
assert receiver.pairing.error == error
|
assert receiver.pairing.error == error
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skipif(not gtk_init, reason="requires Gtk")
|
||||||
@pytest.mark.parametrize("error", ["timeout", "device not supported", "too many devices"])
|
@pytest.mark.parametrize("error", ["timeout", "device not supported", "too many devices"])
|
||||||
def test_create_failure_page(error, mocker):
|
def test_create_failure_page(error, mocker):
|
||||||
spy_create = mocker.spy(pair_window, "_create_page")
|
spy_create = mocker.spy(pair_window, "_create_page")
|
||||||
|
|
Loading…
Reference in New Issue