Skip to content

Commit

Permalink
conftest: Add ios mark
Browse files Browse the repository at this point in the history
  • Loading branch information
netanelc305 committed Feb 21, 2024
1 parent 9141612 commit 24dadf9
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/rpcclient/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from rpcclient.client_factory import create_tcp_client
from rpcclient.darwin.client import DarwinClient
from rpcclient.exceptions import BadReturnValueError
from rpcclient.ios.client import IosClient
from rpcclient.protos.rpc_pb2 import ARCH_ARM64


Expand Down Expand Up @@ -41,18 +42,21 @@ def pytest_configure(config):
'''local_only: marks tests that require features the CI lacks (deselect with '-m "not local_only"')'''
)
config.addinivalue_line('markers', 'darwin: marks tests that require darwin platform to run')
config.addinivalue_line('markers', 'ios: marks tests that require ios platform to run')
config.addinivalue_line('markers', 'local_machine: marks tests that require local_machine to run')
config.addinivalue_line('markers', 'arm: marks tests that require arm architecture to run')


def pytest_collection_modifyitems(config, items):
skip_local_only = pytest.mark.skip(reason='remove --ci option to run')
skip_not_darwin = pytest.mark.skip(reason='Darwin system is required for this test')
skip_not_ios = pytest.mark.skip(reason='Ios system is required for this test')
skip_not_arm = pytest.mark.skip(reason='Arm arch is required for this test')
skip_not_local_machine = pytest.mark.skip(reason='Local machine is required for this test')

with closing(create_tcp_client('127.0.0.1')) as c:
is_darwin = isinstance(c, DarwinClient)
is_ios = isinstance(c, IosClient)
is_arm = c.arch == ARCH_ARM64

for item in items:
Expand All @@ -62,6 +66,9 @@ def pytest_collection_modifyitems(config, items):
if 'darwin' in item.keywords and not is_darwin:
# Skip test that require Darwin on non Darwin system
item.add_marker(skip_not_darwin)
if 'ios' in item.keywords and not is_ios:
# Skip test that require ios
item.add_marker(skip_not_ios)
if 'arm' in item.keywords and not is_arm:
# Skip tests that require arm on non arm architecture
item.add_marker(skip_not_arm)
Expand Down

0 comments on commit 24dadf9

Please sign in to comment.