pytest-plugins 0.3.9__tar.gz → 0.4.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 (31) hide show
  1. {pytest_plugins-0.3.9/pytest_plugins.egg-info → pytest_plugins-0.4.1}/PKG-INFO +1 -1
  2. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/better_report.py +25 -21
  3. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1/pytest_plugins.egg-info}/PKG-INFO +1 -1
  4. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/setup.py +1 -1
  5. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/LICENSE +0 -0
  6. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/MANIFEST.in +0 -0
  7. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/README.md +0 -0
  8. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pyproject.toml +0 -0
  9. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/__init__.py +0 -0
  10. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/add_config_parameters.py +0 -0
  11. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/fail2skip.py +0 -0
  12. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/max_fail_streak.py +0 -0
  13. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/__init__.py +0 -0
  14. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/base_class_test.py +0 -0
  15. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/environment_data.py +0 -0
  16. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/execution_data.py +0 -0
  17. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/status.py +0 -0
  18. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/models/test_data.py +0 -0
  19. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/utils/__init__.py +0 -0
  20. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/utils/create_report.py +0 -0
  21. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/utils/helper.py +0 -0
  22. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/utils/pytest_helper.py +0 -0
  23. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins/verbose_param_ids.py +0 -0
  24. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins.egg-info/SOURCES.txt +0 -0
  25. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins.egg-info/dependency_links.txt +0 -0
  26. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins.egg-info/entry_points.txt +0 -0
  27. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins.egg-info/requires.txt +0 -0
  28. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/pytest_plugins.egg-info/top_level.txt +0 -0
  29. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/requirements.txt +0 -0
  30. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/setup.cfg +0 -0
  31. {pytest_plugins-0.3.9 → pytest_plugins-0.4.1}/tests/test_dummy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytest-plugins
3
- Version: 0.3.9
3
+ Version: 0.4.1
4
4
  Summary: A Python package for managing pytest plugins.
5
5
  Home-page: https://github.com/aviz92/pytest-plugins
6
6
  Author: Avi Zaguri
@@ -162,7 +162,7 @@ def pytest_collection_modifyitems(config: Config, items: list[Function]) -> None
162
162
  test_parameters=item.callspec.params if getattr(item, 'callspec', None) else None,
163
163
  test_markers=[marker.name for marker in item.iter_markers() if not marker.args],
164
164
  test_status=ExecutionStatus.COLLECTED,
165
- test_start_time=datetime.now(timezone.utc).isoformat(),
165
+ test_start_time=None,
166
166
  run_index=len(test_results) + 1
167
167
  )
168
168
  if getattr(item, 'callspec', None) and config.getoption('--add-parameters'):
@@ -211,28 +211,12 @@ def session_setup_teardown(request: FixtureRequest) -> Generator[None, Any, None
211
211
  logger.info("Better report: Execution results saved")
212
212
 
213
213
 
214
- def pytest_runtest_teardown(item: Function) -> None:
215
- if not getattr(item.config, '_better_report_enabled', None):
216
- return
217
-
218
- test_full_name = get_test_full_name(item=item)
219
- test_item = test_results[test_full_name]
220
- if not test_item:
221
- logger.warning(f"Test {test_full_name} missing in test_results during teardown")
222
- return
223
-
224
- test_item.test_end_time = datetime.now(timezone.utc).isoformat()
225
- if test_item.test_start_time: # Add test duration only if start time is set
226
- try:
227
- start_obj = datetime.fromisoformat(test_item.test_start_time)
228
- end_obj = datetime.fromisoformat(test_item.test_end_time)
229
- test_item.test_duration_sec = (end_obj - start_obj).total_seconds()
230
- except Exception as e:
231
- logger.error(f"Error computing test duration for {test_full_name}: {e}")
232
-
233
-
234
214
  @pytest.hookimpl(hookwrapper=True, tryfirst=True)
235
215
  def pytest_runtest_makereport(item: Function, call: Any) -> Generator[None, Any, None]:
216
+ if call.when == "setup":
217
+ test_full_name = get_test_full_name(item=item)
218
+ test_results[test_full_name].test_start_time = datetime.now(timezone.utc).isoformat()
219
+
236
220
  outcome = yield
237
221
  report = outcome.get_result()
238
222
 
@@ -270,6 +254,26 @@ def pytest_runtest_makereport(item: Function, call: Any) -> Generator[None, Any,
270
254
  else:
271
255
  test_item.exception_message = None
272
256
 
257
+
258
+ def pytest_runtest_teardown(item: Function) -> None:
259
+ if not getattr(item.config, '_better_report_enabled', None):
260
+ return
261
+
262
+ test_full_name = get_test_full_name(item=item)
263
+ test_item = test_results[test_full_name]
264
+ if not test_item:
265
+ logger.warning(f"Test {test_full_name} missing in test_results during teardown")
266
+ return
267
+
268
+ test_item.test_end_time = datetime.now(timezone.utc).isoformat()
269
+ if test_item.test_start_time: # Add test duration only if start time is set
270
+ try:
271
+ start_obj = datetime.fromisoformat(test_item.test_start_time)
272
+ end_obj = datetime.fromisoformat(test_item.test_end_time)
273
+ test_item.test_duration_sec = (end_obj - start_obj).total_seconds()
274
+ except Exception as e:
275
+ logger.error(f"Error computing test duration for {test_full_name}: {e}")
276
+
273
277
  log_test_results(item=item, test_results=test_results)
274
278
 
275
279
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pytest-plugins
3
- Version: 0.3.9
3
+ Version: 0.4.1
4
4
  Summary: A Python package for managing pytest plugins.
5
5
  Home-page: https://github.com/aviz92/pytest-plugins
6
6
  Author: Avi Zaguri
@@ -1,6 +1,6 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
- package_version = '0.3.9'
3
+ package_version = '0.4.1'
4
4
 
5
5
  package_name = 'pytest-plugins'
6
6
  package_description = 'A Python package for managing pytest plugins.'
File without changes
File without changes
File without changes