locust 2.46.8.dev43__tar.gz → 2.46.8.dev50__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 (69) hide show
  1. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/PKG-INFO +1 -1
  2. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/_version.py +2 -2
  3. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/event.py +2 -4
  4. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/runners.py +1 -1
  5. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/users.py +2 -0
  6. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/.gitignore +0 -0
  7. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/LICENSE +0 -0
  8. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/README.md +0 -0
  9. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/hatch_build.py +0 -0
  10. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/__init__.py +0 -0
  11. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/__main__.py +0 -0
  12. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/argument_parser.py +0 -0
  13. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/clients.py +0 -0
  14. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/__init__.py +0 -0
  15. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/csv_request_logger.py +0 -0
  16. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/dns.py +0 -0
  17. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/fasthttp.py +0 -0
  18. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/milvus.py +0 -0
  19. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/mongodb.py +0 -0
  20. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/mqtt.py +0 -0
  21. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/oai.py +0 -0
  22. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/postgres.py +0 -0
  23. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/qdrant.py +0 -0
  24. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/contrib/socketio.py +0 -0
  25. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/debug.py +0 -0
  26. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/dispatch.py +0 -0
  27. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/env.py +0 -0
  28. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/exception.py +0 -0
  29. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/html.py +0 -0
  30. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/input_events.py +0 -0
  31. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/log.py +0 -0
  32. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/main.py +0 -0
  33. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/opentelemetry.py +0 -0
  34. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/py.typed +0 -0
  35. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/rpc/__init__.py +0 -0
  36. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/rpc/protocol.py +0 -0
  37. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/rpc/zmqrpc.py +0 -0
  38. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/shape.py +0 -0
  39. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/stats.py +0 -0
  40. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/__init__.py +0 -0
  41. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/inspectuser.py +0 -0
  42. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/markov_taskset.py +0 -0
  43. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/sequential_taskset.py +0 -0
  44. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/task.py +0 -0
  45. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/user/wait_time.py +0 -0
  46. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/__init__.py +0 -0
  47. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/cache.py +0 -0
  48. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/date.py +0 -0
  49. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/deprecation.py +0 -0
  50. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/directory.py +0 -0
  51. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/exception_handler.py +0 -0
  52. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/load_locustfile.py +0 -0
  53. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/rounding.py +0 -0
  54. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/timespan.py +0 -0
  55. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/util/url.py +0 -0
  56. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/web.py +0 -0
  57. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/favicon-dark.png +0 -0
  58. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/favicon-light.png +0 -0
  59. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/graphs-dark.png +0 -0
  60. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/graphs-light.png +0 -0
  61. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/src-pSlzKFX1.js +0 -0
  62. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/terminal.gif +0 -0
  63. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/testruns-dark.png +0 -0
  64. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/assets/testruns-light.png +0 -0
  65. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/auth.html +0 -0
  66. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/index.html +0 -0
  67. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/locust/webui/dist/report.html +0 -0
  68. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/pyproject.toml +0 -0
  69. {locust-2.46.8.dev43 → locust-2.46.8.dev50}/pytest_locust/plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: locust
3
- Version: 2.46.8.dev43
3
+ Version: 2.46.8.dev50
4
4
  Summary: Developer-friendly load testing framework
5
5
  Project-URL: Homepage, https://locust.cloud/
6
6
  Project-URL: Repository, https://github.com/locustio/locust
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '2.46.8.dev43'
22
- __version_tuple__ = version_tuple = (2, 46, 8, 'dev43')
21
+ __version__ = version = '2.46.8.dev50'
22
+ __version_tuple__ = version_tuple = (2, 46, 8, 'dev50')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -38,10 +38,8 @@ class EventHook:
38
38
  self._handlers.remove(handler)
39
39
 
40
40
  def fire(self, *, reverse=False, **kwargs):
41
- if reverse:
42
- handlers = reversed(self._handlers)
43
- else:
44
- handlers = self._handlers
41
+ # iterate over a copy, so that listeners can add or remove listeners while the event is firing
42
+ handlers = self._handlers[::-1] if reverse else self._handlers.copy()
45
43
  for handler in handlers:
46
44
  try:
47
45
  handler(**kwargs)
@@ -71,7 +71,7 @@ def locust_exception_handler(environment: Environment):
71
71
  if greenlet.exc_info[0] is StopTest:
72
72
  logger.error(greenlet.exc_info[1])
73
73
  logger.warning("Stopping Locust...")
74
- if environment.parsed_options.headless:
74
+ if environment.parsed_options and environment.parsed_options.headless:
75
75
  environment.runner.quit()
76
76
  else:
77
77
  environment.runner.stop()
@@ -167,6 +167,8 @@ class User(metaclass=UserMeta):
167
167
  except Exception as e:
168
168
  # unhandled exceptions inside tasks are logged in TaskSet.run, but since we're not yet there...
169
169
  logger.error("%s\n%s", e, traceback.format_exc())
170
+ if not isinstance(e, (StopUser, StopTest)):
171
+ self.environment.events.user_error.fire(user_instance=self, exception=e, tb=e.__traceback__)
170
172
  raise
171
173
 
172
174
  self._taskset_instance.run()
File without changes
File without changes
File without changes