locust 2.46.8.dev24__tar.gz → 2.46.8.dev30__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.dev24 → locust-2.46.8.dev30}/PKG-INFO +1 -1
  2. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/_version.py +2 -2
  3. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/fasthttp.py +2 -1
  4. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/html.py +3 -1
  5. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/main.py +8 -2
  6. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/.gitignore +0 -0
  7. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/LICENSE +0 -0
  8. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/README.md +0 -0
  9. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/hatch_build.py +0 -0
  10. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/__init__.py +0 -0
  11. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/__main__.py +0 -0
  12. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/argument_parser.py +0 -0
  13. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/clients.py +0 -0
  14. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/__init__.py +0 -0
  15. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/csv_request_logger.py +0 -0
  16. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/dns.py +0 -0
  17. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/milvus.py +0 -0
  18. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/mongodb.py +0 -0
  19. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/mqtt.py +0 -0
  20. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/oai.py +0 -0
  21. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/postgres.py +0 -0
  22. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/qdrant.py +0 -0
  23. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/contrib/socketio.py +0 -0
  24. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/debug.py +0 -0
  25. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/dispatch.py +0 -0
  26. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/env.py +0 -0
  27. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/event.py +0 -0
  28. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/exception.py +0 -0
  29. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/input_events.py +0 -0
  30. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/log.py +0 -0
  31. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/opentelemetry.py +0 -0
  32. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/py.typed +0 -0
  33. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/rpc/__init__.py +0 -0
  34. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/rpc/protocol.py +0 -0
  35. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/rpc/zmqrpc.py +0 -0
  36. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/runners.py +0 -0
  37. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/shape.py +0 -0
  38. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/stats.py +0 -0
  39. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/__init__.py +0 -0
  40. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/inspectuser.py +0 -0
  41. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/markov_taskset.py +0 -0
  42. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/sequential_taskset.py +0 -0
  43. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/task.py +0 -0
  44. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/users.py +0 -0
  45. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/user/wait_time.py +0 -0
  46. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/__init__.py +0 -0
  47. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/cache.py +0 -0
  48. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/date.py +0 -0
  49. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/deprecation.py +0 -0
  50. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/directory.py +0 -0
  51. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/exception_handler.py +0 -0
  52. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/load_locustfile.py +0 -0
  53. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/rounding.py +0 -0
  54. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/timespan.py +0 -0
  55. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/util/url.py +0 -0
  56. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/web.py +0 -0
  57. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/favicon-dark.png +0 -0
  58. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/favicon-light.png +0 -0
  59. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/graphs-dark.png +0 -0
  60. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/graphs-light.png +0 -0
  61. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/src-pSlzKFX1.js +0 -0
  62. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/terminal.gif +0 -0
  63. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/testruns-dark.png +0 -0
  64. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/assets/testruns-light.png +0 -0
  65. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/auth.html +0 -0
  66. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/index.html +0 -0
  67. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/locust/webui/dist/report.html +0 -0
  68. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/pyproject.toml +0 -0
  69. {locust-2.46.8.dev24 → locust-2.46.8.dev30}/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.dev24
3
+ Version: 2.46.8.dev30
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.dev24'
22
- __version_tuple__ = version_tuple = (2, 46, 8, 'dev24')
21
+ __version__ = version = '2.46.8.dev30'
22
+ __version_tuple__ = version_tuple = (2, 46, 8, 'dev30')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -78,6 +78,7 @@ FAILURE_EXCEPTIONS = (
78
78
  SSLError,
79
79
  Timeout,
80
80
  HTTPConnectionClosed,
81
+ HTTPParseError,
81
82
  zlib.error,
82
83
  )
83
84
 
@@ -294,7 +295,7 @@ class FastHttpSession:
294
295
  else:
295
296
  try:
296
297
  request_meta["response_length"] = len(response.content) if response.content else 0
297
- except (HTTPParseError, *FAILURE_EXCEPTIONS) as e:
298
+ except FAILURE_EXCEPTIONS as e:
298
299
  request_meta["response_time"] = (time.perf_counter() - start_perf_counter) * 1000
299
300
  request_meta["exception"] = e # type: ignore
300
301
  if catch_response:
@@ -21,7 +21,9 @@ def process_html_filename(options) -> None:
21
21
  }
22
22
  for option_term, option_value in option_mapping.items():
23
23
  if option_value is not None:
24
- options.html_file = options.html_file.replace(option_term, str(int(option_value)))
24
+ # -r is a float option, so a fractional spawn rate must survive the substitution.
25
+ replacement = str(int(option_value)) if float(option_value).is_integer() else str(option_value)
26
+ options.html_file = options.html_file.replace(option_term, replacement)
25
27
 
26
28
 
27
29
  def render_template_from(file, build_path=DEFAULT_BUILD_PATH, **kwargs):
@@ -109,8 +109,14 @@ def merge_locustfiles_content(
109
109
  for _shape_class in shape_classes:
110
110
  shape_class_name = type(_shape_class).__name__
111
111
  if shape_class_name in available_shape_classes.keys():
112
- sys.stderr.write(f"Duplicate shape classes: {shape_class_name}\n")
113
- sys.exit(1)
112
+ previous_path = inspect.getfile(type(available_shape_classes[shape_class_name]))
113
+ new_path = inspect.getfile(type(_shape_class))
114
+ if previous_path == new_path:
115
+ # The same shape class was defined in two locustfiles but one probably imported the other, so we just ignore it
116
+ continue
117
+ else:
118
+ sys.stderr.write(f"Duplicate shape classes: {shape_class_name}\n")
119
+ sys.exit(1)
114
120
 
115
121
  available_shape_classes[shape_class_name] = _shape_class
116
122
 
File without changes
File without changes
File without changes