hardpy 0.12.0__tar.gz → 0.12.1__tar.gz

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.
Files changed (76) hide show
  1. {hardpy-0.12.0 → hardpy-0.12.1}/PKG-INFO +1 -1
  2. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/plugin.py +5 -0
  3. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/reporter/hook_reporter.py +18 -0
  4. {hardpy-0.12.0 → hardpy-0.12.1}/pyproject.toml +1 -1
  5. {hardpy-0.12.0 → hardpy-0.12.1}/.gitignore +0 -0
  6. {hardpy-0.12.0 → hardpy-0.12.1}/LICENSE +0 -0
  7. {hardpy-0.12.0 → hardpy-0.12.1}/README.md +0 -0
  8. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/__init__.py +0 -0
  9. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/cli/__init__.py +0 -0
  10. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/cli/cli.py +0 -0
  11. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/cli/template.py +0 -0
  12. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/__init__.py +0 -0
  13. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/config.py +0 -0
  14. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/__init__.py +0 -0
  15. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/connector.py +0 -0
  16. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/exception.py +0 -0
  17. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/oauth_callback.py +0 -0
  18. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/registration.py +0 -0
  19. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/common/stand_cloud/token_storage.py +0 -0
  20. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/__init__.py +0 -0
  21. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/api.py +0 -0
  22. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/allPaths-B26356fZ.js +0 -0
  23. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/allPathsLoader-0BeGWuiy.js +0 -0
  24. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-Bfs1BwbR.ttf +0 -0
  25. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-Btb8d-Hu.woff +0 -0
  26. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-CzsyEoPG.svg +0 -0
  27. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-DrH54W_x.woff2 +0 -0
  28. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-16-RCDSkC4W.eot +0 -0
  29. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-BGGGsqDJ.ttf +0 -0
  30. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-D9WO2FSG.woff2 +0 -0
  31. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-Doom1bSH.eot +0 -0
  32. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-DyVnGNfQ.svg +0 -0
  33. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/blueprint-icons-20-ZW-9JnPf.woff +0 -0
  34. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/index-BMEat_ws.js +0 -0
  35. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/index-Bl_IX0Up.js +0 -0
  36. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/index-BwCQzehg.css +0 -0
  37. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/index-xb4M2ucX.js +0 -0
  38. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/logo_smol-CK3jE85c.png +0 -0
  39. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/assets/splitPathsBySizeLoader-BEs5IL5-.js +0 -0
  40. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/favicon.ico +0 -0
  41. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/index.html +0 -0
  42. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/logo192.png +0 -0
  43. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/logo512.png +0 -0
  44. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/hardpy_panel/frontend/dist/manifest.json +0 -0
  45. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/__init__.py +0 -0
  46. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/__init__.py +0 -0
  47. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/base_connector.py +0 -0
  48. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/base_server.py +0 -0
  49. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/base_store.py +0 -0
  50. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/const.py +0 -0
  51. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/runstore.py +0 -0
  52. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/schema/__init__.py +0 -0
  53. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/schema/v1.py +0 -0
  54. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/db/statestore.py +0 -0
  55. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/pytest_call.py +0 -0
  56. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/pytest_wrapper.py +0 -0
  57. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/reporter/__init__.py +0 -0
  58. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/reporter/base.py +0 -0
  59. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/reporter/runner_reporter.py +0 -0
  60. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/__init__.py +0 -0
  61. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/couchdb_config.py +0 -0
  62. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_loader/__init__.py +0 -0
  63. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_loader/couchdb_loader.py +0 -0
  64. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_loader/stand_cloud_loader.py +0 -0
  65. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_reader/__init__.py +0 -0
  66. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_reader/couchdb_reader.py +0 -0
  67. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/result/report_reader/stand_cloud_reader.py +0 -0
  68. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/__init__.py +0 -0
  69. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/connection_data.py +0 -0
  70. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/const.py +0 -0
  71. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/dialog_box.py +0 -0
  72. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/exception.py +0 -0
  73. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/machineid.py +0 -0
  74. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/node_info.py +0 -0
  75. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/progress_calculator.py +0 -0
  76. {hardpy-0.12.0 → hardpy-0.12.1}/hardpy/pytest_hardpy/utils/singleton.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hardpy
3
- Version: 0.12.0
3
+ Version: 0.12.1
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/
@@ -424,6 +424,8 @@ class HardpyPlugin:
424
424
  # update module statuses
425
425
  self._results[module_id]["module_status"] = TestStatus.STOPPED
426
426
  self._reporter.set_module_status(module_id, TestStatus.STOPPED)
427
+ if self._reporter.get_module_start_time(module_id):
428
+ self._reporter.set_module_stop_time(module_id)
427
429
 
428
430
  # update case statuses
429
431
  for module_key, module_value in module_data.items():
@@ -439,6 +441,9 @@ class HardpyPlugin:
439
441
  case_id,
440
442
  TestStatus.STOPPED,
441
443
  )
444
+ if self._reporter.get_case_start_time(module_id, case_id):
445
+ self._reporter.set_case_stop_time(module_id, case_id)
446
+
442
447
  self._reporter.update_db_by_doc()
443
448
 
444
449
  def _decode_assertion_msg(
@@ -202,6 +202,24 @@ class HookReporter(BaseReporter):
202
202
  """
203
203
  self.set_doc_value(DF.ALERT, alert, statestore_only=True)
204
204
 
205
+ def get_module_start_time(self, module_id: str) -> int:
206
+ """Get module start time.
207
+
208
+ Returns:
209
+ int: module time
210
+ """
211
+ key = self.generate_key(DF.MODULES, module_id, DF.START_TIME)
212
+ return self._statestore.get_field(key)
213
+
214
+ def get_case_start_time(self, module_id: str, case_id: str) -> int:
215
+ """Get case start time.
216
+
217
+ Returns:
218
+ int: module time
219
+ """
220
+ key = self.generate_key(DF.MODULES, module_id, DF.CASES, case_id, DF.START_TIME)
221
+ return self._statestore.get_field(key)
222
+
205
223
  def update_node_order(self, nodes: dict) -> None:
206
224
  """Update node order.
207
225
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  [project]
5
5
  name = "hardpy"
6
- version = "0.12.0"
6
+ version = "0.12.1"
7
7
  description = "HardPy library for device testing"
8
8
  license = "GPL-3.0-or-later"
9
9
  authors = [{ name = "Everypin", email = "info@everypin.io" }]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes