diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2016-12-09 11:09:07 +0100 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2016-12-09 14:06:49 +0100 |
commit | 60d744fec7d20fb93b5152f3a7db0101009831cb (patch) | |
tree | a56fce3df6d91d10c14524b95523620a487911bc /unittest | |
parent | eaab841afe29334e5a599b2210f2e8910b0d0b71 (diff) | |
download | libnitrokey-60d744fec7d20fb93b5152f3a7db0101009831cb.tar.gz libnitrokey-60d744fec7d20fb93b5152f3a7db0101009831cb.tar.bz2 |
Allow to skip test if device is not able to pass it
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'unittest')
-rw-r--r-- | unittest/conftest.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/unittest/conftest.py b/unittest/conftest.py index 68227d5..88bf7d0 100644 --- a/unittest/conftest.py +++ b/unittest/conftest.py @@ -2,6 +2,16 @@ import pytest from misc import ffi +device_type = None + +def skip_if_device_version_lower_than(allowed_devices): + global device_type + model, version = device_type + infinite_version_number = 999 + if allowed_devices.get(model, infinite_version_number) > version: + pytest.skip('This device model is not applicable to run this test') + + @pytest.fixture(scope="module") def C(request): fp = '../NK_C_API.h' @@ -24,7 +34,11 @@ def C(request): nk_login = C.NK_login_auto() if nk_login != 1: print('No devices detected!') - assert nk_login == 1 # returns 0 if not connected or wrong model or 1 when connected + assert nk_login != 0 # returns 0 if not connected or wrong model or 1 when connected + global device_type + firmware_version = C.NK_get_major_firmware_version() + model = 'P' if firmware_version in [7,8] else 'S' + device_type = (model, firmware_version) # assert C.NK_first_authenticate(DefaultPasswords.ADMIN, DefaultPasswords.ADMIN_TEMP) == DeviceErrorCode.STATUS_OK # assert C.NK_user_authenticate(DefaultPasswords.USER, DefaultPasswords.USER_TEMP) == DeviceErrorCode.STATUS_OK |