Diff of the two buildlogs: -- --- b1/build.log 2025-09-05 16:04:24.825450083 +0000 +++ b2/build.log 2025-09-05 16:19:35.670534102 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Oct 8 10:15:28 -12 2026 -I: pbuilder-time-stamp: 1791497728 +I: Current time: Sat Sep 6 06:04:28 +14 2025 +I: pbuilder-time-stamp: 1757088268 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -22,53 +22,85 @@ dpkg-source: info: unpacking locust_2.24.0-1.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/4150824/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Sep 5 16:04 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='de807742930a4d0aa6863da53d8047cd' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='4150824' - PS1='# ' - PS2='> ' + INVOCATION_ID=e7a1a69c024747d7926a733cdc290387 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=751561 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.jLSOA31C/pbuilderrc_LuHk --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jLSOA31C/b1 --logfile b1/build.log locust_2.24.0-1.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.jLSOA31C/pbuilderrc_T0Sv --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jLSOA31C/b2 --logfile b2/build.log locust_2.24.0-1.dsc' + SUDO_GID=110 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/4150824/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -257,7 +289,7 @@ Get: 117 http://deb.debian.org/debian forky/main amd64 python3-retry all 0.9.2-3 [7088 B] Get: 118 http://deb.debian.org/debian forky/main amd64 python3-roundrobin all 0.0.4-3 [4364 B] Get: 119 http://deb.debian.org/debian forky/main amd64 python3-zmq amd64 26.4.0-1 [178 kB] -Fetched 30.3 MB in 3s (9315 kB/s) +Fetched 30.3 MB in 6s (5299 kB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19897 files and directories currently installed.) @@ -650,8 +682,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Oct 8 22:16:57 UTC 2026. -Universal Time is now: Thu Oct 8 22:16:57 UTC 2026. +Local time is now: Fri Sep 5 16:05:45 UTC 2025. +Universal Time is now: Fri Sep 5 16:05:45 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... @@ -772,7 +804,11 @@ fakeroot is already the newest version (1.37.1.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/locust-2.24.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../locust_2.24.0-1_source.changes +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/locust-2.24.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../locust_2.24.0-1_source.changes dpkg-buildpackage: info: source package locust dpkg-buildpackage: info: source version 2.24.0-1 dpkg-buildpackage: info: source distribution unstable @@ -808,8 +844,8 @@ ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). - This deprecation is overdue, please update your project and remove deprecated - calls to avoid build errors in the future. + By 2026-Feb-18, you need to update your project and remove deprecated calls + or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** @@ -821,8 +857,8 @@ ******************************************************************************** - This deprecation is overdue, please update your project and remove deprecated - calls to avoid build errors in the future. + By 2026-Feb-18, you need to update your project and remove deprecated calls + or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** @@ -859,110 +895,110 @@ running build running build_py creating build/lib/locust -copying locust/debug.py -> build/lib/locust -copying locust/_version.py -> build/lib/locust -copying locust/event.py -> build/lib/locust -copying locust/dispatch.py -> build/lib/locust copying locust/stats.py -> build/lib/locust copying locust/shape.py -> build/lib/locust -copying locust/html.py -> build/lib/locust -copying locust/input_events.py -> build/lib/locust copying locust/log.py -> build/lib/locust -copying locust/runners.py -> build/lib/locust -copying locust/__init__.py -> build/lib/locust -copying locust/argument_parser.py -> build/lib/locust +copying locust/event.py -> build/lib/locust +copying locust/input_events.py -> build/lib/locust copying locust/clients.py -> build/lib/locust -copying locust/web.py -> build/lib/locust +copying locust/dispatch.py -> build/lib/locust +copying locust/__init__.py -> build/lib/locust copying locust/main.py -> build/lib/locust copying locust/exception.py -> build/lib/locust -copying locust/__main__.py -> build/lib/locust +copying locust/html.py -> build/lib/locust +copying locust/debug.py -> build/lib/locust +copying locust/argument_parser.py -> build/lib/locust copying locust/env.py -> build/lib/locust -creating build/lib/locust/user -copying locust/user/sequential_taskset.py -> build/lib/locust/user -copying locust/user/users.py -> build/lib/locust/user -copying locust/user/wait_time.py -> build/lib/locust/user -copying locust/user/__init__.py -> build/lib/locust/user -copying locust/user/inspectuser.py -> build/lib/locust/user -copying locust/user/task.py -> build/lib/locust/user +copying locust/__main__.py -> build/lib/locust +copying locust/web.py -> build/lib/locust +copying locust/runners.py -> build/lib/locust +copying locust/_version.py -> build/lib/locust creating build/lib/locust/util -copying locust/util/exception_handler.py -> build/lib/locust/util -copying locust/util/load_locustfile.py -> build/lib/locust/util -copying locust/util/timespan.py -> build/lib/locust/util -copying locust/util/deprecation.py -> build/lib/locust/util -copying locust/util/__init__.py -> build/lib/locust/util copying locust/util/rounding.py -> build/lib/locust/util copying locust/util/cache.py -> build/lib/locust/util +copying locust/util/load_locustfile.py -> build/lib/locust/util +copying locust/util/__init__.py -> build/lib/locust/util +copying locust/util/deprecation.py -> build/lib/locust/util +copying locust/util/exception_handler.py -> build/lib/locust/util +copying locust/util/timespan.py -> build/lib/locust/util +creating build/lib/locust/contrib +copying locust/contrib/fasthttp.py -> build/lib/locust/contrib +copying locust/contrib/__init__.py -> build/lib/locust/contrib creating build/lib/locust/test -copying locust/test/testcases.py -> build/lib/locust/test -copying locust/test/test_log.py -> build/lib/locust/test -copying locust/test/util.py -> build/lib/locust/test -copying locust/test/test_load_locustfile.py -> build/lib/locust/test -copying locust/test/test_runners.py -> build/lib/locust/test +copying locust/test/test_users.py -> build/lib/locust/test +copying locust/test/test_taskratio.py -> build/lib/locust/test copying locust/test/test_parser.py -> build/lib/locust/test +copying locust/test/test_fasthttp.py -> build/lib/locust/test +copying locust/test/test_interruptable_task.py -> build/lib/locust/test +copying locust/test/fake_module1_for_env_test.py -> build/lib/locust/test +copying locust/test/test_util.py -> build/lib/locust/test copying locust/test/test_zmqrpc.py -> build/lib/locust/test copying locust/test/test_debugging.py -> build/lib/locust/test -copying locust/test/test_locust_class.py -> build/lib/locust/test -copying locust/test/mock_logging.py -> build/lib/locust/test -copying locust/test/test_interruptable_task.py -> build/lib/locust/test -copying locust/test/test_main.py -> build/lib/locust/test -copying locust/test/test_taskratio.py -> build/lib/locust/test -copying locust/test/test_env.py -> build/lib/locust/test -copying locust/test/test_dispatch.py -> build/lib/locust/test -copying locust/test/test_tags.py -> build/lib/locust/test +copying locust/test/test_stats.py -> build/lib/locust/test copying locust/test/__init__.py -> build/lib/locust/test +copying locust/test/mock_logging.py -> build/lib/locust/test copying locust/test/test_web.py -> build/lib/locust/test -copying locust/test/test_fasthttp.py -> build/lib/locust/test -copying locust/test/test_old_wait_api.py -> build/lib/locust/test +copying locust/test/test_http.py -> build/lib/locust/test copying locust/test/mock_locustfile.py -> build/lib/locust/test -copying locust/test/fake_module1_for_env_test.py -> build/lib/locust/test -copying locust/test/test_sequential_taskset.py -> build/lib/locust/test +copying locust/test/test_log.py -> build/lib/locust/test +copying locust/test/test_locust_class.py -> build/lib/locust/test +copying locust/test/test_tags.py -> build/lib/locust/test +copying locust/test/test_runners.py -> build/lib/locust/test +copying locust/test/test_old_wait_api.py -> build/lib/locust/test copying locust/test/test_wait_time.py -> build/lib/locust/test -copying locust/test/test_util.py -> build/lib/locust/test -copying locust/test/test_stats.py -> build/lib/locust/test -copying locust/test/test_http.py -> build/lib/locust/test -copying locust/test/test_users.py -> build/lib/locust/test +copying locust/test/util.py -> build/lib/locust/test +copying locust/test/test_main.py -> build/lib/locust/test +copying locust/test/test_sequential_taskset.py -> build/lib/locust/test copying locust/test/fake_module2_for_env_test.py -> build/lib/locust/test +copying locust/test/testcases.py -> build/lib/locust/test +copying locust/test/test_dispatch.py -> build/lib/locust/test +copying locust/test/test_env.py -> build/lib/locust/test +copying locust/test/test_load_locustfile.py -> build/lib/locust/test creating build/lib/locust/rpc -copying locust/rpc/__init__.py -> build/lib/locust/rpc -copying locust/rpc/protocol.py -> build/lib/locust/rpc copying locust/rpc/zmqrpc.py -> build/lib/locust/rpc -creating build/lib/locust/contrib -copying locust/contrib/__init__.py -> build/lib/locust/contrib -copying locust/contrib/fasthttp.py -> build/lib/locust/contrib +copying locust/rpc/protocol.py -> build/lib/locust/rpc +copying locust/rpc/__init__.py -> build/lib/locust/rpc +creating build/lib/locust/user +copying locust/user/task.py -> build/lib/locust/user +copying locust/user/wait_time.py -> build/lib/locust/user +copying locust/user/users.py -> build/lib/locust/user +copying locust/user/__init__.py -> build/lib/locust/user +copying locust/user/sequential_taskset.py -> build/lib/locust/user +copying locust/user/inspectuser.py -> build/lib/locust/user copying locust/py.typed -> build/lib/locust creating build/lib/locust/static copying locust/static/tasks.js -> build/lib/locust/static -copying locust/static/vintage.js -> build/lib/locust/static copying locust/static/echarts.common.min.js -> build/lib/locust/static copying locust/static/jquery.tools.min.js -> build/lib/locust/static +copying locust/static/vintage.js -> build/lib/locust/static +copying locust/static/jquery.jqote2.min.js -> build/lib/locust/static +copying locust/static/chart.js -> build/lib/locust/static copying locust/static/jquery-1.11.3.min.js -> build/lib/locust/static copying locust/static/locust.js -> build/lib/locust/static -copying locust/static/chart.js -> build/lib/locust/static -copying locust/static/jquery.jqote2.min.js -> build/lib/locust/static -creating build/lib/locust/static/img -copying locust/static/img/ui-screenshot-workers.png -> build/lib/locust/static/img -copying locust/static/img/favicon.ico -> build/lib/locust/static/img -copying locust/static/img/logo.png -> build/lib/locust/static/img -copying locust/static/img/ui-screenshot-charts.png -> build/lib/locust/static/img -copying locust/static/img/ui-screenshot-stats.png -> build/lib/locust/static/img -copying locust/static/img/ui-screenshot-start-test.png -> build/lib/locust/static/img creating build/lib/locust/static/sass -copying locust/static/sass/_base.sass -> build/lib/locust/static/sass -copying locust/static/sass/_mixins.sass -> build/lib/locust/static/sass copying locust/static/sass/tables.sass -> build/lib/locust/static/sass copying locust/static/sass/application.sass -> build/lib/locust/static/sass +copying locust/static/sass/_base.sass -> build/lib/locust/static/sass +copying locust/static/sass/_mixins.sass -> build/lib/locust/static/sass creating build/lib/locust/static/css -copying locust/static/css/application.css -> build/lib/locust/static/css -copying locust/static/css/application.css.map -> build/lib/locust/static/css copying locust/static/css/tables.css -> build/lib/locust/static/css +copying locust/static/css/application.css -> build/lib/locust/static/css copying locust/static/css/tables.css.map -> build/lib/locust/static/css +copying locust/static/css/application.css.map -> build/lib/locust/static/css +creating build/lib/locust/static/img +copying locust/static/img/ui-screenshot-workers.png -> build/lib/locust/static/img +copying locust/static/img/ui-screenshot-stats.png -> build/lib/locust/static/img +copying locust/static/img/favicon.ico -> build/lib/locust/static/img +copying locust/static/img/ui-screenshot-charts.png -> build/lib/locust/static/img +copying locust/static/img/ui-screenshot-start-test.png -> build/lib/locust/static/img +copying locust/static/img/logo.png -> build/lib/locust/static/img creating build/lib/locust/templates copying locust/templates/report.html -> build/lib/locust/templates copying locust/templates/stats_data.html -> build/lib/locust/templates copying locust/templates/index.html -> build/lib/locust/templates creating build/lib/locust/webui/dist -copying locust/webui/dist/auth.html -> build/lib/locust/webui/dist copying locust/webui/dist/report.html -> build/lib/locust/webui/dist +copying locust/webui/dist/auth.html -> build/lib/locust/webui/dist copying locust/webui/dist/index.html -> build/lib/locust/webui/dist creating build/lib/locust/webui/dist/assets copying locust/webui/dist/assets/index-0d6d578a.js -> build/lib/locust/webui/dist/assets @@ -973,116 +1009,116 @@ running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/locust -copying build/lib/locust/debug.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/_version.py -> build/bdist.linux-x86_64/wheel/./locust -creating build/bdist.linux-x86_64/wheel/locust/user -copying build/lib/locust/user/sequential_taskset.py -> build/bdist.linux-x86_64/wheel/./locust/user -copying build/lib/locust/user/users.py -> build/bdist.linux-x86_64/wheel/./locust/user -copying build/lib/locust/user/wait_time.py -> build/bdist.linux-x86_64/wheel/./locust/user -copying build/lib/locust/user/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/user -copying build/lib/locust/user/inspectuser.py -> build/bdist.linux-x86_64/wheel/./locust/user -copying build/lib/locust/user/task.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/stats.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/shape.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/log.py -> build/bdist.linux-x86_64/wheel/./locust copying build/lib/locust/event.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/input_events.py -> build/bdist.linux-x86_64/wheel/./locust +creating build/bdist.linux-x86_64/wheel/locust/webui +creating build/bdist.linux-x86_64/wheel/locust/webui/dist +creating build/bdist.linux-x86_64/wheel/locust/webui/dist/assets +copying build/lib/locust/webui/dist/assets/index-0d6d578a.js -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets +copying build/lib/locust/webui/dist/assets/favicon.ico -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets +copying build/lib/locust/webui/dist/assets/logo.png -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets +copying build/lib/locust/webui/dist/report.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist +copying build/lib/locust/webui/dist/auth.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist +copying build/lib/locust/webui/dist/index.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist +copying build/lib/locust/clients.py -> build/bdist.linux-x86_64/wheel/./locust copying build/lib/locust/dispatch.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/__init__.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/py.typed -> build/bdist.linux-x86_64/wheel/./locust creating build/bdist.linux-x86_64/wheel/locust/util -copying build/lib/locust/util/exception_handler.py -> build/bdist.linux-x86_64/wheel/./locust/util -copying build/lib/locust/util/load_locustfile.py -> build/bdist.linux-x86_64/wheel/./locust/util -copying build/lib/locust/util/timespan.py -> build/bdist.linux-x86_64/wheel/./locust/util -copying build/lib/locust/util/deprecation.py -> build/bdist.linux-x86_64/wheel/./locust/util -copying build/lib/locust/util/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/util copying build/lib/locust/util/rounding.py -> build/bdist.linux-x86_64/wheel/./locust/util copying build/lib/locust/util/cache.py -> build/bdist.linux-x86_64/wheel/./locust/util -copying build/lib/locust/stats.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/util/load_locustfile.py -> build/bdist.linux-x86_64/wheel/./locust/util +copying build/lib/locust/util/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/util +copying build/lib/locust/util/deprecation.py -> build/bdist.linux-x86_64/wheel/./locust/util +copying build/lib/locust/util/exception_handler.py -> build/bdist.linux-x86_64/wheel/./locust/util +copying build/lib/locust/util/timespan.py -> build/bdist.linux-x86_64/wheel/./locust/util +creating build/bdist.linux-x86_64/wheel/locust/contrib +copying build/lib/locust/contrib/fasthttp.py -> build/bdist.linux-x86_64/wheel/./locust/contrib +copying build/lib/locust/contrib/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/contrib creating build/bdist.linux-x86_64/wheel/locust/test -copying build/lib/locust/test/testcases.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_log.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/util.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_load_locustfile.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_runners.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_users.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_taskratio.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/test_parser.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_fasthttp.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_interruptable_task.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/fake_module1_for_env_test.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_util.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/test_zmqrpc.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/test_debugging.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_locust_class.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/mock_logging.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_interruptable_task.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_main.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_taskratio.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_env.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_dispatch.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_tags.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_stats.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/mock_logging.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/test_web.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_fasthttp.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_old_wait_api.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_http.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/mock_locustfile.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/fake_module1_for_env_test.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_sequential_taskset.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_log.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_locust_class.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_tags.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_runners.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_old_wait_api.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/test_wait_time.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_util.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_stats.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_http.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/test/test_users.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/util.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_main.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_sequential_taskset.py -> build/bdist.linux-x86_64/wheel/./locust/test copying build/lib/locust/test/fake_module2_for_env_test.py -> build/bdist.linux-x86_64/wheel/./locust/test -copying build/lib/locust/shape.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/html.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/input_events.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/log.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/test/testcases.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_dispatch.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_env.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/test/test_load_locustfile.py -> build/bdist.linux-x86_64/wheel/./locust/test +copying build/lib/locust/main.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/exception.py -> build/bdist.linux-x86_64/wheel/./locust creating build/bdist.linux-x86_64/wheel/locust/rpc -copying build/lib/locust/rpc/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/rpc -copying build/lib/locust/rpc/protocol.py -> build/bdist.linux-x86_64/wheel/./locust/rpc copying build/lib/locust/rpc/zmqrpc.py -> build/bdist.linux-x86_64/wheel/./locust/rpc -copying build/lib/locust/runners.py -> build/bdist.linux-x86_64/wheel/./locust -creating build/bdist.linux-x86_64/wheel/locust/webui -creating build/bdist.linux-x86_64/wheel/locust/webui/dist -copying build/lib/locust/webui/dist/auth.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist -creating build/bdist.linux-x86_64/wheel/locust/webui/dist/assets -copying build/lib/locust/webui/dist/assets/index-0d6d578a.js -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets -copying build/lib/locust/webui/dist/assets/favicon.ico -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets -copying build/lib/locust/webui/dist/assets/logo.png -> build/bdist.linux-x86_64/wheel/./locust/webui/dist/assets -copying build/lib/locust/webui/dist/report.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist -copying build/lib/locust/webui/dist/index.html -> build/bdist.linux-x86_64/wheel/./locust/webui/dist -copying build/lib/locust/__init__.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/rpc/protocol.py -> build/bdist.linux-x86_64/wheel/./locust/rpc +copying build/lib/locust/rpc/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/rpc +copying build/lib/locust/html.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/debug.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/argument_parser.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/env.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/__main__.py -> build/bdist.linux-x86_64/wheel/./locust +creating build/bdist.linux-x86_64/wheel/locust/user +copying build/lib/locust/user/task.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/user/wait_time.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/user/users.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/user/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/user/sequential_taskset.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/user/inspectuser.py -> build/bdist.linux-x86_64/wheel/./locust/user +copying build/lib/locust/web.py -> build/bdist.linux-x86_64/wheel/./locust creating build/bdist.linux-x86_64/wheel/locust/static +creating build/bdist.linux-x86_64/wheel/locust/static/sass +copying build/lib/locust/static/sass/tables.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass +copying build/lib/locust/static/sass/application.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass +copying build/lib/locust/static/sass/_base.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass +copying build/lib/locust/static/sass/_mixins.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass copying build/lib/locust/static/tasks.js -> build/bdist.linux-x86_64/wheel/./locust/static -copying build/lib/locust/static/vintage.js -> build/bdist.linux-x86_64/wheel/./locust/static +creating build/bdist.linux-x86_64/wheel/locust/static/css +copying build/lib/locust/static/css/tables.css -> build/bdist.linux-x86_64/wheel/./locust/static/css +copying build/lib/locust/static/css/application.css -> build/bdist.linux-x86_64/wheel/./locust/static/css +copying build/lib/locust/static/css/tables.css.map -> build/bdist.linux-x86_64/wheel/./locust/static/css +copying build/lib/locust/static/css/application.css.map -> build/bdist.linux-x86_64/wheel/./locust/static/css copying build/lib/locust/static/echarts.common.min.js -> build/bdist.linux-x86_64/wheel/./locust/static copying build/lib/locust/static/jquery.tools.min.js -> build/bdist.linux-x86_64/wheel/./locust/static +copying build/lib/locust/static/vintage.js -> build/bdist.linux-x86_64/wheel/./locust/static creating build/bdist.linux-x86_64/wheel/locust/static/img copying build/lib/locust/static/img/ui-screenshot-workers.png -> build/bdist.linux-x86_64/wheel/./locust/static/img +copying build/lib/locust/static/img/ui-screenshot-stats.png -> build/bdist.linux-x86_64/wheel/./locust/static/img copying build/lib/locust/static/img/favicon.ico -> build/bdist.linux-x86_64/wheel/./locust/static/img -copying build/lib/locust/static/img/logo.png -> build/bdist.linux-x86_64/wheel/./locust/static/img copying build/lib/locust/static/img/ui-screenshot-charts.png -> build/bdist.linux-x86_64/wheel/./locust/static/img -copying build/lib/locust/static/img/ui-screenshot-stats.png -> build/bdist.linux-x86_64/wheel/./locust/static/img copying build/lib/locust/static/img/ui-screenshot-start-test.png -> build/bdist.linux-x86_64/wheel/./locust/static/img -creating build/bdist.linux-x86_64/wheel/locust/static/sass -copying build/lib/locust/static/sass/_base.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass -copying build/lib/locust/static/sass/_mixins.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass -copying build/lib/locust/static/sass/tables.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass -copying build/lib/locust/static/sass/application.sass -> build/bdist.linux-x86_64/wheel/./locust/static/sass +copying build/lib/locust/static/img/logo.png -> build/bdist.linux-x86_64/wheel/./locust/static/img +copying build/lib/locust/static/jquery.jqote2.min.js -> build/bdist.linux-x86_64/wheel/./locust/static +copying build/lib/locust/static/chart.js -> build/bdist.linux-x86_64/wheel/./locust/static copying build/lib/locust/static/jquery-1.11.3.min.js -> build/bdist.linux-x86_64/wheel/./locust/static -creating build/bdist.linux-x86_64/wheel/locust/static/css -copying build/lib/locust/static/css/application.css -> build/bdist.linux-x86_64/wheel/./locust/static/css -copying build/lib/locust/static/css/application.css.map -> build/bdist.linux-x86_64/wheel/./locust/static/css -copying build/lib/locust/static/css/tables.css -> build/bdist.linux-x86_64/wheel/./locust/static/css -copying build/lib/locust/static/css/tables.css.map -> build/bdist.linux-x86_64/wheel/./locust/static/css copying build/lib/locust/static/locust.js -> build/bdist.linux-x86_64/wheel/./locust/static -copying build/lib/locust/static/chart.js -> build/bdist.linux-x86_64/wheel/./locust/static -copying build/lib/locust/static/jquery.jqote2.min.js -> build/bdist.linux-x86_64/wheel/./locust/static -copying build/lib/locust/argument_parser.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/clients.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/runners.py -> build/bdist.linux-x86_64/wheel/./locust +copying build/lib/locust/_version.py -> build/bdist.linux-x86_64/wheel/./locust creating build/bdist.linux-x86_64/wheel/locust/templates copying build/lib/locust/templates/report.html -> build/bdist.linux-x86_64/wheel/./locust/templates copying build/lib/locust/templates/stats_data.html -> build/bdist.linux-x86_64/wheel/./locust/templates copying build/lib/locust/templates/index.html -> build/bdist.linux-x86_64/wheel/./locust/templates -copying build/lib/locust/web.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/main.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/py.typed -> build/bdist.linux-x86_64/wheel/./locust -creating build/bdist.linux-x86_64/wheel/locust/contrib -copying build/lib/locust/contrib/__init__.py -> build/bdist.linux-x86_64/wheel/./locust/contrib -copying build/lib/locust/contrib/fasthttp.py -> build/bdist.linux-x86_64/wheel/./locust/contrib -copying build/lib/locust/exception.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/__main__.py -> build/bdist.linux-x86_64/wheel/./locust -copying build/lib/locust/env.py -> build/bdist.linux-x86_64/wheel/./locust running install_egg_info running egg_info creating locust.egg-info @@ -1099,7 +1135,7 @@ Copying locust.egg-info to build/bdist.linux-x86_64/wheel/./locust-0.0.0.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/locust-0.0.0.dist-info/WHEEL -creating '/build/reproducible-path/locust-2.24.0/.pybuild/cpython3_3.13_locust/.tmp-0taitpkf/locust-0.0.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it +creating '/build/reproducible-path/locust-2.24.0/.pybuild/cpython3_3.13_locust/.tmp-_01pg4r0/locust-0.0.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'locust/__init__.py' adding 'locust/__main__.py' adding 'locust/_version.py' @@ -1210,7 +1246,7 @@ make[1]: Entering directory '/build/reproducible-path/locust-2.24.0' # examples/test_data_management.py - attempted network access during pytest collection phase # TestMasterWorkerRunners times out after a long time -http_proxy= https_proxy= PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/build/reproducible-path/locust-2.24.0/debian PYBUILD_SYSTEM=custom PYBUILD_TEST_ARGS="PYTHONPATH={build_dir} {interpreter} -m pytest -v --ignore=examples/test_data_management.py -k 'not TestMasterWorkerRunners'" dh_auto_test +http_proxy= https_proxy= PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path:/build/reproducible-path/locust-2.24.0/debian PYBUILD_SYSTEM=custom PYBUILD_TEST_ARGS="PYTHONPATH={build_dir} {interpreter} -m pytest -v --ignore=examples/test_data_management.py -k 'not TestMasterWorkerRunners'" dh_auto_test I: pybuild base:311: PYTHONPATH=/build/reproducible-path/locust-2.24.0/.pybuild/cpython3_3.13_locust/build python3.13 -m pytest -v --ignore=examples/test_data_management.py -k 'not TestMasterWorkerRunners' ============================= test session starts ============================== platform linux -- Python 3.13.7, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 @@ -1232,19 +1268,19 @@ locust/test/test_dispatch.py::TestRampUpUsersFromZero::test_users_are_distributed_evenly_across_hosts PASSED [ 1%] locust/test/test_dispatch.py::TestWaitBetweenDispatch::test_wait_between_dispatch PASSED [ 2%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_0_5 PASSED [ 2%] -locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_1 PASSED [ 2%] +locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_1 FAILED [ 2%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_2 PASSED [ 2%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_2_4 PASSED [ 2%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_3 PASSED [ 2%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_4 PASSED [ 3%] locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_9 PASSED [ 3%] -locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_4_workers_with_spawn_rate_of_1 FAILED [ 3%] +locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_4_workers_with_spawn_rate_of_1 PASSED [ 3%] locust/test/test_dispatch.py::TestRampUpThenDownThenUp::test_ramp_up_then_down_then_up SKIPPED [ 3%] locust/test/test_dispatch.py::TestDispatchUsersToWorkersHavingTheSameUsersAsTheTarget::test_dispatch_users_to_3_workers PASSED [ 3%] locust/test/test_dispatch.py::TestDistributionIsRespectedDuringDispatch::test_dispatch_75_users_to_4_workers_with_spawn_rate_of_5 PASSED [ 4%] locust/test/test_dispatch.py::TestLargeScale::test_distribute_users PASSED [ 4%] locust/test/test_dispatch.py::TestLargeScale::test_ramp_down_from_100_000_to_0_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate PASSED [ 4%] -locust/test/test_dispatch.py::TestLargeScale::test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate PASSED [ 4%] +locust/test/test_dispatch.py::TestLargeScale::test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate FAILED [ 4%] locust/test/test_dispatch.py::TestSmallConsecutiveRamping::test_consecutive_ramp_up_and_ramp_down PASSED [ 4%] locust/test/test_dispatch.py::TestRampingMiscellaneous::test_spawn_rate_greater_than_target_user_count PASSED [ 4%] locust/test/test_dispatch.py::TestRemoveWorker::test_remove_last_worker PASSED [ 5%] @@ -1261,7 +1297,7 @@ locust/test/test_dispatch.py::TestAddWorker::test_add_worker_between_two_ramp_ups PASSED [ 7%] locust/test/test_dispatch.py::TestAddWorker::test_add_worker_during_ramp_down PASSED [ 7%] locust/test/test_dispatch.py::TestAddWorker::test_add_worker_during_ramp_up PASSED [ 7%] -locust/test/test_dispatch.py::TestAddWorker::test_add_worker_during_ramp_up_with_fixed_user FAILED [ 7%] +locust/test/test_dispatch.py::TestAddWorker::test_add_worker_during_ramp_up_with_fixed_user PASSED [ 7%] locust/test/test_dispatch.py::TestRampUpUsersFromZeroWithFixed::test_ramp_up_2_weigted_user_with_1_fixed_user PASSED [ 7%] locust/test/test_dispatch.py::TestRampUpUsersFromZeroWithFixed::test_ramp_up_only_fixed_users PASSED [ 8%] locust/test/test_dispatch.py::TestRampUpUsersFromZeroWithFixed::test_ramp_up_partially_ramp_down_and_rump_up_to_target PASSED [ 8%] @@ -1535,7 +1571,7 @@ locust/test/test_runners.py::TestLocustRunner::test_attributes_populated_when_calling_start PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_can_call_stop_endpoint_if_currently_swarming PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_change_user_count_during_spawning PASSED [ 57%] -locust/test/test_runners.py::TestLocustRunner::test_cpu_warning PASSED [ 57%] +locust/test/test_runners.py::TestLocustRunner::test_cpu_warning FAILED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_custom_dispatcher_class PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_custom_message PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_duplicate_message_handler_registration PASSED [ 58%] @@ -1606,18 +1642,18 @@ locust/test/test_runners.py::TestWorkerRunner::test_worker_connect_failure PASSED [ 69%] locust/test/test_runners.py::TestWorkerRunner::test_worker_connect_success PASSED [ 70%] locust/test/test_runners.py::TestWorkerRunner::test_worker_heartbeat_messages_sent_to_master PASSED [ 70%] -locust/test/test_runners.py::TestWorkerRunner::test_worker_messages_sent_to_master PASSED [ 70%] -locust/test/test_runners.py::TestWorkerRunner::test_worker_stop_timeout PASSED [ 70%] +locust/test/test_runners.py::TestWorkerRunner::test_worker_messages_sent_to_master FAILED [ 70%] +locust/test/test_runners.py::TestWorkerRunner::test_worker_stop_timeout FAILED [ 70%] locust/test/test_runners.py::TestWorkerRunner::test_worker_without_stop_timeout PASSED [ 70%] locust/test/test_runners.py::TestMessageSerializing::test_message_serialize PASSED [ 71%] locust/test/test_runners.py::TestStopTimeout::test_gracefully_handle_exceptions_in_listener PASSED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_kill_locusts_with_stop_timeout PASSED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout PASSED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_during_on_start PASSED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_exit_during_wait PASSED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_kill_locusts_with_stop_timeout FAILED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout FAILED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_during_on_start FAILED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_exit_during_wait FAILED [ 71%] locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt PASSED [ 72%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt_no_reschedule PASSED [ 72%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_ramp_down PASSED [ 72%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt_no_reschedule FAILED [ 72%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_ramp_down FAILED [ 72%] locust/test/test_runners.py::TestStopTimeout::test_users_can_call_runner_quit_with_stop_timeout PASSED [ 72%] locust/test/test_sequential_taskset.py::TestTaskSet::test_task_sequence_multiple_iterations PASSED [ 72%] locust/test/test_sequential_taskset.py::TestTaskSet::test_task_sequence_with_inheritance PASSED [ 73%] @@ -1653,7 +1689,7 @@ locust/test/test_stats.py::TestStatsPrinting::test_print_stats PASSED [ 78%] locust/test/test_stats.py::TestCsvStats::test_csv_stats_on_master_from_aggregated_stats PASSED [ 78%] locust/test/test_stats.py::TestCsvStats::test_csv_stats_writer PASSED [ 78%] -locust/test/test_stats.py::TestCsvStats::test_csv_stats_writer_full_history PASSED [ 79%] +locust/test/test_stats.py::TestCsvStats::test_csv_stats_writer_full_history FAILED [ 79%] locust/test/test_stats.py::TestCsvStats::test_requests_csv_quote_escaping PASSED [ 79%] locust/test/test_stats.py::TestCsvStats::test_stats_history FAILED [ 79%] locust/test/test_stats.py::TestCsvStats::test_user_count_in_csv_history_stats FAILED [ 79%] @@ -1707,7 +1743,7 @@ locust/test/test_util.py::TestRounding::test_rounding_up PASSED [ 88%] locust/test/test_wait_time.py::TestWaitTime::test_between PASSED [ 88%] locust/test/test_wait_time.py::TestWaitTime::test_constant PASSED [ 88%] -locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput PASSED [ 88%] +locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput FAILED [ 88%] locust/test/test_wait_time.py::TestWaitTime::test_default_wait_time PASSED [ 89%] locust/test/test_web.py::TestWebUI::test_custom_argument_dropdown PASSED [ 89%] locust/test/test_web.py::TestWebUI::test_custom_shape_deactivate_num_users_and_spawn_rate PASSED [ 89%] @@ -1833,15 +1869,39 @@ }, ) delta = time.perf_counter() - ts + self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) + + ts = time.perf_counter() + self.assertDictEqual( + next(users_dispatcher), + { + "1": {"User1": 3, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 3, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 2}, + }, + ) + delta = time.perf_counter() - ts + self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) + + ts = time.perf_counter() + self.assertDictEqual( + next(users_dispatcher), + { + "1": {"User1": 3, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 3, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 3}, + }, + ) + delta = time.perf_counter() - ts > self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) -E AssertionError: False is not true : 0.5858697870280594 +E AssertionError: False is not true : 2.4436945708002895 -locust/test/test_dispatch.py:495: AssertionError -_ TestRampDownUsersToZero.test_ramp_down_users_to_4_workers_with_spawn_rate_of_1 _ +locust/test/test_dispatch.py:519: AssertionError +_ TestRampDownUsersToZero.test_ramp_down_users_to_3_workers_with_spawn_rate_of_1 _ -self = +self = - def test_ramp_down_users_to_4_workers_with_spawn_rate_of_1(self): + def test_ramp_down_users_to_3_workers_with_spawn_rate_of_1(self): class User1(User): weight = 1 @@ -1853,7 +1913,7 @@ user_classes = [User1, User2, User3] - workers = [WorkerNode(str(i + 1)) for i in range(4)] + workers = [WorkerNode(str(i + 1)) for i in range(3)] initial_user_count = 9 @@ -1871,10 +1931,9 @@ self.assertDictEqual( next(users_dispatcher), { - "1": {"User1": 1, "User2": 1, "User3": 0}, - "2": {"User1": 0, "User2": 1, "User3": 1}, - "3": {"User1": 1, "User2": 0, "User3": 1}, - "4": {"User1": 1, "User2": 1, "User3": 0}, + "1": {"User1": 3, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 3, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 2}, }, ) delta = time.perf_counter() - ts @@ -1884,10 +1943,9 @@ self.assertDictEqual( next(users_dispatcher), { - "1": {"User1": 1, "User2": 1, "User3": 0}, - "2": {"User1": 0, "User2": 1, "User3": 1}, - "3": {"User1": 1, "User2": 0, "User3": 1}, - "4": {"User1": 1, "User2": 0, "User3": 0}, + "1": {"User1": 3, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 2, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 2}, }, ) delta = time.perf_counter() - ts @@ -1897,10 +1955,9 @@ self.assertDictEqual( next(users_dispatcher), { - "1": {"User1": 1, "User2": 1, "User3": 0}, - "2": {"User1": 0, "User2": 1, "User3": 1}, - "3": {"User1": 0, "User2": 0, "User3": 1}, - "4": {"User1": 1, "User2": 0, "User3": 0}, + "1": {"User1": 2, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 2, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 2}, }, ) delta = time.perf_counter() - ts @@ -1910,90 +1967,86 @@ self.assertDictEqual( next(users_dispatcher), { - "1": {"User1": 1, "User2": 1, "User3": 0}, - "2": {"User1": 0, "User2": 1, "User3": 0}, + "1": {"User1": 2, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 2, "User3": 0}, "3": {"User1": 0, "User2": 0, "User3": 1}, - "4": {"User1": 1, "User2": 0, "User3": 0}, }, ) delta = time.perf_counter() - ts -> self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) -E AssertionError: False is not true : 0.7446965440176427 - -locust/test/test_dispatch.py:1271: AssertionError -_________ TestAddWorker.test_add_worker_during_ramp_up_with_fixed_user _________ - -self = - - def test_add_worker_during_ramp_up_with_fixed_user(self): - class User1(User): - fixed_count = 2 - - class User2(User): - weight = 1 - - class User3(User): - weight = 1 - - user_classes = [User1, User2, User3] - - worker_nodes = [ - WorkerNode("hostname1_worker1"), - WorkerNode("hostname1_worker2"), - WorkerNode("hostname2_worker1"), - ] - - users_dispatcher = UsersDispatcher(worker_nodes=[worker_nodes[0], worker_nodes[2]], user_classes=user_classes) - - sleep_time = 0.2 # Speed-up test - - users_dispatcher.new_dispatch(target_user_count=11, spawn_rate=3) - users_dispatcher._wait_between_dispatch = sleep_time - - # Dispatch iteration 1 - ts = time.perf_counter() - dispatched_users = next(users_dispatcher) - delta = time.perf_counter() - ts - self.assertTrue(0 <= delta <= _TOLERANCE, delta) - self.assertDictEqual(_aggregate_dispatched_users(dispatched_users), {"User1": 2, "User2": 1, "User3": 0}) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[0].id), 2) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[2].id), 1) + self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) - # Dispatch iteration 2 ts = time.perf_counter() - dispatched_users = next(users_dispatcher) + self.assertDictEqual( + next(users_dispatcher), + { + "1": {"User1": 2, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 1, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 1}, + }, + ) delta = time.perf_counter() - ts self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) - self.assertDictEqual(_aggregate_dispatched_users(dispatched_users), {"User1": 2, "User2": 2, "User3": 2}) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[0].id), 3) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[2].id), 3) - - self.assertFalse(users_dispatcher._rebalance) - - users_dispatcher.add_worker(worker_nodes[1]) - self.assertTrue(users_dispatcher._rebalance) - - # Re-balance ts = time.perf_counter() - dispatched_users = next(users_dispatcher) + self.assertDictEqual( + next(users_dispatcher), + { + "1": {"User1": 1, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 1, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 1}, + }, + ) delta = time.perf_counter() - ts - self.assertTrue(0 <= delta <= _TOLERANCE, f"Expected re-balance dispatch to be instantaneous but got {delta}s") - self.assertDictEqual(_aggregate_dispatched_users(dispatched_users), {"User1": 2, "User2": 2, "User3": 2}) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[0].id), 2) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[1].id), 2) - self.assertEqual(_user_count_on_worker(dispatched_users, worker_nodes[2].id), 2) - - self.assertFalse(users_dispatcher._rebalance) + self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) - # Dispatch iteration 3 ts = time.perf_counter() - dispatched_users = next(users_dispatcher) + self.assertDictEqual( + next(users_dispatcher), + { + "1": {"User1": 1, "User2": 0, "User3": 0}, + "2": {"User1": 0, "User2": 1, "User3": 0}, + "3": {"User1": 0, "User2": 0, "User3": 0}, + }, + ) delta = time.perf_counter() - ts > self.assertTrue(sleep_time - _TOLERANCE <= delta <= sleep_time + _TOLERANCE, delta) -E AssertionError: False is not true : 0.37240748782642186 +E AssertionError: False is not true : 2.3092877459712327 + +locust/test/test_dispatch.py:1164: AssertionError +_ TestLargeScale.test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate _ -locust/test/test_dispatch.py:3356: AssertionError +self = + + def test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate(self): + for user_classes in [ + self.weighted_user_classes, + self.fixed_user_classes_1M, + self.fixed_user_classes_10k, + self.mixed_users, + ]: + workers = [WorkerNode(str(i)) for i in range(1000)] + + target_user_count = 100_000 + + users_dispatcher = UsersDispatcher(worker_nodes=workers, user_classes=user_classes) + users_dispatcher.new_dispatch(target_user_count=target_user_count, spawn_rate=5_000) + users_dispatcher._wait_between_dispatch = 0 + + all_dispatched_users = list(users_dispatcher) + + tol = 0.2 +> self.assertTrue( + all( + dispatch_iteration_duration <= tol + for dispatch_iteration_duration in users_dispatcher.dispatch_iteration_durations + ), + "One or more dispatch took more than {:.0f}s to compute (max = {}ms)".format( + tol * 1000, 1000 * max(users_dispatcher.dispatch_iteration_durations) + ), + ) +E AssertionError: False is not true : One or more dispatch took more than 200s to compute (max = 254.41584386862814ms) + +locust/test/test_dispatch.py:2096: AssertionError _______________ TestFastHttpUserClass.test_max_redirect_setting ________________ self = @@ -2085,7 +2138,7 @@ src/gevent/_gevent_c_greenlet_primitives.pxd:35: AssertionError _________________ TestLoadLocustfile.test_locustfile_from_url __________________ -self = +self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. @@ -2301,7 +2354,7 @@ The above exception was the direct cause of the following exception: -self = +self = method = 'GET', url = '/locustio/locust/master/examples/basic.py', body = None headers = {'User-Agent': 'python-requests/2.32.4', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive'} retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) @@ -2535,7 +2588,7 @@ self.sock = sock = self._new_conn() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = def _new_conn(self) -> socket.socket: """Establish a socket connection and set nodelay settings on it. @@ -2551,13 +2604,13 @@ ) except socket.gaierror as e: > raise NameResolutionError(self.host, self, e) from e -E urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) +E urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) /usr/lib/python3/dist-packages/urllib3/connection.py:205: NameResolutionError The above exception was the direct cause of the following exception: -self = +self = request = , stream = False timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict({'no': 'localhost'}) @@ -2639,9 +2692,9 @@ self = Retry(total=0, connect=None, read=False, redirect=None, status=None) method = 'GET', url = '/locustio/locust/master/examples/basic.py' response = None -error = NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)") -_pool = -_stacktrace = +error = NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)") +_pool = +_stacktrace = def increment( self, @@ -2735,7 +2788,7 @@ if new_retry.is_exhausted(): reason = error or ResponseError(cause) > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] -E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) +E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3/dist-packages/urllib3/util/retry.py:519: MaxRetryError @@ -2759,7 +2812,7 @@ r = adapter.send(request, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = request = , stream = False timeout = Timeout(connect=None, read=None, total=None), verify = True cert = None, proxies = OrderedDict({'no': 'localhost'}) @@ -2852,7 +2905,7 @@ raise SSLError(e, request=request) > raise ConnectionError(e, request=request) -E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) +E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError @@ -2888,7 +2941,7 @@ locust/argument_parser.py:198: SystemExit ----------------------------- Captured stderr call ----------------------------- -Failed to get locustfile from: https://raw.githubusercontent.com/locustio/locust/master/examples/basic.py. Exception: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) +Failed to get locustfile from: https://raw.githubusercontent.com/locustio/locust/master/examples/basic.py. Exception: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /locustio/locust/master/examples/basic.py (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________________ TestLoggingOptions.test_log_to_file ______________________ self = @@ -2939,8 +2992,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmphagy2y1b_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmpsuxrn2na_locustfile.py', '-u', '1', '-r', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -3267,8 +3320,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmplocluudh_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmpnulx7n1p_locustfile.py', '-u', '1', '-r', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -3591,8 +3644,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp1m3kw6oy_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmpz04tn7_y_locustfile.py', '-u', '1', '-r', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -3910,8 +3963,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpnzm4n3lr_locustfile.py', '-t', '1', '--headless'] +self = +args = ['locust', '-f', '/tmp/tmp6_f9ur8z_locustfile.py', '-t', '1', '--headless'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -4249,8 +4302,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497930_4099495_44577.py,/tmp/tmpdcwad_0o_locustfile.py', '--legacy-ui', '--web-port', '34531', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088541_065575_57472.py,/tmp/tmpcvcxwdbv_locustfile.py', '--legacy-ui', '--web-port', '36151', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -4572,8 +4625,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497930_5002785_63372.py', '--legacy-ui', '--web-port', '51411', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088541_2268171_3434.py', '--legacy-ui', '--web-port', '54493', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -4883,8 +4936,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497930_6255999_42239.py', '--web-port', '43471', '-t', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088541_3970118_39762.py', '--web-port', '56847', '-t', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -5190,8 +5243,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497930_709469_81794.py', '--web-port', '53875', '--autostart'] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088541_5618052_72961.py', '--web-port', '55953', '--autostart'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -5524,7 +5577,7 @@ output = proc.communicate()[0] self.assertNotIn("User1 is running", output) > self.assertIn("User2 is running", output) -E AssertionError: 'User2 is running' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: 'User2 is running' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:1080: AssertionError _______________ StandaloneIntegrationTests.test_custom_arguments _______________ @@ -5564,8 +5617,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpw9rvlrod_locustfile.py', '--custom-string-arg', 'command_line_value', '--web-port', ...] +self = +args = ['locust', '-f', '/tmp/tmpbuvr7g1o_locustfile.py', '--custom-string-arg', 'command_line_value', '--web-port', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -5881,8 +5934,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpfslokbcg_locustfile.py', '--autostart'] +self = +args = ['locust', '-f', '/tmp/tmp53lquasf_locustfile.py', '--autostart'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -6192,8 +6245,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpaepcngcu_locustfile.py'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpmjwkjceg_locustfile.py'], executable = 'locust' preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 80, errread = 81 @@ -6505,8 +6558,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_0972283_83438.py', '--host', 'https://test.com/', '--run-time', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088542_623306_45128.py', '--host', 'https://test.com/', '--run-time', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -6824,8 +6877,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_1873507_52474.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088542_9012606_70681.py', '--host', 'https://test.com/', '--headless', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -7142,8 +7195,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpck_mbbes_locustfile.py,/tmp/tmp0fyvtxjl_locustfile.py'] +self = +args = ['locust', '-f', '/tmp/tmpsv6fv_s9_locustfile.py,/tmp/tmpydo9io0h_locustfile.py'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -7446,8 +7499,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmprst5e879_locustfile.py,/tmp/tmpg56a3tfr_locustfile.py'] +self = +args = ['locust', '-f', '/tmp/tmpv273ao77_locustfile.py,/tmp/tmpx7_oszvk_locustfile.py'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -7739,8 +7792,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpykddbyvz'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpahfzwlph'], executable = 'locust' preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 80, errread = 81 @@ -8055,8 +8108,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_5290933_78690.py', '--headless', '-t', '1', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088546_5104017_36173.py', '--headless', '-t', '1', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -8370,8 +8423,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_6144836_10654.py', '--run-time=1s', '--headless', '--exit-code-on-error', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088546_8465726_36528.py', '--run-time=1s', '--headless', '--exit-code-on-error', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -8697,8 +8750,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp16gx6nmu_locustfile.py', '--headless'] +self = +args = ['locust', '-f', '/tmp/tmpyyj43qfq_locustfile.py', '--headless'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -9005,8 +9058,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_8218021_71793.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088547_3011143_92158.py', '--host', 'https://test.com/', '--headless', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -9304,7 +9357,7 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ['locust', '--help'], executable = 'locust', preexec_fn = None close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False @@ -9619,8 +9672,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497931_998952_79621.py', '--legacy-ui', '--host', 'https://test.com/', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088547_969988_99424.py', '--legacy-ui', '--host', 'https://test.com/', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -9960,7 +10013,7 @@ output = proc.communicate()[0] stdin.close() > self.assertIn("Ramping to 1 users at a rate of 100.00 per second", output) -E AssertionError: 'Ramping to 1 users at a rate of 100.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: 'Ramping to 1 users at a rate of 100.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:922: AssertionError _________ StandaloneIntegrationTests.test_invalid_percentile_parameter _________ @@ -9990,8 +10043,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp_44cogl5_locustfile.py', '--autostart'] +self = +args = ['locust', '-f', '/tmp/tmptm0nwsb2_locustfile.py', '--autostart'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -10296,8 +10349,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497938_2807996_98904.py', '--host', 'https://test.com/', '--stop-timeout', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088556_631315_87833.py', '--host', 'https://test.com/', '--stop-timeout', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -10598,8 +10651,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp_gpxhb3l_locustfile.py,/tmp/tmpr0lk904y_locustfile.py', '-t', '1', '--headless'] +self = +args = ['locust', '-f', '/tmp/tmpjqeq1dbc_locustfile.py,/tmp/tmpjm1s8ajy_locustfile.py', '-t', '1', '--headless'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -10879,7 +10932,7 @@ /usr/lib/python3/dist-packages/gevent/subprocess.py:1849: OSError ----------------------------- Captured stdout call ----------------------------- -from tmp_gpxhb3l_locustfile import TestUser1 +from tmpjqeq1dbc_locustfile import TestUser1 _____________ StandaloneIntegrationTests.test_percentile_parameter _____________ @@ -10912,8 +10965,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpdjvl1q25_locustfile.py', '--web-port', '33459', '--autostart'] +self = +args = ['locust', '-f', '/tmp/tmpubihbiqb_locustfile.py', '--web-port', '41847', '--autostart'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -11224,8 +11277,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp2u3i9yga_locustfile.py', '--web-port', '60229', '--autostart'] +self = +args = ['locust', '-f', '/tmp/tmpnxw78u1s_locustfile.py', '--web-port', '38409', '--autostart'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -11546,8 +11599,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp7ai29dry', '--autostart', '-u', '2', ...] +self = +args = ['locust', '-f', '/tmp/tmpjh1tcv69', '--autostart', '-u', '2', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -11868,8 +11921,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpiw29q9ti', '--headless', '-u', '2', ...] +self = +args = ['locust', '-f', '/tmp/tmpdau6gzo_', '--headless', '-u', '2', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -12205,8 +12258,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497939_9440916_44354.py,/tmp/tmpclji1t4y_locustfile.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088558_9862366_10532.py,/tmp/tmpo1h13p8w_locustfile.py', '--host', 'https://test.com/', '--headless', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -12504,8 +12557,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpowxnffoe_locustfile.py,/tmp/tmppcz6h8s1_locustfile.py', '--class-picker'] +self = +args = ['locust', '-f', '/tmp/tmpnugoomvn_locustfile.py,/tmp/tmpfboynn87_locustfile.py', '--class-picker'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -12820,8 +12873,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '--headless', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497940_2691307_98995.py', '--exit-code-on-error=0', '--users=1', ...] +self = +args = ['locust', '--headless', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088559_745248_65971.py', '--exit-code-on-error=0', '--users=1', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -13139,8 +13192,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497940_4567957_95195.py', '--run-time=1s', '--users=1', '--spawn-rate=1', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088560_1988683_10979.py', '--run-time=1s', '--users=1', '--spawn-rate=1', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -13450,7 +13503,7 @@ output = proc.communicate()[0] > self.assertIn("Ramping to 10 users at a rate of 10.00 per second", output) -E AssertionError: 'Ramping to 10 users at a rate of 10.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: 'Ramping to 10 users at a rate of 10.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:1022: AssertionError _____________ StandaloneIntegrationTests.test_spawning_with_fixed ______________ @@ -13509,7 +13562,7 @@ output = proc.communicate()[0] > self.assertIn("Ramping to 10 users at a rate of 10.00 per second", output) -E AssertionError: 'Ramping to 10 users at a rate of 10.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: 'Ramping to 10 users at a rate of 10.00 per second' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:987: AssertionError _________________ StandaloneIntegrationTests.test_web_options __________________ @@ -13535,8 +13588,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497940_673314_72353.py', '--web-host', '127.0.0.2', '--web-port', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088562_8707314_69350.py', '--web-host', '127.0.0.2', '--web-port', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -13840,8 +13893,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpgojxyvcu_locustfile.py'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpvqqncy92_locustfile.py'], executable = 'locust' preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 81, errread = 82 @@ -14136,8 +14189,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497940_8486304_12643.py,/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497940_8488104_68846.py'] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088563_802494_68611.py,/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088563_802796_74523.py'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -14432,8 +14485,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpcnr6a0l7'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpixf3r8ly'], executable = 'locust' preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False p2cread = -1, p2cwrite = -1, c2pread = 11, c2pwrite = 81, errread = 82 @@ -14757,8 +14810,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_0720081_38380.py,/tmp/tmpwneledh0_locustfile.py'] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088564_5212448_72752.py,/tmp/tmpofp8dez8_locustfile.py'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -15079,8 +15132,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_1636105_87523.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088564_9048367_53872.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -15411,8 +15464,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_2524183_76921.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088565_1331594_22453.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -15735,8 +15788,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_4270809_88712.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088565_4177527_41568.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -16066,8 +16119,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_6762273_27731.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088565_7716477_71205.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -16382,8 +16435,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497941_8604658_1918', '--headless', '--master'] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088566_1381059_22805', '--headless', '--master'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -16690,8 +16743,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497942_1099758_38028.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088566_4363604_28029.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -17013,8 +17066,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497942_4037504_50019.py', '--host', 'http://google.com', '--headless', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088566_66443_226.py', '--host', 'http://google.com', '--headless', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -17333,8 +17386,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497942_6394722_80595.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088566_9006457_98620.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -17648,7 +17701,7 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ['locust', '-f', '-', '--worker'], executable = 'locust' preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None universal_newlines = None, startupinfo = None, creationflags = 0, shell = False @@ -17948,7 +18001,7 @@ assert False, f"locust process never finished: {command}" self.assertNotIn("Traceback", stderr) > self.assertIn("(index 3) reported as ready", stderr) -E AssertionError: '(index 3) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: '(index 3) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:1993: AssertionError ____________ DistributedIntegrationTests.test_processes_autodetect _____________ @@ -17973,7 +18026,7 @@ assert False, f"locust process never finished: {command}" self.assertNotIn("Traceback", stderr) > self.assertIn("(index 0) reported as ready", stderr) -E AssertionError: '(index 0) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: '(index 0) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:2013: AssertionError ______________ DistributedIntegrationTests.test_processes_ctrl_c _______________ @@ -18007,8 +18060,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497943_2026296_63566.py', '--processes', '4', '--headless', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088567_5019512_46626.py', '--processes', '4', '--headless', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -18315,8 +18368,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497943_420231_12968.py', '--processes', '4', '-L', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088567_8206987_94592.py', '--processes', '4', '-L', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -18641,7 +18694,7 @@ self.assertNotIn("Traceback", master_stderr) self.assertNotIn("Gave up waiting for workers to connect", master_stderr) > self.assertIn("(index 3) reported as ready", master_stderr) -E AssertionError: '(index 3) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: 2: from: not found\n/build/reproducible-path/locust-2.24.0/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: '(index 3) reported as ready' not found in '/build/reproducible-path/locust-2.24.0/debian/locust: line 2: from: command not found\n/build/reproducible-path/locust-2.24.0/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:2058: AssertionError ______ DistributedIntegrationTests.test_processes_workers_quit_unexpected ______ @@ -18680,8 +18733,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497943_6836379_15318.py', '--processes', '2', '--worker'] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088568_2116513_6591.py', '--processes', '2', '--worker'] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -19002,8 +19055,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497943_8285775_10789.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088568_3964932_4066.py', '--headless', '--master', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -19320,8 +19373,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1791497943_9731567_22165.py', '--master', '--headless', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/reproducible-path/locust-2.24.0/locust/test/mock_locustfile_1757088568_8604748_96687.py', '--master', '--headless', '--expect-workers', ...] executable = 'locust', preexec_fn = None, close_fds = True, pass_fds = () cwd = None, env = None, universal_newlines = None, startupinfo = None creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -19599,6 +19652,39 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1849: OSError +______________________ TestLocustRunner.test_cpu_warning _______________________ + +self = + + def test_cpu_warning(self): + _monitor_interval = runners.CPU_MONITOR_INTERVAL + runners.CPU_MONITOR_INTERVAL = 2.0 + try: + + class CpuUser(User): + wait_time = constant(0.001) + + @task + def cpu_task(self): + for i in range(1000000): + _ = 3 / 2 + + environment = Environment(user_classes=[CpuUser]) + environment._cpu_warning_event_triggered = False + + def cpu_warning(environment, cpu_usage, **kwargs): + environment._cpu_warning_event_triggered = True + environment._cpu_usage = cpu_usage + + environment.events.cpu_warning.add_listener(cpu_warning) + runner = LocalRunner(environment) + self.assertFalse(runner.cpu_warning_emitted) + runner.spawn_users({CpuUser.__name__: 1}, wait=False) + sleep(2.5) +> self.assertTrue(environment._cpu_warning_event_triggered) +E AssertionError: False is not true + +locust/test/test_runners.py:172: AssertionError ________ TestMasterRunner.test_attributes_populated_when_calling_start _________ self = @@ -19677,14 +19763,24 @@ ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (fake_client2). That's not going to work. WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (fake_client3). That's not going to work. ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (fake_client4). That's not going to work. INFO locust.runners:runners.py:329 Shape test starting. INFO locust.runners:runners.py:337 Shape worker starting INFO locust.runners:runners.py:356 Shape test updating to 5 users at 5.00 spawn rate WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected -WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines -WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines ______________ TestMasterRunner.test_custom_shape_scale_interval _______________ self = @@ -19740,6 +19836,8 @@ INFO locust.runners:runners.py:337 Shape worker starting INFO locust.runners:runners.py:356 Shape test updating to 1 users at 1.00 spawn rate WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines _________________ TestMasterRunner.test_custom_shape_scale_up __________________ self = @@ -19792,6 +19890,11 @@ INFO locust.runners:runners.py:337 Shape worker starting INFO locust.runners:runners.py:356 Shape test updating to 1 users at 1.00 spawn rate WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +INFO locust.runners:runners.py:356 Shape test updating to 1 users at 5.00 spawn rate +WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected _____________ TestMasterRunner.test_last_worker_missing_stops_test _____________ self = @@ -19853,6 +19956,12 @@ WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client1. Asking worker to quit. WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client2. Asking worker to quit. WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client3. Asking worker to quit. +INFO locust.runners:runners.py:933 Worker 0 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 1 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 2 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 3 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 4 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:941 The last worker went missing, stopping test. ____________ TestMasterRunner.test_last_worker_quitting_stops_test _____________ self = @@ -19886,6 +19995,11 @@ WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client1. Asking worker to quit. WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client2. Asking worker to quit. +INFO locust.runners:runners.py:356 Shape test updating to 2 users at 2.00 spawn rate +WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected +INFO locust.runners:runners.py:356 Shape test updating to 2 users at 2.00 spawn rate +WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected +INFO locust.runners:runners.py:342 Shape test stopping ___________ TestMasterRunner.test_master_discard_first_client_ready ____________ self = @@ -19919,7 +20033,7 @@ locust/test/test_runners.py:2162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = , k = 'fake_client' +self = , k = 'fake_client' def __getitem__(self, k: str) -> WorkerNode: > return self._worker_nodes[k] @@ -19928,17 +20042,6 @@ locust/runners.py:636: KeyError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (fake_client). That's not going to work. -INFO locust.runners:runners.py:356 Shape test updating to 2 users at 2.00 spawn rate -WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected -INFO locust.runners:runners.py:356 Shape test updating to 2 users at 2.00 spawn rate -WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected -INFO locust.runners:runners.py:342 Shape test stopping -INFO locust.runners:runners.py:933 Worker 0 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:933 Worker 1 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:933 Worker 2 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:933 Worker 3 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:933 Worker 4 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:941 The last worker went missing, stopping test. INFO locust.runners:runners.py:342 Shape test stopping INFO locust.runners:runners.py:356 Shape test updating to 3 users at 3.00 spawn rate WARNING locust.runners:runners.py:743 You can't start a distributed test before at least one worker processes has connected @@ -19964,8 +20067,8 @@ locust/test/test_runners.py:2998: AssertionError ------------------------------ Captured log call ------------------------------- -INFO locust.runners:runners.py:342 Shape test stopping ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (fake_client). That's not going to work. +INFO locust.runners:runners.py:342 Shape test stopping INFO locust.runners:runners.py:959 Resetting RPC server and all worker connections. ________ TestMasterRunner.test_rebalance_locust_users_on_worker_connect ________ @@ -20347,6 +20450,10 @@ WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client1. Asking worker to quit. WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client2. Asking worker to quit. WARNING locust.runners:runners.py:1115 Got spawning message from unknown worker fake_client3. Asking worker to quit. +INFO locust.runners:runners.py:933 Worker 1 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 2 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:933 Worker 3 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:941 The last worker went missing, stopping test. ___________ TestMasterRunner.test_worker_sends_bad_message_to_master ___________ self = @@ -20393,6 +20500,487 @@ locust/test/test_runners.py:3194: AssertionError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (zeh_fake_client1). That's not going to work. +_____________ TestWorkerRunner.test_worker_messages_sent_to_master _____________ + +self = + + def test_worker_messages_sent_to_master(self): + """ + Ensure that worker includes both "user_count" and "user_classes_count" + when reporting to the master. + """ + + class MyUser(User): + wait_time = constant(1) + + def start(self, group: Group): + # We do this so that the spawning does not finish + # too quickly + gevent.sleep(0.1) + return super().start(group) + + @task + def my_task(self): + pass + + with mock.patch("locust.rpc.rpc.Client", mocked_rpc()) as client: + worker = self.get_runner(environment=Environment(), user_classes=[MyUser], client=client) + + client.mocked_send( + Message( + "spawn", + { + "timestamp": 1605538584, + "user_classes_count": {"MyUser": 10}, + "host": "", + "stop_timeout": None, + "parsed_options": {}, + }, + "dummy_client_id", + ) + ) + sleep(0.6) + self.assertEqual(STATE_SPAWNING, worker.state) + worker.spawning_greenlet.join() + self.assertEqual(10, worker.user_count) + + sleep(2) + + message = next((m for m in reversed(client.outbox) if m.type == "stats"), None) + self.assertIsNotNone(message) + self.assertIn("user_count", message.data) + self.assertIn("user_classes_count", message.data) +> self.assertEqual(message.data["user_count"], 10) +E AssertionError: 9 != 10 + +locust/test/test_runners.py:3463: AssertionError +__________________ TestWorkerRunner.test_worker_stop_timeout ___________________ + +self = + + def test_worker_stop_timeout(self): + class MyTestUser(User): + _test_state = 0 + + @task + def the_task(self): + MyTestUser._test_state = 1 + gevent.sleep(0.2) + MyTestUser._test_state = 2 + + with mock.patch("locust.rpc.rpc.Client", mocked_rpc()) as client: + worker = self.get_runner(environment=Environment(), user_classes=[MyTestUser], client=client) + self.assertEqual(1, len(client.outbox)) + self.assertEqual("client_ready", client.outbox[0].type) + client.mocked_send( + Message( + "spawn", + { + "timestamp": 1605538584, + "user_classes_count": {"MyTestUser": 1}, + "host": "", + "stop_timeout": 1, + "parsed_options": {}, + }, + "dummy_client_id", + ) + ) + # wait for worker to spawn locusts + self.assertIn("spawning", [m.type for m in client.outbox]) + worker.spawning_greenlet.join() + self.assertEqual(1, len(worker.user_greenlets)) + # check that locust has started running + gevent.sleep(0.01) + self.assertEqual(1, MyTestUser._test_state) + # send stop message + client.mocked_send(Message("stop", None, "dummy_client_id")) + worker.user_greenlets.join() + # check that locust user got to finish +> self.assertEqual(2, MyTestUser._test_state) +E AssertionError: 2 != 1 + +locust/test/test_runners.py:3284: AssertionError +_____________ TestStopTimeout.test_kill_locusts_with_stop_timeout ______________ + +self = + + def test_kill_locusts_with_stop_timeout(self): + short_time = 0.05 + + class MyTaskSet(TaskSet): + @task + def my_task(self): + MyTaskSet.state = "first" + gevent.sleep(short_time) + MyTaskSet.state = "second" # should only run when run time + stop_timeout is > short_time + gevent.sleep(short_time) + MyTaskSet.state = "third" # should only run when run time + stop_timeout is > short_time * 2 + + class MyTestUser(User): + tasks = [MyTaskSet] + + environment = create_environment([MyTestUser], mocked_options()) + runner = environment.create_local_runner() + runner.start(1, 1) + gevent.sleep(short_time / 2) + runner.stop_users({MyTestUser.__name__: 1}) +> self.assertEqual("first", MyTaskSet.state) +E AssertionError: 'first' != 'second' +E - first +E + second + +locust/test/test_runners.py:4105: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 1 users at a rate of 1.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 1} (1 total users) +INFO locust.runners:runners.py:141 Resetting stats +______________________ TestStopTimeout.test_stop_timeout _______________________ + +self = + + def test_stop_timeout(self): + short_time = 0.05 + + class MyTaskSet(TaskSet): + @task + def my_task(self): + MyTaskSet.state = "first" + gevent.sleep(short_time) + MyTaskSet.state = "second" # should only run when run time + stop_timeout is > short_time + gevent.sleep(short_time) + MyTaskSet.state = "third" # should only run when run time + stop_timeout is > short_time * 2 + + class MyTestUser(User): + tasks = [MyTaskSet] + + environment = Environment(user_classes=[MyTestUser]) + runner = environment.create_local_runner() + runner.start(1, 1, wait=False) + gevent.sleep(short_time / 2) + runner.quit() +> self.assertEqual("first", MyTaskSet.state) +E AssertionError: 'first' != 'third' +E - first +E + third + +locust/test/test_runners.py:3944: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 1 users at a rate of 1.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 1} (1 total users) +______________ TestStopTimeout.test_stop_timeout_during_on_start _______________ + +self = + + def test_stop_timeout_during_on_start(self): + short_time = 0.05 + + class MyTaskSet(TaskSet): + finished_on_start = False + my_task_run = False + + def on_start(self): + gevent.sleep(short_time) + MyTaskSet.finished_on_start = True + + @task + def my_task(self): + MyTaskSet.my_task_run = True + + class MyTestUser(User): + tasks = [MyTaskSet] + + environment = create_environment([MyTestUser], mocked_options()) + environment.stop_timeout = short_time + runner = environment.create_local_runner() + runner.start(1, 1) + gevent.sleep(short_time / 2) + runner.quit() + + self.assertTrue(MyTaskSet.finished_on_start) +> self.assertFalse(MyTaskSet.my_task_run) +E AssertionError: True is not false + +locust/test/test_runners.py:3996: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 1 users at a rate of 1.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 1} (1 total users) +INFO locust.runners:runners.py:141 Resetting stats +______________ TestStopTimeout.test_stop_timeout_exit_during_wait ______________ + +self = + + def test_stop_timeout_exit_during_wait(self): + short_time = 0.05 + + class MyTaskSet(TaskSet): + @task + def my_task(self): + pass + + class MyTestUser(User): + tasks = [MyTaskSet] + wait_time = constant(1) + + environment = Environment(user_classes=[MyTestUser], stop_timeout=short_time) + runner = environment.create_local_runner() + runner.start(1, 1) + gevent.sleep(short_time) # sleep to make sure locust has had time to start waiting + timeout = gevent.Timeout(short_time) + timeout.start() + try: +> runner.quit() + +locust/test/test_runners.py:4017: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +locust/runners.py:415: in quit + self.stop() +locust/runners.py:562: in stop + super().stop() +locust/runners.py:402: in stop + self.stop_users(self.user_classes_count) +locust/runners.py:284: in stop_users + async_calls_to_stop.join() +/usr/lib/python3/dist-packages/gevent/pool.py:430: in join + result = self._empty_event.wait(timeout=timeout) +src/gevent/event.py:164: in gevent._gevent_cevent.Event.wait + ??? +src/gevent/_abstract_linkable.py:521: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait + ??? +src/gevent/_abstract_linkable.py:487: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:496: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:490: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:442: in gevent._gevent_c_abstract_linkable.AbstractLinkable._AbstractLinkable__wait_to_be_notified + ??? +src/gevent/_abstract_linkable.py:451: in gevent._gevent_c_abstract_linkable.AbstractLinkable._switch_to_hub + ??? +src/gevent/_greenlet_primitives.py:61: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch + ??? +src/gevent/_greenlet_primitives.py:65: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch + ??? +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +> ??? +E gevent.timeout.Timeout: 0.05 seconds + +src/gevent/_gevent_c_greenlet_primitives.pxd:35: Timeout + +During handling of the above exception, another exception occurred: + +self = + + def test_stop_timeout_exit_during_wait(self): + short_time = 0.05 + + class MyTaskSet(TaskSet): + @task + def my_task(self): + pass + + class MyTestUser(User): + tasks = [MyTaskSet] + wait_time = constant(1) + + environment = Environment(user_classes=[MyTestUser], stop_timeout=short_time) + runner = environment.create_local_runner() + runner.start(1, 1) + gevent.sleep(short_time) # sleep to make sure locust has had time to start waiting + timeout = gevent.Timeout(short_time) + timeout.start() + try: + runner.quit() + runner.greenlet.join() + except gevent.Timeout: +> self.fail("Got Timeout exception. Waiting locusts should stop immediately, even when using stop_timeout.") +E AssertionError: Got Timeout exception. Waiting locusts should stop immediately, even when using stop_timeout. + +locust/test/test_runners.py:4020: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 1 users at a rate of 1.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 1} (1 total users) +________ TestStopTimeout.test_stop_timeout_with_interrupt_no_reschedule ________ + +self = + + def test_stop_timeout_with_interrupt_no_reschedule(self): + state = [0] + + class MySubTaskSet(TaskSet): + @task + def a_task(self): + gevent.sleep(0.1) + state[0] = 1 + self.interrupt(reschedule=False) + + class MyTestUser(User): + tasks = [MySubTaskSet] + wait_time = constant(3) + + options = mocked_options() + options.stop_timeout = 0.3 + environment = create_environment([MyTestUser], options) + runner = environment.create_local_runner() + runner.start(1, 1, wait=True) + gevent.sleep(0) + timeout = gevent.Timeout(0.11) + timeout.start() + try: +> runner.quit() + +locust/test/test_runners.py:4077: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +locust/runners.py:415: in quit + self.stop() +locust/runners.py:562: in stop + super().stop() +locust/runners.py:402: in stop + self.stop_users(self.user_classes_count) +locust/runners.py:286: in stop_users + if not stop_group.join(timeout=self.environment.stop_timeout): +/usr/lib/python3/dist-packages/gevent/pool.py:430: in join + result = self._empty_event.wait(timeout=timeout) +src/gevent/event.py:164: in gevent._gevent_cevent.Event.wait + ??? +src/gevent/_abstract_linkable.py:521: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait + ??? +src/gevent/_abstract_linkable.py:487: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:496: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:490: in gevent._gevent_c_abstract_linkable.AbstractLinkable._wait_core + ??? +src/gevent/_abstract_linkable.py:442: in gevent._gevent_c_abstract_linkable.AbstractLinkable._AbstractLinkable__wait_to_be_notified + ??? +src/gevent/_abstract_linkable.py:451: in gevent._gevent_c_abstract_linkable.AbstractLinkable._switch_to_hub + ??? +src/gevent/_greenlet_primitives.py:61: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch + ??? +src/gevent/_greenlet_primitives.py:65: in gevent._gevent_c_greenlet_primitives.SwitchOutGreenletWithLoop.switch + ??? +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +> ??? +E gevent.timeout.Timeout: 0.11 seconds + +src/gevent/_gevent_c_greenlet_primitives.pxd:35: Timeout + +During handling of the above exception, another exception occurred: + +self = + + def test_stop_timeout_with_interrupt_no_reschedule(self): + state = [0] + + class MySubTaskSet(TaskSet): + @task + def a_task(self): + gevent.sleep(0.1) + state[0] = 1 + self.interrupt(reschedule=False) + + class MyTestUser(User): + tasks = [MySubTaskSet] + wait_time = constant(3) + + options = mocked_options() + options.stop_timeout = 0.3 + environment = create_environment([MyTestUser], options) + runner = environment.create_local_runner() + runner.start(1, 1, wait=True) + gevent.sleep(0) + timeout = gevent.Timeout(0.11) + timeout.start() + try: + runner.quit() + runner.greenlet.join() + except gevent.Timeout: +> self.fail("Got Timeout exception. Interrupted locusts should exit immediately during stop_timeout.") +E AssertionError: Got Timeout exception. Interrupted locusts should exit immediately during stop_timeout. + +locust/test/test_runners.py:4080: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 1 users at a rate of 1.00 per second +_______________ TestStopTimeout.test_stop_timeout_with_ramp_down _______________ + +self = + + def test_stop_timeout_with_ramp_down(self): + class MyTaskSet(TaskSet): + @task + def my_task(self): + gevent.sleep(1) + + class MyTestUser(User): + tasks = [MyTaskSet] + + environment = Environment(user_classes=[MyTestUser], stop_timeout=2) + runner = environment.create_local_runner() + + # Start load test, wait for users to start, then trigger ramp down + ts = time.perf_counter() + runner.start(10, 10, wait=False) + runner.spawning_greenlet.join() + delta = time.perf_counter() - ts + self.assertTrue( + 0 <= delta <= 0.05, f"Expected user count to increase to 10 instantaneously, instead it took {delta:f}" + ) + self.assertTrue( + runner.user_count == 10, "User count has not decreased correctly to 2, it is : %i" % runner.user_count + ) + + ts = time.perf_counter() + runner.start(2, 4, wait=False) + runner.spawning_greenlet.join() + delta = time.perf_counter() - ts +> self.assertTrue(2 <= delta <= 2.05, f"Expected user count to decrease to 2 in 2s, instead it took {delta:f}") +E AssertionError: False is not true : Expected user count to decrease to 2 in 2s, instead it took 2.182846 + +locust/test/test_runners.py:4208: AssertionError +------------------------------ Captured log call ------------------------------- +INFO locust.runners:runners.py:499 Ramping to 10 users at a rate of 10.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 10} (10 total users) +INFO locust.runners:runners.py:499 Ramping to 2 users at a rate of 4.00 per second +INFO locust.runners:runners.py:537 All users spawned: {"MyTestUser": 2} (2 total users) +_______________ TestCsvStats.test_csv_stats_writer_full_history ________________ + +self = + + @mock.patch("locust.stats.CSV_STATS_INTERVAL_SEC", new=_TEST_CSV_STATS_INTERVAL_SEC) + def test_csv_stats_writer_full_history(self): + stats_writer = StatsCSVFileWriter( + self.environment, PERCENTILES_TO_REPORT, self.STATS_BASE_NAME, full_history=True + ) + + for i in range(10): + self.runner.stats.log_request("GET", "/", 100, content_length=666) + + greenlet = gevent.spawn(stats_writer) + gevent.sleep(10) + + for i in range(10): + self.runner.stats.log_request("GET", "/", 10, content_length=666) + + gevent.sleep(5) + + gevent.sleep(_TEST_CSV_STATS_INTERVAL_WAIT_SEC) + gevent.kill(greenlet) + stats_writer.close_files() + + self.assertTrue(os.path.exists(self.STATS_FILENAME)) + self.assertTrue(os.path.exists(self.STATS_HISTORY_FILENAME)) + self.assertTrue(os.path.exists(self.STATS_FAILURES_FILENAME)) + self.assertTrue(os.path.exists(self.STATS_EXCEPTIONS_FILENAME)) + + with open(self.STATS_HISTORY_FILENAME) as f: + reader = csv.DictReader(f) + rows = [r for r in reader] + +> self.assertGreaterEqual(len(rows), 130) +E AssertionError: 90 not greater than or equal to 130 + +locust/test/test_stats.py:459: AssertionError _______________________ TestCsvStats.test_stats_history ________________________ self = @@ -20533,7 +21121,7 @@ self.connect_to_master() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = def connect_to_master(self): self.retry += 1 @@ -20558,125 +21146,241 @@ locust/runners.py:1444: ConnectionError ------------------------------ Captured log call ------------------------------- -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 3/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 4/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 5/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 6/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 7/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 8/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 9/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 10/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 11/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 12/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 13/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 14/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 15/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 16/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 17/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 18/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 19/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 20/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 21/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 22/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 23/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 24/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 25/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 26/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. +WARNING root:runners.py:305 CPU usage above 90%! This may constrain your throughput and may even give inconsistent response time measurements! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 27/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 28/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 29/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 30/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 31/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 32/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 33/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 34/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 35/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 36/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 37/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 38/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 39/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 40/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 41/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 42/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 43/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 44/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 45/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 46/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 47/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 48/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 49/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 50/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 51/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 52/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 53/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 54/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 55/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 56/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 57/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 58/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 59/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 60/60. -ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (ionos5-amd64_f5d5af9e883e4833bb4b254a5e56f9d5). That's not going to work. +ERROR locust.runners:runners.py:1009 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_28244293916a4c65b1b620327dcf964f). That's not going to work. WARNING locust.runners:runners.py:1440 Failed to connect to master 127.0.0.1:5558, retry 61/60. ______________ TestCsvStats.test_user_count_in_csv_history_stats _______________ @@ -20715,12 +21419,35 @@ rows = [r for r in reader] > self.assertEqual(2 * user_count, len(rows)) -E AssertionError: 30 != 26 +E AssertionError: 30 != 18 locust/test/test_stats.py:545: AssertionError ------------------------------ Captured log call ------------------------------- INFO locust.runners:runners.py:499 Ramping to 15 users at a rate of 5.00 per second INFO locust.runners:runners.py:537 All users spawned: {"TestUser": 15} (15 total users) +____________________ TestWaitTime.test_constant_throughput _____________________ + +self = + + def test_constant_throughput(self): + class MyUser(User): + wait_time = constant_throughput(10) + + class TS(TaskSet): + pass + + ts = TS(MyUser(self.environment)) + + ts2 = TS(MyUser(self.environment)) + + previous_time = time.perf_counter() + for i in range(7): + ts.wait() + since_last_run = time.perf_counter() - previous_time +> self.assertLess(abs(0.1 - since_last_run), 0.02) +E AssertionError: 0.03963274192065 not less than 0.02 + +locust/test/test_wait_time.py:75: AssertionError =============================== warnings summary =============================== locust/test/test_fasthttp.py::TestFastHttpSsl::test_ssl_request_insecure locust/test/test_web.py::TestWebUIWithTLS::test_index_with_https @@ -20728,8 +21455,8 @@ self._context = SSLContext(ssl_version) locust/test/test_log.py: 4 warnings -locust/test/test_main.py: 38 warnings - /usr/lib/python3/dist-packages/gevent/os.py:431: DeprecationWarning: This process (pid=4182219) is multi-threaded, use of fork() may lead to deadlocks in the child. +locust/test/test_main.py: 28 warnings + /usr/lib/python3/dist-packages/gevent/os.py:431: DeprecationWarning: This process (pid=766534) is multi-threaded, use of fork() may lead to deadlocks in the child. pid = fork() locust/test/test_web.py::TestWebUI::test_html_stats_report @@ -20754,8 +21481,8 @@ -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED locust/test/test_dispatch.py::TestRampUpUsersFromZero::test_ramp_up_users_to_3_workers_with_spawn_rate_of_2 -FAILED locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_4_workers_with_spawn_rate_of_1 -FAILED locust/test/test_dispatch.py::TestAddWorker::test_add_worker_during_ramp_up_with_fixed_user +FAILED locust/test/test_dispatch.py::TestRampDownUsersToZero::test_ramp_down_users_to_3_workers_with_spawn_rate_of_1 +FAILED locust/test/test_dispatch.py::TestLargeScale::test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate FAILED locust/test/test_fasthttp.py::TestFastHttpUserClass::test_max_redirect_setting FAILED locust/test/test_fasthttp.py::TestFastHttpUserClass::test_network_timeout_setting FAILED locust/test/test_load_locustfile.py::TestLoadLocustfile::test_locustfile_from_url @@ -20818,6 +21545,7 @@ FAILED locust/test/test_main.py::DistributedIntegrationTests::test_processes_workers_quit_unexpected FAILED locust/test/test_main.py::DistributedIntegrationTests::test_worker_indexes FAILED locust/test/test_main.py::DistributedIntegrationTests::test_workers_shut_down_if_master_is_gone +FAILED locust/test/test_runners.py::TestLocustRunner::test_cpu_warning - Asse... FAILED locust/test/test_runners.py::TestMasterRunner::test_attributes_populated_when_calling_start FAILED locust/test/test_runners.py::TestMasterRunner::test_custom_shape_scale_down FAILED locust/test/test_runners.py::TestMasterRunner::test_custom_shape_scale_interval @@ -20841,9 +21569,19 @@ FAILED locust/test/test_runners.py::TestMasterRunner::test_worker_missing_after_heartbeat_dead_interval FAILED locust/test/test_runners.py::TestMasterRunner::test_worker_sends_bad_message_to_master FAILED locust/test/test_runners.py::TestMasterRunner::test_worker_sends_unrecognized_message_to_master +FAILED locust/test/test_runners.py::TestWorkerRunner::test_worker_messages_sent_to_master +FAILED locust/test/test_runners.py::TestWorkerRunner::test_worker_stop_timeout +FAILED locust/test/test_runners.py::TestStopTimeout::test_kill_locusts_with_stop_timeout +FAILED locust/test/test_runners.py::TestStopTimeout::test_stop_timeout - Asse... +FAILED locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_during_on_start +FAILED locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_exit_during_wait +FAILED locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt_no_reschedule +FAILED locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_ramp_down +FAILED locust/test/test_stats.py::TestCsvStats::test_csv_stats_writer_full_history FAILED locust/test/test_stats.py::TestCsvStats::test_stats_history - Connecti... FAILED locust/test/test_stats.py::TestCsvStats::test_user_count_in_csv_history_stats -= 90 failed, 458 passed, 1 skipped, 15 deselected, 57 warnings in 563.76s (0:09:23) = +FAILED locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput += 101 failed, 447 passed, 1 skipped, 15 deselected, 47 warnings in 724.27s (0:12:04) = E: pybuild pybuild:389: test: plugin custom failed with: exit code=1: PYTHONPATH=/build/reproducible-path/locust-2.24.0/.pybuild/cpython3_3.13_locust/build python3.13 -m pytest -v --ignore=examples/test_data_management.py -k 'not TestMasterWorkerRunners' dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make[1]: [debian/rules:15: override_dh_auto_test] Error 25 (ignored) @@ -20883,12 +21621,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/751561/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/4150824 and its subdirectories -I: Current time: Thu Oct 8 10:27:24 -12 2026 -I: pbuilder-time-stamp: 1791498444 +I: removing directory /srv/workspace/pbuilder/751561 and its subdirectories +I: Current time: Sat Sep 6 06:19:35 +14 2025 +I: pbuilder-time-stamp: 1757089175