hardpy 0.18.1__py3-none-any.whl → 0.18.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,6 +124,8 @@ class TokenManager:
124
124
  storage_keyring = load_keyring("keyring.backends.SecretService.Keyring")
125
125
  elif system() == "Windows":
126
126
  storage_keyring = load_keyring("keyring.backends.Windows.WinVaultKeyring")
127
+ elif system() == "Darwin":
128
+ storage_keyring = load_keyring("keyring.backends.macOS.KeyChain")
127
129
  # TODO(xorialexandrov): add memory keyring or other store
128
130
  mem_keyring = storage_keyring
129
131
 
@@ -140,10 +140,10 @@ class HardpyPlugin:
140
140
  self._start_args = {}
141
141
  self._sc_syncronizer = StandCloudSynchronizer()
142
142
 
143
- if system() == "Linux":
144
- signal.signal(signal.SIGTERM, self._stop_handler)
145
- elif system() == "Windows":
143
+ if system() == "Windows":
146
144
  signal.signal(signal.SIGBREAK, self._stop_handler) # type: ignore
145
+ else:
146
+ signal.signal(signal.SIGTERM, self._stop_handler)
147
147
  self._log = getLogger(__name__)
148
148
 
149
149
  # Initialization hooks
@@ -65,7 +65,7 @@ class PyTestWrapper:
65
65
  cwd=self._config_manager.tests_path,
66
66
  creationflags=subprocess.CREATE_NEW_PROCESS_GROUP,
67
67
  )
68
- if system() == "Linux":
68
+ else:
69
69
  self._proc = subprocess.Popen( # noqa: S603
70
70
  cmd,
71
71
  cwd=self._config_manager.tests_path,
@@ -80,10 +80,10 @@ class PyTestWrapper:
80
80
  bool: True if pytest was running and stopped
81
81
  """
82
82
  if self.is_running() and self._proc:
83
- if system() == "Linux":
84
- self._proc.terminate()
85
- elif system() == "Windows":
83
+ if system() == "Windows":
86
84
  self._proc.send_signal(signal.CTRL_BREAK_EVENT) # type: ignore
85
+ else:
86
+ self._proc.terminate()
87
87
  return True
88
88
  return False
89
89
 
@@ -106,7 +106,7 @@ class StandCloudSynchronizer:
106
106
  msg += "\nInvalid reports:\n\n"
107
107
  for _report in invalid_reports:
108
108
  report_id, reason = next(iter(_report.items()))
109
- msg += f"{report_id}: {reason}\n"
109
+ msg += f"Report id: {report_id}: {reason}\n"
110
110
  raise StandCloudError(msg)
111
111
  if not msg:
112
112
  msg = "All reports are synchronized with StandCloud"
@@ -120,6 +120,7 @@ class StandCloudSynchronizer:
120
120
  code = response.status_code
121
121
  msg = f"StandCloud healthcheck at {url} is unavailable, status code: {code}"
122
122
  raise StandCloudError(msg)
123
+ # if the response.text contains invalid page data but status code is 200:
123
124
  if response.status_code == HTTPStatus.OK and response.text != "{}":
124
125
  msg = f"StandCloud healthcheck at {response.url} is unavailable"
125
126
  raise StandCloudError(msg)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hardpy
3
- Version: 0.18.1
3
+ Version: 0.18.3
4
4
  Summary: HardPy library for device testing
5
5
  Project-URL: Homepage, https://github.com/everypinio/hardpy/
6
6
  Project-URL: Documentation, https://everypinio.github.io/hardpy/
@@ -33,7 +33,7 @@ Requires-Dist: oauthlib<4,>=3.1.0
33
33
  Requires-Dist: py-machineid~=0.6.0
34
34
  Requires-Dist: pycouchdb<2,>=1.14.2
35
35
  Requires-Dist: pydantic<3,>=2.4.0
36
- Requires-Dist: pytest<9,>=7
36
+ Requires-Dist: pytest>=7
37
37
  Requires-Dist: qrcode>=8
38
38
  Requires-Dist: requests-oauth2client<2,>=1.5.0
39
39
  Requires-Dist: requests-oauthlib<3,>=2.0.0
@@ -66,7 +66,7 @@ HardPy is a python library for creating a test bench for devices.
66
66
 
67
67
  [![PyPI version](https://img.shields.io/pypi/v/hardpy)](https://pypi.org/project/hardpy/)
68
68
  ![python versions](https://img.shields.io/pypi/pyversions/hardpy.svg)
69
- [![pytest versions](https://img.shields.io/badge/pytest-%3E%3D7.0%20%3C9.0-blue)](https://docs.pytest.org/en/latest/)
69
+ [![pytest versions](https://img.shields.io/badge/pytest-%3E%3D7.0-blue)](https://docs.pytest.org/en/latest/)
70
70
  [![Documentation](https://img.shields.io/badge/Documentation%20-Overview%20-%20%23007ec6)](https://everypinio.github.io/hardpy/)
71
71
  [![Reddit](https://img.shields.io/badge/-Reddit-FF4500?style=flat&logo=reddit&logoColor=white)](https://www.reddit.com/r/HardPy)
72
72
  [![Telegram](https://img.shields.io/badge/-Telegram-2CA5E0?style=flat&logo=telegram&logoColor=white)](https://t.me/everypin)
@@ -10,7 +10,7 @@ hardpy/common/stand_cloud/connector.py,sha256=PD1Gr1QOuFUmCsnlPY2zb_WF9Nrr8BGTlb
10
10
  hardpy/common/stand_cloud/exception.py,sha256=zzFlW3Pg8ihG7t-Fb-KvfhDIE5l6oAg9Pdghse8Ib4U,191
11
11
  hardpy/common/stand_cloud/oauth2.py,sha256=SDqtIwcuMgqfBkEZyo3GXeVPnvRBOr6dzeXowx3ZkEw,2803
12
12
  hardpy/common/stand_cloud/registration.py,sha256=UW-JGcvON5CMQQ-s2Mb4Ee3u_jmdQfSj3vPfZ_FuhHY,2370
13
- hardpy/common/stand_cloud/token_manager.py,sha256=0s4fdYrjAonv1DCzTE5D-fF6drZJ3AhTDUoCRlSlK68,4730
13
+ hardpy/common/stand_cloud/token_manager.py,sha256=oHLDip0a-0mmAiRQN5IuypTSNyOnSB43TSWlprOLRI0,4843
14
14
  hardpy/common/stand_cloud/utils.py,sha256=GN3wzbrmF-Xe5iUXf_HurGO-YKltqd3Gc_7vG2eEL7c,692
15
15
  hardpy/hardpy_panel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  hardpy/hardpy_panel/api.py,sha256=KNT4z5WNgpOjujAtBSmrPXsDmA5hUJKVeLZ6Ah9u_nk,8007
@@ -46,9 +46,9 @@ hardpy/hardpy_panel/frontend/dist/locales/ja/translation.json,sha256=kGBJmHlhndu
46
46
  hardpy/hardpy_panel/frontend/dist/locales/ru/translation.json,sha256=81pqFajGhSwPwZV4j0HpziB1oX2iJ5Ud12cLiAaX8J0,3467
47
47
  hardpy/hardpy_panel/frontend/dist/locales/zh/translation.json,sha256=9W61N2MA15J5Zj6UqBqPmUDZXaRAH2HWm9m51BgvzJw,2322
48
48
  hardpy/pytest_hardpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- hardpy/pytest_hardpy/plugin.py,sha256=6If9k_gyXYH2Eow0d5ty2Kpb3Qsij17gb3DlqIXauWQ,23355
49
+ hardpy/pytest_hardpy/plugin.py,sha256=RqBZeIjdrV7szq0tShjqq6TkpWWBhzQN89KcCHSYhEo,23335
50
50
  hardpy/pytest_hardpy/pytest_call.py,sha256=qUDrK1iUjhGEs4bmBFTk9E0YfFzsePoHhVDRY6ngRV8,22878
51
- hardpy/pytest_hardpy/pytest_wrapper.py,sha256=bbk1BYy7CEBeg3Z2pcONb-xFzb3uDYLKcJV7316-Szo,4830
51
+ hardpy/pytest_hardpy/pytest_wrapper.py,sha256=U-tguwJsyW_lDAbFcEOgutc6G__PmWnhuHA6fCgePUc,4792
52
52
  hardpy/pytest_hardpy/db/__init__.py,sha256=nat_tUO2cxPIp9e6U8Fvg6V4NcZ9TVg27u0GHoKelD4,865
53
53
  hardpy/pytest_hardpy/db/base_store.py,sha256=d1lkTB7CpHTKysD2yuuGQFai44OtOmtTbq-WaBYojhw,5545
54
54
  hardpy/pytest_hardpy/db/const.py,sha256=E_A0IKGeS3qyPX4fTfUE5ksARsrTKSVWqUkdmh8S_fo,1414
@@ -71,7 +71,7 @@ hardpy/pytest_hardpy/result/report_reader/__init__.py,sha256=47DEQpj8HBSa-_TImW-
71
71
  hardpy/pytest_hardpy/result/report_reader/couchdb_reader.py,sha256=lnWSX-0QKbdMwtqfCtW0tiH9W_ZEPqQ3rb7Lc8gES7E,5726
72
72
  hardpy/pytest_hardpy/result/report_reader/stand_cloud_reader.py,sha256=uT7YSBu1QyURH9IkgRCdpbinn8LKXUhgVEhwPmGZV7I,3636
73
73
  hardpy/pytest_hardpy/result/report_synchronizer/__init__.py,sha256=QezaT_Yk8LrciygdsFPJeZn0EBUaKpd0GfCQjSuIo-I,273
74
- hardpy/pytest_hardpy/result/report_synchronizer/synchronizer.py,sha256=c27we42R9OOlTnN8T0Zw_PRVxg4RNabug9PEq9Y9lNE,4652
74
+ hardpy/pytest_hardpy/result/report_synchronizer/synchronizer.py,sha256=b1DDDFgEJzsxYRvkzNqeuDvvuWFUIYat1UK0Ct_9N5Y,4745
75
75
  hardpy/pytest_hardpy/utils/__init__.py,sha256=zHln8ySBHesYAwYatLYkHol5TuuTTNOqrsMP7ONFEG0,1338
76
76
  hardpy/pytest_hardpy/utils/const.py,sha256=xS3jBrW_D6IUTlAjSnLiHvSthieRHCj3uN_6fFAXS0w,1832
77
77
  hardpy/pytest_hardpy/utils/dialog_box.py,sha256=eCLGQ-Z8rDPd_8ABHRtbkd7piSZcJoG-bCBmnyq29Pw,11375
@@ -79,8 +79,8 @@ hardpy/pytest_hardpy/utils/exception.py,sha256=1l2VBZLUnjPDoOs744MtaP7Y9FuXUq7ko
79
79
  hardpy/pytest_hardpy/utils/machineid.py,sha256=6JAzUt7KtjTYn8kL9hSMaCQ20U8liH-zDT9v-5Ch7Q8,296
80
80
  hardpy/pytest_hardpy/utils/node_info.py,sha256=DaW566WvsyWR66CThuZ38UoHwQa-pu-4WRLg61OXDnE,7134
81
81
  hardpy/pytest_hardpy/utils/progress_calculator.py,sha256=TPl2gG0ZSvMe8otPythhF9hkD6fa6-mJAhy9yI83-yE,1071
82
- hardpy-0.18.1.dist-info/METADATA,sha256=MVA5tEloIVDXuVs4sqZEB3Af9QPQcp15rTGZWhiIbd8,4983
83
- hardpy-0.18.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
- hardpy-0.18.1.dist-info/entry_points.txt,sha256=nL2sMkKMScNaOE0IPkYnu9Yr-BUswZvGSrwY-SxHY3E,102
85
- hardpy-0.18.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
86
- hardpy-0.18.1.dist-info/RECORD,,
82
+ hardpy-0.18.3.dist-info/METADATA,sha256=rTmqFIGlh2GjKn6DceKb8MbIwj7ztnZTLLjCJymMuq0,4971
83
+ hardpy-0.18.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
+ hardpy-0.18.3.dist-info/entry_points.txt,sha256=nL2sMkKMScNaOE0IPkYnu9Yr-BUswZvGSrwY-SxHY3E,102
85
+ hardpy-0.18.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
86
+ hardpy-0.18.3.dist-info/RECORD,,