locust 2.26.0__tar.gz → 2.26.1.dev12__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.
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/workflows/tests.yml +2 -2
- {locust-2.26.0 → locust-2.26.1.dev12}/.pre-commit-config.yaml +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/CHANGELOG.md +12 -0
- {locust-2.26.0/locust.egg-info → locust-2.26.1.dev12}/PKG-INFO +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/benchmarks/dispatch.py +4 -4
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/rest.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/web_ui_cache_stats.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/_version.py +2 -2
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/dispatch.py +2 -4
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/input_events.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/main.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/rpc/protocol.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/runners.py +4 -4
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/mock_locustfile.py +0 -2
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_dispatch.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_main.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_runners.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_stats.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/web.py +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12/locust.egg-info}/PKG-INFO +1 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/tox.ini +2 -1
- {locust-2.26.0 → locust-2.26.1.dev12}/.coveragerc +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.dockerignore +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.git-blame-ignore-revs +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.gitattributes +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/CONTRIBUTING.md +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/ISSUE_TEMPLATE/bug.yml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.github/workflows/stale.yml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.gitignore +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.readthedocs.yaml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.vscode/extensions.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.vscode/launch.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.vscode/launch_locust.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/.vscode/settings.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/Dockerfile +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/LICENSE +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/MANIFEST.in +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/Makefile +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/README +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/README.md +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/SECURITY.md +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/Vagrantfile +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/_static/theme-overrides.css +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/api.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/changelog.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/conf.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/configuration.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/custom-load-shape.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/developing-locust.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/extending-locust.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/further-reading.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/history.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/extend_modern_web_ui_cache_stats.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/locust_workers.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/number_of_users.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/response_times.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/total_requests_per_second.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/userclass_picker_example.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/webui-running-statistics.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/images/webui-splash-screenshot.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/increase-performance.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/index.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/installation.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/logging.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/quickstart.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/requirements.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/retrieving-stats.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/running-cloud-integration.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/running-distributed.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/running-in-debugger.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/running-in-docker.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/running-without-web-ui.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/tasksets.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/testing-other-systems.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/use-as-lib.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/what-is-locust.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/docs/writing-a-locustfile.rst +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/add_command_line_argument.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/basic.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/browse_docs_sequence_test.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/browse_docs_test.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_messages.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_shape/double_wave.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_shape/stages.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_shape/staging_user_classes.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_shape/step_load.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_shape/wait_user_count.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_wait_function.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_xmlrpc_client/server.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/custom_xmlrpc_client/xmlrpc_locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/debugging.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/debugging_advanced.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/docker-compose/docker-compose.yml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/dynamic_user_credentials.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/events.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/extend_modern_web_ui.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/extend_web_ui/extend.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/extend_web_ui/static/custom-stats-table.css +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/extend_web_ui/static/extend.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/extend_web_ui/templates/extend.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/fast_http_locust.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/grpc_user.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/hello.proto +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/hello_pb2.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/hello_pb2_grpc.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/hello_server.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/grpc/locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/manual_stats_reporting.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/multiple_hosts.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/nested_inline_tasksets.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/sdk_session_patching/session_patch_locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/semaphore_wait.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/stop_on_threshold.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/README.md +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/data_subnet.tf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/main.tf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/output.tf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/plan/basic.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/provisioner.tf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/terraform/aws/variables.tf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/test_data_management.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/use_as_lib.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/vagrant/README.md +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/vagrant/supervisord.conf +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/web_ui_auth.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/examples/worker_index.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/generate_changelog.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/__main__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/argument_parser.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/clients.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/contrib/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/contrib/fasthttp.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/debug.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/env.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/event.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/exception.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/html.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/log.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/py.typed +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/rpc/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/rpc/zmqrpc.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/shape.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/chart.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/css/application.css +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/css/application.css.map +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/css/tables.css +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/css/tables.css.map +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/echarts.common.min.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/favicon.ico +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/logo.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/ui-screenshot-charts.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/ui-screenshot-start-test.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/ui-screenshot-stats.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/img/ui-screenshot-workers.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/jquery-1.11.3.min.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/jquery.jqote2.min.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/jquery.tools.min.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/locust.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/sass/_base.sass +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/sass/_mixins.sass +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/sass/application.sass +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/sass/tables.sass +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/tasks.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/static/vintage.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/stats.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/templates/index.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/templates/report.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/templates/stats_data.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/fake_module1_for_env_test.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/fake_module2_for_env_test.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/mock_logging.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_debugging.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_env.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_fasthttp.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_http.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_interruptable_task.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_load_locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_locust_class.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_log.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_old_wait_api.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_parser.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_sequential_taskset.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_tags.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_taskratio.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_users.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_util.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_wait_time.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_web.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/test_zmqrpc.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/testcases.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/test/util.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/inspectuser.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/sequential_taskset.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/task.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/users.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/user/wait_time.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/__init__.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/cache.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/deprecation.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/exception_handler.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/load_locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/rounding.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/util/timespan.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/.eslintrc +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/.gitignore +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/.prettierrc +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/auth.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dev.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/assets/favicon.ico +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/assets/index-941b6e82.js +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/assets/logo.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/auth.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/index.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/dist/report.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/index.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/package.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/public/assets/favicon.ico +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/public/assets/logo.png +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/public/report.html +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/App.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/App.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/DataTable/DataTable.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/DataTable/DataTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/ExceptionsTable/ExceptionsTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/FailuresTable/FailuresTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/FallbackRender/FallbackRender.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/FallbackRender/FallbackRender.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Form/Form.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Form/Select.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Form/tests/Form.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Form/tests/Select.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Footer/About.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Footer/Footer.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Layout.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Navbar/DarkLightToggle.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Navbar/Navbar.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Layout/Navbar/SwarmMonitor.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LineChart/LineChart.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LineChart/LineChart.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LogViewer/LogViewer.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LogViewer/tests/LogViewer.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LogViewer/tests/useLogViewer.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/LogViewer/useLogViewer.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Modal/Modal.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Reports/Reports.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Reports/Reports.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/ResponseTimeTable/ResponseTimeTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/EditButton.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/NewTestButton.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/ResetButton.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/StateButtons.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/StopButton.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/tests/ResetButton.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/tests/StateButtons.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StateButtons/tests/StopButton.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/StatsTable/StatsTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmCharts/SwarmCharts.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/SwarmCustomParameters.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/SwarmEditForm.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/SwarmForm.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/SwarmUserClassPicker.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/tests/SwarmCustomParameters.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/tests/SwarmEditForm.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/tests/SwarmForm.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmForm/tests/SwarmUserClassPicker.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmRatios/SwarmRatios.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/SwarmRatios/SwarmRatios.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Table/Table.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Table/Table.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Tabs/Tabs.constants.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Tabs/Tabs.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/Tabs/Tabs.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/ViewColumnSelector/ViewColumnSelector.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/components/WorkersTable/WorkersTable.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/constants/auth.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/constants/swarm.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/constants/theme.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/global.d.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/tests/useNotifications.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/tests/useSelecteViewColumns.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/tests/useSortByField.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/tests/useSwarmUi.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/useInterval.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/useNotifications.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/useSelectViewColumns.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/useSortByField.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/hooks/useSwarmUi.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/index.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/Auth.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/Dashboard.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/HtmlReport.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/tests/Auth.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/tests/Dashboard.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/pages/tests/HtmlReport.test.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/api/swarm.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/hooks.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/logViewer.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/notification.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/root.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/swarm.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/tests/ui.slice.test.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/theme.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/ui.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/slice/url.slice.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/store.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/redux/utils.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/styles/theme.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/test/constants.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/test/mocks/statsRequest.mock.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/test/mocks/swarmState.mock.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/test/setup.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/test/testUtils.tsx +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/types/auth.types.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/types/swarm.types.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/types/tab.types.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/types/table.types.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/types/ui.types.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/number.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/object.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/string.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/tests/number.test.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/tests/object.test.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/tests/string.test.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/tests/url.test.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/src/utils/url.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/tsconfig.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/vite.config.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/vitest.config.ts +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust/webui/yarn.lock +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/SOURCES.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/dependency_links.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/entry_points.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/not-zip-safe +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/requires.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/locust.egg-info/top_level.txt +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/package.json +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/pyproject.toml +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/scripts/locustfile.py +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/scripts/run-disributed-headless.sh +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/scripts/run-disributed-web.sh +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/scripts/run-local-headless.sh +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/scripts/run-local-web.sh +0 -0
- {locust-2.26.0 → locust-2.26.1.dev12}/setup.cfg +0 -0
@@ -151,7 +151,7 @@ jobs:
|
|
151
151
|
python -m build
|
152
152
|
echo "TAG=${GITHUB_REF#refs/*/}" | tee -a $GITHUB_ENV
|
153
153
|
- name: Publish tagged version to PyPI
|
154
|
-
uses: pypa/gh-action-pypi-publish@
|
154
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
155
155
|
with:
|
156
156
|
user: __token__
|
157
157
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
@@ -190,7 +190,7 @@ jobs:
|
|
190
190
|
python -m build
|
191
191
|
- name: Publish prerelease version to PyPI
|
192
192
|
if: ${{ env.NOT_MERGE_COMMIT == '' }}
|
193
|
-
uses: pypa/gh-action-pypi-publish@
|
193
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
194
194
|
with:
|
195
195
|
user: __token__
|
196
196
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
@@ -1,6 +1,18 @@
|
|
1
1
|
# Detailed changelog
|
2
2
|
The most important changes can also be found in [the documentation](https://docs.locust.io/en/latest/changelog.html).
|
3
3
|
|
4
|
+
## [2.26.0](https://github.com/locustio/locust/tree/2.26.0) (2024-04-18)
|
5
|
+
|
6
|
+
[Full Changelog](https://github.com/locustio/locust/compare/2.25.0...2.26.0)
|
7
|
+
|
8
|
+
**Merged pull requests:**
|
9
|
+
|
10
|
+
- Reformat and lint stuff. And pin gevenhttpclient version [\#2682](https://github.com/locustio/locust/pull/2682) ([cyberw](https://github.com/cyberw))
|
11
|
+
- Add ruff pre commit hook [\#2680](https://github.com/locustio/locust/pull/2680) ([cyberw](https://github.com/cyberw))
|
12
|
+
- Remove python 3.8 compatibility code [\#2679](https://github.com/locustio/locust/pull/2679) ([cyberw](https://github.com/cyberw))
|
13
|
+
- Drop support for Python 3.8 [\#2677](https://github.com/locustio/locust/pull/2677) ([cyberw](https://github.com/cyberw))
|
14
|
+
- Update geventhttpclient and adjust FastHttpUser max\_retries / max\_redirects [\#2676](https://github.com/locustio/locust/pull/2676) ([cyberw](https://github.com/cyberw))
|
15
|
+
|
4
16
|
## [2.25.0](https://github.com/locustio/locust/tree/2.25.0) (2024-04-14)
|
5
17
|
|
6
18
|
[Full Changelog](https://github.com/locustio/locust/compare/2.24.1...2.25.0)
|
@@ -566,19 +566,19 @@ if __name__ == "__main__":
|
|
566
566
|
all_dispatched_users_ramp_down = list(users_dispatcher)
|
567
567
|
dispatch_iteration_durations_ramp_down = users_dispatcher.dispatch_iteration_durations[:]
|
568
568
|
|
569
|
-
cpu_ramp_up = "{:3.3f}/{:3.3f}/{:3.3f}".format(
|
569
|
+
cpu_ramp_up = "{:3.3f}/{:3.3f}/{:3.3f}".format( # noqa: UP032
|
570
570
|
1000 * statistics.mean(dispatch_iteration_durations_ramp_up),
|
571
571
|
1000 * min(dispatch_iteration_durations_ramp_up),
|
572
572
|
1000 * max(dispatch_iteration_durations_ramp_up),
|
573
|
-
)
|
574
|
-
cpu_ramp_down = "{:3.3f}/{:3.3f}/{:3.3f}".format(
|
573
|
+
) # noqa: UP032
|
574
|
+
cpu_ramp_down = "{:3.3f}/{:3.3f}/{:3.3f}".format( # noqa: UP032
|
575
575
|
1000 * statistics.mean(dispatch_iteration_durations_ramp_down),
|
576
576
|
1000 * min(dispatch_iteration_durations_ramp_down),
|
577
577
|
1000 * max(dispatch_iteration_durations_ramp_down),
|
578
578
|
)
|
579
579
|
|
580
580
|
print(
|
581
|
-
"{:04.0f}/{:04.0f} - {:,} workers - {:,} users - {} user classes - {:,} users/s - instantiate: {:.3f}ms - new_dispatch (ramp-up/ramp-down): {:.3f}ms/{:.3f}ms - cpu_ramp_up: {}ms - cpu_ramp_down: {}ms".format(
|
581
|
+
"{:04.0f}/{:04.0f} - {:,} workers - {:,} users - {} user classes - {:,} users/s - instantiate: {:.3f}ms - new_dispatch (ramp-up/ramp-down): {:.3f}ms/{:.3f}ms - cpu_ramp_up: {}ms - cpu_ramp_down: {}ms".format( # noqa: UP032
|
582
582
|
case_index + 1,
|
583
583
|
case_count,
|
584
584
|
worker_count,
|
@@ -50,7 +50,7 @@ class MyUser(FastHttpUser):
|
|
50
50
|
with self.rest("POST", "/post", json={"foo": 1}) as resp:
|
51
51
|
1 / 0 # pylint: disable=pointless-statement
|
52
52
|
|
53
|
-
# response
|
53
|
+
# response isn't even json, but RestUser will already have been marked it as a failure, so we dont have to do it again
|
54
54
|
with self.rest("GET", "/") as resp:
|
55
55
|
pass
|
56
56
|
|
@@ -38,7 +38,7 @@ class WebsiteUser(HttpUser):
|
|
38
38
|
|
39
39
|
|
40
40
|
# This example is based on the Varnish hit/miss headers (https://docs.varnish-software.com/tutorials/hit-miss-logging/).
|
41
|
-
# It could
|
41
|
+
# It could easily be customised for matching other caching systems, CDN or custom headers.
|
42
42
|
CACHE_HEADER = "X-Cache"
|
43
43
|
|
44
44
|
cache_stats = {}
|
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '2.26.
|
16
|
-
__version_tuple__ = version_tuple = (2, 26,
|
15
|
+
__version__ = version = '2.26.1.dev12'
|
16
|
+
__version_tuple__ = version_tuple = (2, 26, 1, 'dev12')
|
@@ -100,8 +100,7 @@ class UsersDispatcher(Iterator):
|
|
100
100
|
self._no_user_to_spawn = False
|
101
101
|
|
102
102
|
def get_current_user_count(self) -> int:
|
103
|
-
|
104
|
-
return sum(map(sum, map(dict.values, self._users_on_workers.values()))) # type: ignore
|
103
|
+
return sum(map(sum, map(dict.values, self._users_on_workers.values())))
|
105
104
|
|
106
105
|
@property
|
107
106
|
def dispatch_in_progress(self):
|
@@ -449,5 +448,4 @@ class UsersDispatcher(Iterator):
|
|
449
448
|
The implementation was profiled and compared to other implementations such as dict-comprehensions
|
450
449
|
and the one below is the most efficient.
|
451
450
|
"""
|
452
|
-
|
453
|
-
return dict(zip(users_on_workers.keys(), map(dict.copy, users_on_workers.values()))) # type: ignore
|
451
|
+
return dict(zip(users_on_workers.keys(), map(dict.copy, users_on_workers.values())))
|
@@ -56,7 +56,7 @@ class WindowsKeyPoller:
|
|
56
56
|
self.cur_keys_length = 0
|
57
57
|
self.captured_chars = []
|
58
58
|
except pywintypes.error:
|
59
|
-
raise InitError("Terminal says its a tty but we
|
59
|
+
raise InitError("Terminal says its a tty but we couldn't enable line input. Keyboard input disabled.")
|
60
60
|
else:
|
61
61
|
raise InitError("Terminal was not a tty. Keyboard input disabled")
|
62
62
|
|
@@ -220,7 +220,7 @@ def main():
|
|
220
220
|
children.append(child_pid)
|
221
221
|
logging.debug(f"Started child worker with pid #{child_pid}")
|
222
222
|
else:
|
223
|
-
# child is always a worker, even when it
|
223
|
+
# child is always a worker, even when it wasn't set on command line
|
224
224
|
options.worker = True
|
225
225
|
# remove options that dont make sense on worker
|
226
226
|
options.run_time = None
|
@@ -345,10 +345,10 @@ class Runner:
|
|
345
345
|
return
|
346
346
|
elif self.shape_last_tick != current_tick:
|
347
347
|
if len(current_tick) == 2:
|
348
|
-
user_count, spawn_rate = current_tick
|
348
|
+
user_count, spawn_rate = current_tick
|
349
349
|
user_classes = None
|
350
350
|
else:
|
351
|
-
user_count, spawn_rate, user_classes = current_tick
|
351
|
+
user_count, spawn_rate, user_classes = current_tick
|
352
352
|
logger.info("Shape test updating to %d users at %.2f spawn rate" % (user_count, spawn_rate))
|
353
353
|
# TODO: This `self.start()` call is blocking until the ramp-up is completed. This can leads
|
354
354
|
# to unexpected behaviours such as the one in the following example:
|
@@ -378,7 +378,7 @@ class Runner:
|
|
378
378
|
caller = inspect.getframeinfo(inspect.stack()[1][0])
|
379
379
|
logger.debug(f"Stopping all users (called from {caller.filename}:{caller.lineno})")
|
380
380
|
except Exception:
|
381
|
-
logger.debug("Stopping all users (
|
381
|
+
logger.debug("Stopping all users (couldn't determine where stop() was called from)")
|
382
382
|
self.environment.events.test_stopping.fire(environment=self.environment)
|
383
383
|
self.final_user_classes_count = {**self.user_classes_count}
|
384
384
|
self.update_state(STATE_CLEANUP)
|
@@ -1453,7 +1453,7 @@ class WorkerRunner(DistributedRunner):
|
|
1453
1453
|
|
1454
1454
|
|
1455
1455
|
def _format_user_classes_count_for_log(user_classes_count: dict[str, int]) -> str:
|
1456
|
-
return "{} ({} total users)".format(
|
1456
|
+
return "{} ({} total users)".format( # noqa: UP032
|
1457
1457
|
json.dumps(dict(sorted(user_classes_count.items(), key=itemgetter(0)))),
|
1458
1458
|
sum(user_classes_count.values()),
|
1459
1459
|
)
|
@@ -4129,7 +4129,7 @@ def _aggregate_dispatched_users(d: dict[str, dict[str, int]]) -> dict[str, int]:
|
|
4129
4129
|
|
4130
4130
|
|
4131
4131
|
def _user_count(d: dict[str, dict[str, int]]) -> int:
|
4132
|
-
return sum(map(sum, map(dict.values, d.values())))
|
4132
|
+
return sum(map(sum, map(dict.values, d.values())))
|
4133
4133
|
|
4134
4134
|
|
4135
4135
|
def _user_count_on_worker(d: dict[str, dict[str, int]], worker_node_id: str) -> int:
|
@@ -832,7 +832,7 @@ class StandaloneIntegrationTests(ProcessIntegrationTest):
|
|
832
832
|
def test_web_options(self):
|
833
833
|
port = get_free_tcp_port()
|
834
834
|
if platform.system() != "Darwin":
|
835
|
-
# MacOS only sets up the loopback interface for 127.0.0.1 and not for 127.*.*.*, so we
|
835
|
+
# MacOS only sets up the loopback interface for 127.0.0.1 and not for 127.*.*.*, so we can't test this
|
836
836
|
with mock_locustfile() as mocked:
|
837
837
|
proc = subprocess.Popen(
|
838
838
|
["locust", "-f", mocked.file_path, "--web-host", "127.0.0.2", "--web-port", str(port)],
|
@@ -3214,7 +3214,7 @@ class TestMasterRunner(LocustRunnerTestCase):
|
|
3214
3214
|
|
3215
3215
|
def test_worker_sends_unrecognized_message_to_master(self):
|
3216
3216
|
"""
|
3217
|
-
Validate master ignores message from worker when it cannot parse
|
3217
|
+
Validate master ignores message from worker when it cannot parse address info.
|
3218
3218
|
"""
|
3219
3219
|
|
3220
3220
|
class TestUser(User):
|
@@ -367,7 +367,7 @@ class TestStatsPrinting(LocustTestCase):
|
|
367
367
|
headlines = info[1].replace("# ", "#").split()
|
368
368
|
# check number of columns in headlines vs table ascii separator
|
369
369
|
self.assertEqual(len(headlines), len(info[2].split("|")))
|
370
|
-
# table ascii
|
370
|
+
# table ascii separators
|
371
371
|
self.assertEqual(info[2], info[-2])
|
372
372
|
|
373
373
|
|
@@ -147,7 +147,7 @@ class WebUI:
|
|
147
147
|
def handle_exception(error):
|
148
148
|
error_message = str(error)
|
149
149
|
logger.log(logging.CRITICAL, error_message)
|
150
|
-
return make_response(error_message, 500)
|
150
|
+
return make_response(error_message, getattr(error, "code", 500))
|
151
151
|
|
152
152
|
@app.route("/assets/<path:path>")
|
153
153
|
def send_assets(path):
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{locust-2.26.0 → locust-2.26.1.dev12}/examples/sdk_session_patching/session_patch_locustfile.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|