Diff of the two buildlogs: -- --- b1/build.log 2023-05-10 07:51:11.715281189 +0000 +++ b2/build.log 2023-05-10 08:11:35.349726601 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue May 9 18:05:48 -12 2023 -I: pbuilder-time-stamp: 1683698748 +I: Current time: Wed May 10 21:51:50 +14 2023 +I: pbuilder-time-stamp: 1683705110 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -16,7 +16,7 @@ I: copying [./locust_2.12.1.orig.tar.xz] I: copying [./locust_2.12.1-1.debian.tar.xz] I: Extracting source -gpgv: Signature made Fri Dec 23 18:00:51 2022 -12 +gpgv: Signature made Sat Dec 24 20:00:51 2022 +14 gpgv: using RSA key B9FAD3192AF3E4A5309D9D39879F3C993801A94F gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./locust_2.12.1-1.dsc: no acceptable signature found @@ -27,135 +27,167 @@ dpkg-source: info: applying doc-no-cli-output-or-sphinx-search.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/461/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/14176/tmp/hooks/D01_modify_environment starting +debug: Running on ff64a. +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 May 10 21:52 /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/14176/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/14176/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3' - DISTRIBUTION='bookworm' - HOME='/root' - HOST_ARCH='armhf' + 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]="15" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='d908e0df36da48fbaafd2a485a853bb2' - 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='461' - PS1='# ' - PS2='> ' + INVOCATION_ID=f36f93c543114e729828b67ade57c291 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=14176 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.QfjmvESA/pbuilderrc_4mTf --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.QfjmvESA/b1 --logfile b1/build.log locust_2.12.1-1.dsc' - SUDO_GID='116' - SUDO_UID='112' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.QfjmvESA/pbuilderrc_H5oi --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.QfjmvESA/b2 --logfile b2/build.log --extrapackages usrmerge locust_2.12.1-1.dsc' + SUDO_GID=114 + SUDO_UID=109 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux cbxi4b 5.10.0-22-armmp #1 SMP Debian 5.10.178-3 (2023-04-22) armv7l GNU/Linux + Linux i-capture-the-hostname 5.10.0-22-arm64 #1 SMP Debian 5.10.178-3 (2023-04-22) aarch64 GNU/Linux I: ls -l /bin total 5072 - -rwxr-xr-x 1 root root 838488 Apr 23 09:24 bash - -rwxr-xr-x 3 root root 67144 Sep 18 2022 bunzip2 - -rwxr-xr-x 3 root root 67144 Sep 18 2022 bzcat - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep - -rwxr-xr-x 3 root root 67144 Sep 18 2022 bzip2 - -rwxr-xr-x 1 root root 67112 Sep 18 2022 bzip2recover - lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore - -rwxr-xr-x 1 root root 67632 Sep 20 2022 cat - -rwxr-xr-x 1 root root 67676 Sep 20 2022 chgrp - -rwxr-xr-x 1 root root 67644 Sep 20 2022 chmod - -rwxr-xr-x 1 root root 67684 Sep 20 2022 chown - -rwxr-xr-x 1 root root 133532 Sep 20 2022 cp - -rwxr-xr-x 1 root root 132868 Jan 5 01:20 dash - -rwxr-xr-x 1 root root 133220 Sep 20 2022 date - -rwxr-xr-x 1 root root 67732 Sep 20 2022 dd - -rwxr-xr-x 1 root root 68104 Sep 20 2022 df - -rwxr-xr-x 1 root root 133632 Sep 20 2022 dir - -rwxr-xr-x 1 root root 59128 Mar 22 21:02 dmesg - lrwxrwxrwx 1 root root 8 Dec 19 01:33 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Dec 19 01:33 domainname -> hostname - -rwxr-xr-x 1 root root 67560 Sep 20 2022 echo - -rwxr-xr-x 1 root root 41 Jan 24 02:43 egrep - -rwxr-xr-x 1 root root 67548 Sep 20 2022 false - -rwxr-xr-x 1 root root 41 Jan 24 02:43 fgrep - -rwxr-xr-x 1 root root 55748 Mar 22 21:02 findmnt - -rwsr-xr-x 1 root root 26208 Mar 22 20:15 fusermount - -rwxr-xr-x 1 root root 128608 Jan 24 02:43 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 64220 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 67032 Dec 19 01:33 hostname - -rwxr-xr-x 1 root root 67720 Sep 20 2022 ln - -rwxr-xr-x 1 root root 35132 Mar 22 21:51 login - -rwxr-xr-x 1 root root 133632 Sep 20 2022 ls - -rwxr-xr-x 1 root root 136808 Mar 22 21:02 lsblk - -rwxr-xr-x 1 root root 67800 Sep 20 2022 mkdir - -rwxr-xr-x 1 root root 67764 Sep 20 2022 mknod - -rwxr-xr-x 1 root root 67596 Sep 20 2022 mktemp - -rwxr-xr-x 1 root root 38504 Mar 22 21:02 more - -rwsr-xr-x 1 root root 38496 Mar 22 21:02 mount - -rwxr-xr-x 1 root root 9824 Mar 22 21:02 mountpoint - -rwxr-xr-x 1 root root 133532 Sep 20 2022 mv - lrwxrwxrwx 1 root root 8 Dec 19 01:33 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 2 18:25 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 67608 Sep 20 2022 pwd - lrwxrwxrwx 1 root root 4 Apr 23 09:24 rbash -> bash - -rwxr-xr-x 1 root root 67600 Sep 20 2022 readlink - -rwxr-xr-x 1 root root 67672 Sep 20 2022 rm - -rwxr-xr-x 1 root root 67600 Sep 20 2022 rmdir - -rwxr-xr-x 1 root root 67400 Nov 2 2022 run-parts - -rwxr-xr-x 1 root root 133372 Jan 5 07:55 sed - lrwxrwxrwx 1 root root 4 Jan 5 01:20 sh -> dash - -rwxr-xr-x 1 root root 67584 Sep 20 2022 sleep - -rwxr-xr-x 1 root root 67644 Sep 20 2022 stty - -rwsr-xr-x 1 root root 50800 Mar 22 21:02 su - -rwxr-xr-x 1 root root 67584 Sep 20 2022 sync - -rwxr-xr-x 1 root root 336764 Apr 6 02:25 tar - -rwxr-xr-x 1 root root 67144 Nov 2 2022 tempfile - -rwxr-xr-x 1 root root 133224 Sep 20 2022 touch - -rwxr-xr-x 1 root root 67548 Sep 20 2022 true - -rwxr-xr-x 1 root root 9768 Mar 22 20:15 ulockmgr_server - -rwsr-xr-x 1 root root 22108 Mar 22 21:02 umount - -rwxr-xr-x 1 root root 67572 Sep 20 2022 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 133632 Sep 20 2022 vdir - -rwxr-xr-x 1 root root 42608 Mar 22 21:02 wdctl - lrwxrwxrwx 1 root root 8 Dec 19 01:33 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/461/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 838488 Apr 24 11:24 bash + -rwxr-xr-x 3 root root 67144 Sep 19 2022 bunzip2 + -rwxr-xr-x 3 root root 67144 Sep 19 2022 bzcat + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Sep 19 2022 bzdiff + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4893 Nov 28 2021 bzexe + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Sep 19 2022 bzgrep + -rwxr-xr-x 3 root root 67144 Sep 19 2022 bzip2 + -rwxr-xr-x 1 root root 67112 Sep 19 2022 bzip2recover + lrwxrwxrwx 1 root root 6 Sep 19 2022 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Sep 19 2022 bzmore + -rwxr-xr-x 1 root root 67632 Sep 21 2022 cat + -rwxr-xr-x 1 root root 67676 Sep 21 2022 chgrp + -rwxr-xr-x 1 root root 67644 Sep 21 2022 chmod + -rwxr-xr-x 1 root root 67684 Sep 21 2022 chown + -rwxr-xr-x 1 root root 133532 Sep 21 2022 cp + -rwxr-xr-x 1 root root 132868 Jan 6 03:20 dash + -rwxr-xr-x 1 root root 133220 Sep 21 2022 date + -rwxr-xr-x 1 root root 67732 Sep 21 2022 dd + -rwxr-xr-x 1 root root 68104 Sep 21 2022 df + -rwxr-xr-x 1 root root 133632 Sep 21 2022 dir + -rwxr-xr-x 1 root root 59128 Mar 23 23:02 dmesg + lrwxrwxrwx 1 root root 8 Dec 20 03:33 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Dec 20 03:33 domainname -> hostname + -rwxr-xr-x 1 root root 67560 Sep 21 2022 echo + -rwxr-xr-x 1 root root 41 Jan 25 04:43 egrep + -rwxr-xr-x 1 root root 67548 Sep 21 2022 false + -rwxr-xr-x 1 root root 41 Jan 25 04:43 fgrep + -rwxr-xr-x 1 root root 55748 Mar 23 23:02 findmnt + -rwsr-xr-x 1 root root 26208 Mar 23 22:15 fusermount + -rwxr-xr-x 1 root root 128608 Jan 25 04:43 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 64220 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 67032 Dec 20 03:33 hostname + -rwxr-xr-x 1 root root 67720 Sep 21 2022 ln + -rwxr-xr-x 1 root root 35132 Mar 23 23:51 login + -rwxr-xr-x 1 root root 133632 Sep 21 2022 ls + -rwxr-xr-x 1 root root 136808 Mar 23 23:02 lsblk + -rwxr-xr-x 1 root root 67800 Sep 21 2022 mkdir + -rwxr-xr-x 1 root root 67764 Sep 21 2022 mknod + -rwxr-xr-x 1 root root 67596 Sep 21 2022 mktemp + -rwxr-xr-x 1 root root 38504 Mar 23 23:02 more + -rwsr-xr-x 1 root root 38496 Mar 23 23:02 mount + -rwxr-xr-x 1 root root 9824 Mar 23 23:02 mountpoint + -rwxr-xr-x 1 root root 133532 Sep 21 2022 mv + lrwxrwxrwx 1 root root 8 Dec 20 03:33 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 3 20:25 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 67608 Sep 21 2022 pwd + lrwxrwxrwx 1 root root 4 Apr 24 11:24 rbash -> bash + -rwxr-xr-x 1 root root 67600 Sep 21 2022 readlink + -rwxr-xr-x 1 root root 67672 Sep 21 2022 rm + -rwxr-xr-x 1 root root 67600 Sep 21 2022 rmdir + -rwxr-xr-x 1 root root 67400 Nov 3 2022 run-parts + -rwxr-xr-x 1 root root 133372 Jan 6 09:55 sed + lrwxrwxrwx 1 root root 9 May 10 21:52 sh -> /bin/bash + -rwxr-xr-x 1 root root 67584 Sep 21 2022 sleep + -rwxr-xr-x 1 root root 67644 Sep 21 2022 stty + -rwsr-xr-x 1 root root 50800 Mar 23 23:02 su + -rwxr-xr-x 1 root root 67584 Sep 21 2022 sync + -rwxr-xr-x 1 root root 336764 Apr 7 04:25 tar + -rwxr-xr-x 1 root root 67144 Nov 3 2022 tempfile + -rwxr-xr-x 1 root root 133224 Sep 21 2022 touch + -rwxr-xr-x 1 root root 67548 Sep 21 2022 true + -rwxr-xr-x 1 root root 9768 Mar 23 22:15 ulockmgr_server + -rwsr-xr-x 1 root root 22108 Mar 23 23:02 umount + -rwxr-xr-x 1 root root 67572 Sep 21 2022 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 133632 Sep 21 2022 vdir + -rwxr-xr-x 1 root root 42608 Mar 23 23:02 wdctl + lrwxrwxrwx 1 root root 8 Dec 20 03:33 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 6460 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8103 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/14176/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -344,7 +376,7 @@ Get: 115 http://deb.debian.org/debian bookworm/main armhf python3-retry all 0.9.2-2 [7020 B] Get: 116 http://deb.debian.org/debian bookworm/main armhf python3-roundrobin all 0.0.4-2 [4324 B] Get: 117 http://deb.debian.org/debian bookworm/main armhf python3-zmq armhf 24.0.1-4+b1 [245 kB] -Fetched 37.6 MB in 15s (2513 kB/s) +Fetched 37.6 MB in 3s (11.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package fonts-lato. (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 ... 19329 files and directories currently installed.) @@ -838,10 +870,17 @@ Reading package lists... Building dependency tree... Reading state information... +usrmerge is already the newest version (35). fakeroot is already the newest version (1.31-1.2). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/locust-2.12.1/ && 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.12.1-1_source.changes +I: user script /srv/workspace/pbuilder/14176/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +removed '/etc/unsupported-skip-usrmerge-conversion' +The system has been successfully converted. +I: user script /srv/workspace/pbuilder/14176/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/locust-2.12.1/ && 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.12.1-1_source.changes dpkg-buildpackage: info: source package locust dpkg-buildpackage: info: source version 2.12.1-1 dpkg-buildpackage: info: source distribution unstable @@ -880,73 +919,73 @@ creating build/lib creating build/lib/locust copying locust/_version.py -> build/lib/locust -copying locust/env.py -> build/lib/locust -copying locust/argument_parser.py -> build/lib/locust -copying locust/log.py -> build/lib/locust -copying locust/runners.py -> build/lib/locust copying locust/stats.py -> build/lib/locust -copying locust/__init__.py -> build/lib/locust -copying locust/web.py -> build/lib/locust +copying locust/event.py -> build/lib/locust +copying locust/argument_parser.py -> build/lib/locust +copying locust/main.py -> build/lib/locust copying locust/exception.py -> build/lib/locust copying locust/clients.py -> build/lib/locust -copying locust/event.py -> build/lib/locust -copying locust/dispatch.py -> build/lib/locust +copying locust/log.py -> build/lib/locust copying locust/html.py -> build/lib/locust -copying locust/main.py -> build/lib/locust -copying locust/shape.py -> build/lib/locust copying locust/input_events.py -> build/lib/locust -copying locust/__main__.py -> build/lib/locust copying locust/debug.py -> build/lib/locust -creating build/lib/locust/user -copying locust/user/sequential_taskset.py -> build/lib/locust/user -copying locust/user/__init__.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/inspectuser.py -> build/lib/locust/user -copying locust/user/task.py -> build/lib/locust/user +copying locust/__init__.py -> build/lib/locust +copying locust/dispatch.py -> build/lib/locust +copying locust/web.py -> build/lib/locust +copying locust/__main__.py -> build/lib/locust +copying locust/runners.py -> build/lib/locust +copying locust/shape.py -> build/lib/locust +copying locust/env.py -> build/lib/locust creating build/lib/locust/rpc -copying locust/rpc/__init__.py -> build/lib/locust/rpc -copying locust/rpc/zmqrpc.py -> build/lib/locust/rpc copying locust/rpc/protocol.py -> build/lib/locust/rpc +copying locust/rpc/zmqrpc.py -> build/lib/locust/rpc +copying locust/rpc/__init__.py -> build/lib/locust/rpc creating build/lib/locust/util copying locust/util/rounding.py -> build/lib/locust/util -copying locust/util/__init__.py -> build/lib/locust/util -copying locust/util/cache.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/exception_handler.py -> build/lib/locust/util +copying locust/util/timespan.py -> build/lib/locust/util +copying locust/util/__init__.py -> build/lib/locust/util copying locust/util/load_locustfile.py -> build/lib/locust/util +copying locust/util/deprecation.py -> build/lib/locust/util +copying locust/util/cache.py -> build/lib/locust/util +creating build/lib/locust/contrib +copying locust/contrib/__init__.py -> build/lib/locust/contrib +copying locust/contrib/fasthttp.py -> build/lib/locust/contrib +creating build/lib/locust/user +copying locust/user/__init__.py -> build/lib/locust/user +copying locust/user/task.py -> build/lib/locust/user +copying locust/user/sequential_taskset.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/inspectuser.py -> build/lib/locust/user creating build/lib/locust/test +copying locust/test/test_log.py -> build/lib/locust/test copying locust/test/test_zmqrpc.py -> build/lib/locust/test -copying locust/test/test_web.py -> build/lib/locust/test -copying locust/test/test_load_locustfile.py -> build/lib/locust/test -copying locust/test/test_stats.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_locust_class.py -> build/lib/locust/test -copying locust/test/test_fasthttp.py -> build/lib/locust/test -copying locust/test/test_taskratio.py -> build/lib/locust/test -copying locust/test/test_sequential_taskset.py -> build/lib/locust/test copying locust/test/test_http.py -> build/lib/locust/test -copying locust/test/__init__.py -> build/lib/locust/test -copying locust/test/fake_module2_for_env_test.py -> build/lib/locust/test -copying locust/test/test_main.py -> build/lib/locust/test -copying locust/test/test_log.py -> build/lib/locust/test +copying locust/test/test_fasthttp.py -> build/lib/locust/test +copying locust/test/util.py -> build/lib/locust/test +copying locust/test/test_tags.py -> build/lib/locust/test +copying locust/test/test_users.py -> build/lib/locust/test +copying locust/test/test_load_locustfile.py -> build/lib/locust/test +copying locust/test/test_web.py -> build/lib/locust/test copying locust/test/mock_logging.py -> build/lib/locust/test +copying locust/test/fake_module2_for_env_test.py -> build/lib/locust/test copying locust/test/test_env.py -> build/lib/locust/test -copying locust/test/test_wait_time.py -> build/lib/locust/test -copying locust/test/test_runners.py -> build/lib/locust/test +copying locust/test/test_stats.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_util.py -> build/lib/locust/test +copying locust/test/__init__.py -> build/lib/locust/test +copying locust/test/test_runners.py -> build/lib/locust/test +copying locust/test/fake_module1_for_env_test.py -> build/lib/locust/test copying locust/test/test_old_wait_api.py -> build/lib/locust/test +copying locust/test/test_util.py -> build/lib/locust/test +copying locust/test/test_wait_time.py -> build/lib/locust/test copying locust/test/test_parser.py -> build/lib/locust/test -copying locust/test/test_tags.py -> build/lib/locust/test +copying locust/test/test_main.py -> build/lib/locust/test +copying locust/test/test_locust_class.py -> build/lib/locust/test +copying locust/test/test_taskratio.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/testcases.py -> build/lib/locust/test -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/test/test_sequential_taskset.py -> build/lib/locust/test running egg_info creating locust.egg-info writing locust.egg-info/PKG-INFO @@ -1126,110 +1165,110 @@ creating build/bdist.linux-armhf creating build/bdist.linux-armhf/wheel creating build/bdist.linux-armhf/wheel/locust +creating build/bdist.linux-armhf/wheel/locust/rpc +copying build/lib/locust/rpc/protocol.py -> build/bdist.linux-armhf/wheel/locust/rpc +copying build/lib/locust/rpc/zmqrpc.py -> build/bdist.linux-armhf/wheel/locust/rpc +copying build/lib/locust/rpc/__init__.py -> build/bdist.linux-armhf/wheel/locust/rpc copying build/lib/locust/_version.py -> build/bdist.linux-armhf/wheel/locust +creating build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/rounding.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/exception_handler.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/timespan.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/__init__.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/load_locustfile.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/deprecation.py -> build/bdist.linux-armhf/wheel/locust/util +copying build/lib/locust/util/cache.py -> build/bdist.linux-armhf/wheel/locust/util +creating build/bdist.linux-armhf/wheel/locust/contrib +copying build/lib/locust/contrib/__init__.py -> build/bdist.linux-armhf/wheel/locust/contrib +copying build/lib/locust/contrib/fasthttp.py -> build/bdist.linux-armhf/wheel/locust/contrib +copying build/lib/locust/stats.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/event.py -> build/bdist.linux-armhf/wheel/locust creating build/bdist.linux-armhf/wheel/locust/user -copying build/lib/locust/user/sequential_taskset.py -> build/bdist.linux-armhf/wheel/locust/user copying build/lib/locust/user/__init__.py -> build/bdist.linux-armhf/wheel/locust/user -copying build/lib/locust/user/users.py -> build/bdist.linux-armhf/wheel/locust/user +copying build/lib/locust/user/task.py -> build/bdist.linux-armhf/wheel/locust/user +copying build/lib/locust/user/sequential_taskset.py -> build/bdist.linux-armhf/wheel/locust/user copying build/lib/locust/user/wait_time.py -> build/bdist.linux-armhf/wheel/locust/user +copying build/lib/locust/user/users.py -> build/bdist.linux-armhf/wheel/locust/user copying build/lib/locust/user/inspectuser.py -> build/bdist.linux-armhf/wheel/locust/user -copying build/lib/locust/user/task.py -> build/bdist.linux-armhf/wheel/locust/user -copying build/lib/locust/env.py -> build/bdist.linux-armhf/wheel/locust copying build/lib/locust/argument_parser.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/log.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/runners.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/stats.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/__init__.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/web.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/main.py -> build/bdist.linux-armhf/wheel/locust +creating build/bdist.linux-armhf/wheel/locust/templates +copying build/lib/locust/templates/report.html -> build/bdist.linux-armhf/wheel/locust/templates +copying build/lib/locust/templates/stats_data.html -> build/bdist.linux-armhf/wheel/locust/templates +copying build/lib/locust/templates/index.html -> build/bdist.linux-armhf/wheel/locust/templates creating build/bdist.linux-armhf/wheel/locust/static copying build/lib/locust/static/locust.js -> build/bdist.linux-armhf/wheel/locust/static -creating build/bdist.linux-armhf/wheel/locust/static/sass -copying build/lib/locust/static/sass/tables.sass -> build/bdist.linux-armhf/wheel/locust/static/sass -copying build/lib/locust/static/sass/application.sass -> build/bdist.linux-armhf/wheel/locust/static/sass -copying build/lib/locust/static/sass/_base.sass -> build/bdist.linux-armhf/wheel/locust/static/sass -copying build/lib/locust/static/sass/_mixins.sass -> build/bdist.linux-armhf/wheel/locust/static/sass +creating build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/css/tables.css.map -> build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/css/application.css.map -> build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/css/application.css -> build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/css/tables.css -> build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/tasks.js -> build/bdist.linux-armhf/wheel/locust/static copying build/lib/locust/static/jquery.jqote2.min.js -> build/bdist.linux-armhf/wheel/locust/static +copying build/lib/locust/static/echarts.common.min.js -> build/bdist.linux-armhf/wheel/locust/static +copying build/lib/locust/static/jquery.tools.min.js -> build/bdist.linux-armhf/wheel/locust/static creating build/bdist.linux-armhf/wheel/locust/static/img -copying build/lib/locust/static/img/favicon.ico -> build/bdist.linux-armhf/wheel/locust/static/img -copying build/lib/locust/static/img/logo.png -> build/bdist.linux-armhf/wheel/locust/static/img copying build/lib/locust/static/img/ui-screenshot-start-test.png -> build/bdist.linux-armhf/wheel/locust/static/img copying build/lib/locust/static/img/ui-screenshot-charts.png -> build/bdist.linux-armhf/wheel/locust/static/img -copying build/lib/locust/static/img/ui-screenshot-workers.png -> build/bdist.linux-armhf/wheel/locust/static/img copying build/lib/locust/static/img/ui-screenshot-stats.png -> build/bdist.linux-armhf/wheel/locust/static/img -copying build/lib/locust/static/tasks.js -> build/bdist.linux-armhf/wheel/locust/static -copying build/lib/locust/static/echarts.common.min.js -> build/bdist.linux-armhf/wheel/locust/static -copying build/lib/locust/static/jquery-1.11.3.min.js -> build/bdist.linux-armhf/wheel/locust/static -copying build/lib/locust/static/chart.js -> build/bdist.linux-armhf/wheel/locust/static -creating build/bdist.linux-armhf/wheel/locust/static/css -copying build/lib/locust/static/css/application.css -> build/bdist.linux-armhf/wheel/locust/static/css -copying build/lib/locust/static/css/tables.css -> build/bdist.linux-armhf/wheel/locust/static/css -copying build/lib/locust/static/css/tables.css.map -> build/bdist.linux-armhf/wheel/locust/static/css -copying build/lib/locust/static/css/application.css.map -> build/bdist.linux-armhf/wheel/locust/static/css +copying build/lib/locust/static/img/logo.png -> build/bdist.linux-armhf/wheel/locust/static/img +copying build/lib/locust/static/img/ui-screenshot-workers.png -> build/bdist.linux-armhf/wheel/locust/static/img +copying build/lib/locust/static/img/favicon.ico -> build/bdist.linux-armhf/wheel/locust/static/img +creating build/bdist.linux-armhf/wheel/locust/static/sass +copying build/lib/locust/static/sass/tables.sass -> build/bdist.linux-armhf/wheel/locust/static/sass +copying build/lib/locust/static/sass/application.sass -> build/bdist.linux-armhf/wheel/locust/static/sass +copying build/lib/locust/static/sass/_mixins.sass -> build/bdist.linux-armhf/wheel/locust/static/sass +copying build/lib/locust/static/sass/_base.sass -> build/bdist.linux-armhf/wheel/locust/static/sass copying build/lib/locust/static/vintage.js -> build/bdist.linux-armhf/wheel/locust/static -copying build/lib/locust/static/jquery.tools.min.js -> build/bdist.linux-armhf/wheel/locust/static -copying build/lib/locust/py.typed -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/static/chart.js -> build/bdist.linux-armhf/wheel/locust/static +copying build/lib/locust/static/jquery-1.11.3.min.js -> build/bdist.linux-armhf/wheel/locust/static copying build/lib/locust/exception.py -> build/bdist.linux-armhf/wheel/locust copying build/lib/locust/clients.py -> build/bdist.linux-armhf/wheel/locust -creating build/bdist.linux-armhf/wheel/locust/rpc -copying build/lib/locust/rpc/__init__.py -> build/bdist.linux-armhf/wheel/locust/rpc -copying build/lib/locust/rpc/zmqrpc.py -> build/bdist.linux-armhf/wheel/locust/rpc -copying build/lib/locust/rpc/protocol.py -> build/bdist.linux-armhf/wheel/locust/rpc -creating build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/rounding.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/__init__.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/cache.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/timespan.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/deprecation.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/exception_handler.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/util/load_locustfile.py -> build/bdist.linux-armhf/wheel/locust/util -copying build/lib/locust/event.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/dispatch.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/log.py -> build/bdist.linux-armhf/wheel/locust copying build/lib/locust/html.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/input_events.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/debug.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/__init__.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/dispatch.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/web.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/__main__.py -> build/bdist.linux-armhf/wheel/locust creating build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_log.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_zmqrpc.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_web.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_load_locustfile.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_stats.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_users.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/util.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_locust_class.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_fasthttp.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_taskratio.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_sequential_taskset.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_http.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/__init__.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/fake_module2_for_env_test.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_main.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_log.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_fasthttp.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/util.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_tags.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_users.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_load_locustfile.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_web.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/mock_logging.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/fake_module2_for_env_test.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_env.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_wait_time.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_runners.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_stats.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/testcases.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_dispatch.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_util.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/__init__.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_runners.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/fake_module1_for_env_test.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_old_wait_api.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_util.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_wait_time.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/test_parser.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/test_tags.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_main.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_locust_class.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/test/test_taskratio.py -> build/bdist.linux-armhf/wheel/locust/test copying build/lib/locust/test/mock_locustfile.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/fake_module1_for_env_test.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/test/testcases.py -> build/bdist.linux-armhf/wheel/locust/test -copying build/lib/locust/main.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/test/test_sequential_taskset.py -> build/bdist.linux-armhf/wheel/locust/test +copying build/lib/locust/runners.py -> build/bdist.linux-armhf/wheel/locust copying build/lib/locust/shape.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/input_events.py -> build/bdist.linux-armhf/wheel/locust -copying build/lib/locust/__main__.py -> build/bdist.linux-armhf/wheel/locust -creating build/bdist.linux-armhf/wheel/locust/contrib -copying build/lib/locust/contrib/__init__.py -> build/bdist.linux-armhf/wheel/locust/contrib -copying build/lib/locust/contrib/fasthttp.py -> build/bdist.linux-armhf/wheel/locust/contrib -creating build/bdist.linux-armhf/wheel/locust/templates -copying build/lib/locust/templates/index.html -> build/bdist.linux-armhf/wheel/locust/templates -copying build/lib/locust/templates/report.html -> build/bdist.linux-armhf/wheel/locust/templates -copying build/lib/locust/templates/stats_data.html -> build/bdist.linux-armhf/wheel/locust/templates -copying build/lib/locust/debug.py -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/py.typed -> build/bdist.linux-armhf/wheel/locust +copying build/lib/locust/env.py -> build/bdist.linux-armhf/wheel/locust running install_egg_info Copying locust.egg-info to build/bdist.linux-armhf/wheel/locust-0.0.0.egg-info running install_scripts creating build/bdist.linux-armhf/wheel/locust-0.0.0.dist-info/WHEEL -creating '/build/locust-2.12.1/.pybuild/cpython3_3.11_locust/.tmp-7sgfv3be/locust-0.0.0-py3-none-any.whl' and adding 'build/bdist.linux-armhf/wheel' to it +creating '/build/locust-2.12.1/.pybuild/cpython3_3.11_locust/.tmp-ah010yim/locust-0.0.0-py3-none-any.whl' and adding 'build/bdist.linux-armhf/wheel' to it adding 'locust/__init__.py' adding 'locust/__main__.py' adding 'locust/_version.py' @@ -1332,7 +1371,7 @@ make[1]: Entering directory '/build/locust-2.12.1' # 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/locust-2.12.1/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/locust-2.12.1/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:240: PYTHONPATH=/build/locust-2.12.1/.pybuild/cpython3_3.11_locust/build python3.11 -m pytest -v --ignore=examples/test_data_management.py -k 'not TestMasterWorkerRunners' ============================= test session starts ============================== platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack -- /usr/bin/python3.11 @@ -1362,7 +1401,7 @@ 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 FAILED [ 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 FAILED [ 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 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 [ 5%] @@ -1414,7 +1453,7 @@ locust/test/test_fasthttp.py::TestFastHttpSession::test_custom_ssl_context_fail_with_bad_context PASSED [ 14%] locust/test/test_fasthttp.py::TestFastHttpSession::test_custom_ssl_context_passed_correct_to_client_pool PASSED [ 14%] locust/test/test_fasthttp.py::TestFastHttpSession::test_delete PASSED [ 14%] -locust/test/test_fasthttp.py::TestFastHttpSession::test_error_message_with_name_replacement FAILED [ 14%] +locust/test/test_fasthttp.py::TestFastHttpSession::test_error_message_with_name_replacement PASSED [ 14%] locust/test/test_fasthttp.py::TestFastHttpSession::test_get PASSED [ 15%] locust/test/test_fasthttp.py::TestFastHttpSession::test_head PASSED [ 15%] locust/test/test_fasthttp.py::TestFastHttpSession::test_json_payload PASSED [ 15%] @@ -1524,10 +1563,10 @@ locust/test/test_locust_class.py::TestTaskSet::test_wait_function PASSED [ 36%] locust/test/test_locust_class.py::TestLocustClass::test_deprecated_locust_class PASSED [ 36%] locust/test/test_locust_class.py::TestLocustClass::test_locust_forced_stop PASSED [ 36%] -locust/test/test_locust_class.py::TestLocustClass::test_locust_graceful_stop FAILED [ 36%] +locust/test/test_locust_class.py::TestLocustClass::test_locust_graceful_stop PASSED [ 36%] locust/test/test_locust_class.py::TestLocustClass::test_locust_on_start PASSED [ 37%] locust/test/test_locust_class.py::TestLocustClass::test_locust_on_stop PASSED [ 37%] -locust/test/test_locust_class.py::TestLocustClass::test_locust_start FAILED [ 37%] +locust/test/test_locust_class.py::TestLocustClass::test_locust_start PASSED [ 37%] locust/test/test_locust_class.py::TestLocustClass::test_locust_wait PASSED [ 37%] locust/test/test_locust_class.py::TestWebLocustClass::test_client_basic_auth PASSED [ 37%] locust/test/test_locust_class.py::TestWebLocustClass::test_client_delete PASSED [ 38%] @@ -1621,28 +1660,28 @@ locust/test/test_parser.py::TestLocustfileIsDirectory::test_locustfile_is_directory_single_locustfile_without_file_extension PASSED [ 55%] locust/test/test_parser.py::TestLocustfileIsDirectory::test_locustfile_is_directory_true_if_directory PASSED [ 55%] locust/test/test_runners.py::TestLocustRunner::test_attributes_populated_when_calling_start PASSED [ 55%] -locust/test/test_runners.py::TestLocustRunner::test_can_call_stop_endpoint_if_currently_swarming FAILED [ 56%] +locust/test/test_runners.py::TestLocustRunner::test_can_call_stop_endpoint_if_currently_swarming PASSED [ 56%] locust/test/test_runners.py::TestLocustRunner::test_change_user_count_during_spawning PASSED [ 56%] -locust/test/test_runners.py::TestLocustRunner::test_cpu_warning FAILED [ 56%] +locust/test/test_runners.py::TestLocustRunner::test_cpu_warning PASSED [ 56%] locust/test/test_runners.py::TestLocustRunner::test_custom_message PASSED [ 56%] locust/test/test_runners.py::TestLocustRunner::test_host_class_attribute_from_web PASSED [ 56%] locust/test/test_runners.py::TestLocustRunner::test_kill_locusts PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_no_reset_stats PASSED [ 57%] -locust/test/test_runners.py::TestLocustRunner::test_reset_stats FAILED [ 57%] -locust/test/test_runners.py::TestLocustRunner::test_runner_quit_can_run_on_stop_for_multiple_users_concurrently FAILED [ 57%] +locust/test/test_runners.py::TestLocustRunner::test_reset_stats PASSED [ 57%] +locust/test/test_runners.py::TestLocustRunner::test_runner_quit_can_run_on_stop_for_multiple_users_concurrently PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_runner_reference_on_environment PASSED [ 57%] locust/test/test_runners.py::TestLocustRunner::test_start_event PASSED [ 58%] locust/test/test_runners.py::TestLocustRunner::test_stop_event PASSED [ 58%] locust/test/test_runners.py::TestLocustRunner::test_stop_event_quit PASSED [ 58%] locust/test/test_runners.py::TestLocustRunner::test_stop_event_stop_and_quit PASSED [ 58%] locust/test/test_runners.py::TestLocustRunner::test_stop_users_count PASSED [ 58%] -locust/test/test_runners.py::TestLocustRunner::test_stop_users_with_spawn_rate FAILED [ 59%] +locust/test/test_runners.py::TestLocustRunner::test_stop_users_with_spawn_rate PASSED [ 59%] locust/test/test_runners.py::TestLocustRunner::test_stopping_event PASSED [ 59%] -locust/test/test_runners.py::TestLocustRunner::test_swarm_endpoint_is_non_blocking FAILED [ 59%] +locust/test/test_runners.py::TestLocustRunner::test_swarm_endpoint_is_non_blocking PASSED [ 59%] locust/test/test_runners.py::TestLocustRunner::test_target_user_count_is_set_before_ramp_up PASSED [ 59%] locust/test/test_runners.py::TestLocustRunner::test_undefined_custom_message PASSED [ 59%] locust/test/test_runners.py::TestLocustRunner::test_user_classes_count PASSED [ 60%] -locust/test/test_runners.py::TestLocustRunner::test_user_count_starts_from_specified_amount_when_creating_new_test_after_previous_step_has_been_stopped FAILED [ 60%] +locust/test/test_runners.py::TestLocustRunner::test_user_count_starts_from_specified_amount_when_creating_new_test_after_previous_step_has_been_stopped PASSED [ 60%] locust/test/test_runners.py::TestLocustRunner::test_users_can_call_runner_quit_without_deadlocking PASSED [ 60%] locust/test/test_runners.py::TestMasterRunner::test_attributes_populated_when_calling_start FAILED [ 60%] locust/test/test_runners.py::TestMasterRunner::test_custom_message_receive PASSED [ 60%] @@ -1683,24 +1722,24 @@ locust/test/test_runners.py::TestWorkerRunner::test_custom_message_send PASSED [ 67%] locust/test/test_runners.py::TestWorkerRunner::test_reset_rpc_connection_to_master PASSED [ 68%] locust/test/test_runners.py::TestWorkerRunner::test_spawn_message_with_older_timestamp_is_rejected PASSED [ 68%] -locust/test/test_runners.py::TestWorkerRunner::test_start_event FAILED [ 68%] -locust/test/test_runners.py::TestWorkerRunner::test_stop_event FAILED [ 68%] +locust/test/test_runners.py::TestWorkerRunner::test_start_event PASSED [ 68%] +locust/test/test_runners.py::TestWorkerRunner::test_stop_event PASSED [ 68%] locust/test/test_runners.py::TestWorkerRunner::test_undefined_custom_message_receive PASSED [ 68%] locust/test/test_runners.py::TestWorkerRunner::test_worker_connect_failure PASSED [ 69%] locust/test/test_runners.py::TestWorkerRunner::test_worker_connect_success PASSED [ 69%] locust/test/test_runners.py::TestWorkerRunner::test_worker_heartbeat_messages_sent_to_master PASSED [ 69%] locust/test/test_runners.py::TestWorkerRunner::test_worker_messages_sent_to_master PASSED [ 69%] -locust/test/test_runners.py::TestWorkerRunner::test_worker_stop_timeout FAILED [ 69%] +locust/test/test_runners.py::TestWorkerRunner::test_worker_stop_timeout PASSED [ 69%] locust/test/test_runners.py::TestWorkerRunner::test_worker_without_stop_timeout PASSED [ 70%] locust/test/test_runners.py::TestMessageSerializing::test_message_serialize PASSED [ 70%] locust/test/test_runners.py::TestStopTimeout::test_gracefully_handle_exceptions_in_listener PASSED [ 70%] -locust/test/test_runners.py::TestStopTimeout::test_kill_locusts_with_stop_timeout FAILED [ 70%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout FAILED [ 70%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_during_on_start FAILED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_kill_locusts_with_stop_timeout PASSED [ 70%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout PASSED [ 70%] +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_stop_timeout_with_interrupt PASSED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt_no_reschedule FAILED [ 71%] -locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_ramp_down FAILED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_interrupt_no_reschedule PASSED [ 71%] +locust/test/test_runners.py::TestStopTimeout::test_stop_timeout_with_ramp_down PASSED [ 71%] 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 [ 72%] @@ -1736,7 +1775,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 FAILED [ 79%] +locust/test/test_stats.py::TestCsvStats::test_csv_stats_writer_full_history PASSED [ 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%] @@ -1790,8 +1829,8 @@ locust/test/test_util.py::TestRounding::test_rounding_up PASSED [ 89%] locust/test/test_wait_time.py::TestWaitTime::test_between PASSED [ 89%] locust/test/test_wait_time.py::TestWaitTime::test_constant PASSED [ 89%] -locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput FAILED [ 89%] -locust/test/test_wait_time.py::TestWaitTime::test_default_wait_time FAILED [ 90%] +locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput PASSED [ 89%] +locust/test/test_wait_time.py::TestWaitTime::test_default_wait_time PASSED [ 90%] locust/test/test_web.py::TestWebUI::test_exceptions PASSED [ 90%] locust/test/test_web.py::TestWebUI::test_exceptions_csv PASSED [ 90%] locust/test/test_web.py::TestWebUI::test_failure_stats_csv PASSED [ 90%] @@ -1811,7 +1850,7 @@ locust/test/test_web.py::TestWebUI::test_request_stats_with_errors PASSED [ 93%] locust/test/test_web.py::TestWebUI::test_reset_stats PASSED [ 93%] locust/test/test_web.py::TestWebUI::test_stats PASSED [ 93%] -locust/test/test_web.py::TestWebUI::test_stats_cache FAILED [ 94%] +locust/test/test_web.py::TestWebUI::test_stats_cache PASSED [ 94%] locust/test/test_web.py::TestWebUI::test_stats_no_data PASSED [ 94%] locust/test/test_web.py::TestWebUI::test_stats_rounding PASSED [ 94%] locust/test/test_web.py::TestWebUI::test_swarm_custom_argument PASSED [ 94%] @@ -1866,49 +1905,9 @@ # We set the pass criterion to 7000ms, but in real life, the # `_distribute_users` method runs faster than this. > self.assertLessEqual(1000 * delta, 7000) -E AssertionError: 67790.79875303432 not less than or equal to 7000 +E AssertionError: 8843.626898014918 not less than or equal to 7000 locust/test/test_dispatch.py:2072: AssertionError -_ TestLargeScale.test_ramp_down_from_100_000_to_0_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate _ - -self = - - def test_ramp_down_from_100_000_to_0_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, - ]: - initial_user_count = 100_000 - - workers = [WorkerNode(str(i)) for i in range(1000)] - - # Ramp-up - users_dispatcher = UsersDispatcher(worker_nodes=workers, user_classes=user_classes) - users_dispatcher.new_dispatch(target_user_count=initial_user_count, spawn_rate=initial_user_count) - users_dispatcher._wait_between_dispatch = 0 - list(users_dispatcher) - - # Ramp-down - users_dispatcher.new_dispatch(target_user_count=0, spawn_rate=5000) - 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}ms 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 200ms to compute (max = 259.66284493915737ms) - -locust/test/test_dispatch.py:2163: AssertionError _ TestLargeScale.test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate _ self = @@ -1940,31 +1939,9 @@ 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 = 11903.830413008109ms) +E AssertionError: False is not true : One or more dispatch took more than 200s to compute (max = 234.07629306893796ms) locust/test/test_dispatch.py:2094: AssertionError -_________ TestFastHttpSession.test_error_message_with_name_replacement _________ - -self = - - def test_error_message_with_name_replacement(self): - s = self.get_client() - kwargs = {} - - def on_request(**kw): - self.assertIsNotNone(kw["exception"]) - kwargs.update(kw) - - self.environment.events.request.add_listener(on_request) - before_request = time.time() - s.request("get", "/wrong_url/01", name="replaced_url_name", context={"foo": "bar"}) - after_request = time.time() - # self.assertIn("for url: replaced_url_name", str(kwargs["exception"])) # this is actually broken for FastHttpUser right now... - self.assertAlmostEqual(before_request, kwargs["start_time"], delta=0.01) -> self.assertAlmostEqual(after_request, kwargs["start_time"] + kwargs["response_time"] / 1000, delta=0.01) -E AssertionError: 1683701930.7161498 != 1683701930.7024446 within 0.01 delta (0.013705253601074219 difference) - -locust/test/test_fasthttp.py:203: AssertionError ______________ TestFastHttpUserClass.test_client_pool_concurrency ______________ self = @@ -1991,95 +1968,9 @@ after_requests = time.time() expected_delta = 0.4 # 20 requests with concurrency 10 and response time 0.2 > self.assertAlmostEqual(before_requests + expected_delta, after_requests, delta=0.1) -E AssertionError: 1683701972.8074114 != 1683701973.3856802 within 0.1 delta (0.5782687664031982 difference) +E AssertionError: 1683705606.7565298 != 1683705606.8671398 within 0.1 delta (0.1106100082397461 difference) locust/test/test_fasthttp.py:578: AssertionError -__________________ TestLocustClass.test_locust_graceful_stop ___________________ - -self = - - def test_locust_graceful_stop(self): - class TestUser(User): - test_state = 0 - - @task - def t(self): - self.test_state = 1 - sleep(0.1) - self.test_state = 2 - - group = Group() - user = TestUser(self.environment) - greenlet = user.start(group) - sleep(0) - self.assertEqual(1, user.test_state) - - # stop User gracefully - user.stop(force=False) - sleep(0) - # make sure instance is not killed right away - self.assertIn(greenlet, group) - self.assertEqual(1, user.test_state) - sleep(0.2) - # check that locust instance has now died and that the task got to finish -> self.assertEqual(0, len(group)) -E AssertionError: 0 != 1 - -locust/test/test_locust_class.py:543: AssertionError -______________________ TestLocustClass.test_locust_start _______________________ - -self = - - def test_locust_start(self): - class TestUser(User): - wait_time = constant(0.1) - test_state = 0 - - @task - def t(self): - self.test_state = 1 - sleep(0.1) - raise StopUser() - - group = Group() - user = TestUser(self.environment) - greenlet = user.start(group) - sleep(0) - self.assertEqual(1, len(group)) - self.assertIn(greenlet, group) - self.assertEqual(1, user.test_state) - timeout = gevent.Timeout(1) - timeout.start() -> group.join() - -locust/test/test_locust_class.py:516: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -/usr/lib/python3/dist-packages/gevent/pool.py:430: in join - result = self._empty_event.wait(timeout=timeout) -src/gevent/event.py:163: 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.__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: 1 second - -src/gevent/_gevent_c_greenlet_primitives.pxd:35: Timeout _____________________ TestLoggingOptions.test_log_to_file ______________________ self = @@ -2130,8 +2021,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpqhght39l_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmpgwipx3bk_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 @@ -2389,6 +2280,9 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 ____________________ TestLoggingOptions.test_logging_output ____________________ self = @@ -2438,8 +2332,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp897t0qpf_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmp0hzry5_9_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 @@ -2697,6 +2591,9 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 _____________________ TestLoggingOptions.test_skip_logging _____________________ self = @@ -2742,8 +2639,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpknkudp8a_locustfile.py', '-u', '1', '-r', ...] +self = +args = ['locust', '-f', '/tmp/tmp8pf2yf8m_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 @@ -3001,6 +2898,10 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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:324 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 _____________________ ProcessIntegrationTest.test_help_arg _____________________ self = @@ -3021,7 +2922,7 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = , args = ['locust', '--help'] +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, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -3279,6 +3180,9 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 __ StandaloneIntegrationTests.test_autostart_mutliple_locustfiles_with_shape ___ self = @@ -3338,8 +3242,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702255_0910163_46681.py,/tmp/tmp6g3ptct3_locustfile.py', '--web-port', '49219', '--autostart', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705650_1074126_77759.py,/tmp/tmpk3w2k__x_locustfile.py', '--web-port', '37709', '--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 @@ -3597,6 +3501,8 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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 ____________ StandaloneIntegrationTests.test_autostart_w_load_shape ____________ self = @@ -3640,8 +3546,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702257_858905_98756.py', '--web-port', '59359', '--autostart', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705650_5506494_32762.py', '--web-port', '56117', '--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 @@ -3899,6 +3805,9 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 _____________ StandaloneIntegrationTests.test_autostart_w_run_time _____________ self = @@ -3930,8 +3839,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702262_2433364_91074.py', '--web-port', '39991', '-t', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705650_998829_31677.py', '--web-port', '41023', '-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 @@ -4189,6 +4098,8 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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 ____________ StandaloneIntegrationTests.test_autostart_wo_run_time _____________ self = @@ -4216,8 +4127,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702267_3043702_821.py', '--web-port', '54513', '--autostart'] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705651_6329622_81221.py', '--web-port', '40825', '--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 @@ -4475,6 +4386,9 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 _________ StandaloneIntegrationTests.test_command_line_user_selection __________ self = @@ -4530,9 +4444,12 @@ 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/locust-2.12.1/debian/locust: 2: from: not found\n/build/locust-2.12.1/debian/locust: 5: Syntax error: end of file unexpected\n' +E AssertionError: 'User2 is running' not found in '/build/locust-2.12.1/debian/locust: line 2: from: command not found\n/build/locust-2.12.1/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:936: AssertionError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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:324 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 _______________ StandaloneIntegrationTests.test_custom_arguments _______________ self = @@ -4569,8 +4486,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp8yxezipm_locustfile.py', '--custom-string-arg', 'command_line_value', '--web-port', ...] +self = +args = ['locust', '-f', '/tmp/tmp4o_8e26q_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 @@ -4865,8 +4782,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpsxcg5w_m_locustfile.py', '--autostart'] +self = +args = ['locust', '-f', '/tmp/tmpyj77kmm2_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 @@ -5124,6 +5041,8 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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 _______________ StandaloneIntegrationTests.test_custom_exit_code _______________ self = @@ -5155,8 +5074,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp3mhzawom_locustfile.py'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmp_9x2zgxb_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 = 78, errread = 79 @@ -5413,6 +5332,8 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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 ________ StandaloneIntegrationTests.test_default_headless_spawn_options ________ self = @@ -5447,8 +5368,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702281_3298123_5465.py', '--host', 'https://test.com/', '--run-time', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705653_79088_36759.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 @@ -5706,6 +5627,8 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError +------------------------------ Captured log call ------------------------------- +WARNING root:runners.py:324 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 __ StandaloneIntegrationTests.test_default_headless_spawn_options_with_shape ___ self = @@ -5745,8 +5668,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702285_348052_39482.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705654_3162177_17069.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 @@ -6043,8 +5966,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmplfz0af_o_locustfile.py,/tmp/tmpkymis0n6_locustfile.py'] +self = +args = ['locust', '-f', '/tmp/tmpza32_qmk_locustfile.py,/tmp/tmp87fagw5o_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 @@ -6327,8 +6250,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp3hho41yu_locustfile.py,/tmp/tmphb9r8q09_locustfile.py'] +self = +args = ['locust', '-f', '/tmp/tmpydvx1mwf_locustfile.py,/tmp/tmpei25h463_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 @@ -6600,8 +6523,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpte8seph0'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmps70rmjmb'], 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 = 78, errread = 79 @@ -6896,8 +6819,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702298_0842237_29157.py', '--headless', '-t', '1', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705656_330129_40683.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 @@ -7183,8 +7106,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702300_7034414_53186.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705656_765221_48383.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 @@ -7462,7 +7385,7 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = , args = ['locust', '--help'] +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, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -7756,8 +7679,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702308_0519726_32639.py', '--host', 'https://test.com/', '--run-time', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705657_7377658_80650.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 @@ -8074,7 +7997,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/locust-2.12.1/debian/locust: 2: from: not found\n/build/locust-2.12.1/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/locust-2.12.1/debian/locust: line 2: from: command not found\n/build/locust-2.12.1/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:778: AssertionError __ StandaloneIntegrationTests.test_no_error_when_same_userclass_in_two_files ___ @@ -8100,8 +8023,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpy7m2xfbi_locustfile.py,/tmp/tmpcnup4qeq_locustfile.py', '-t', '1', '--headless'] +self = +args = ['locust', '-f', '/tmp/tmp4z2awbbz_locustfile.py,/tmp/tmps7eg0b67_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 @@ -8361,7 +8284,7 @@ /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError ----------------------------- Captured stdout call ----------------------------- -from tmpy7m2xfbi_locustfile import TestUser1 +from tmp4z2awbbz_locustfile import TestUser1 ___ StandaloneIntegrationTests.test_run_autostart_with_multiple_locustfiles ____ @@ -8405,8 +8328,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpe_0fk4qj', '--autostart', '-u', '2', ...] +self = +args = ['locust', '-f', '/tmp/tmpgk2fusa4', '--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 @@ -8706,8 +8629,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpuixj2dhl', '--headless', '-u', '2', ...] +self = +args = ['locust', '-f', '/tmp/tmpgzpqqj7d', '--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 @@ -9023,8 +8946,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702330_4705737_90792.py,/tmp/tmpef10m7ox_locustfile.py', '--host', 'https://test.com/', '--headless', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705666_0427592_24767.py,/tmp/tmprhr7pknw_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 @@ -9302,8 +9225,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmp0ezpk56i_locustfile.py,/tmp/tmpkf1_m5eg_locustfile.py', '--class-picker'] +self = +args = ['locust', '-f', '/tmp/tmpq6xlya11_locustfile.py,/tmp/tmpglr772ac_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 @@ -9593,7 +9516,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/locust-2.12.1/debian/locust: 2: from: not found\n/build/locust-2.12.1/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/locust-2.12.1/debian/locust: line 2: from: command not found\n/build/locust-2.12.1/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:878: AssertionError _____________ StandaloneIntegrationTests.test_spawning_with_fixed ______________ @@ -9652,7 +9575,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/locust-2.12.1/debian/locust: 2: from: not found\n/build/locust-2.12.1/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/locust-2.12.1/debian/locust: line 2: from: command not found\n/build/locust-2.12.1/debian/locust: line 5: syntax error: unexpected end of file\n' locust/test/test_main.py:843: AssertionError _________________ StandaloneIntegrationTests.test_web_options __________________ @@ -9679,8 +9602,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702339_8780954_2525.py', '--web-host', '127.0.0.2', '--web-port', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705667_4790134_42328.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 @@ -9963,8 +9886,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpmv88ie5i_locustfile.py'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpuhguxpfu_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 = 79, errread = 80 @@ -10238,8 +10161,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702345_3903837_4235.py,/build/locust-2.12.1/locust/test/mock_locustfile_1683702345_4038107_27066.py'] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705668_5661545_8813.py,/build/locust-2.12.1/locust/test/mock_locustfile_1683705668_5666842_14049.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 @@ -10513,8 +10436,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/tmp/tmpx3d1id22'], executable = 'locust' +self = +args = ['locust', '-f', '/tmp/tmpvicb0_pn'], 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 = 79, errread = 80 @@ -10817,8 +10740,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702351_7146673_39379.py,/tmp/tmp5datsye9_locustfile.py'] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705669_4590278_68232.py,/tmp/tmp2vrj68qp_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 @@ -11119,8 +11042,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702354_7081077_21601.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705669_9025705_93064.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 @@ -11431,8 +11354,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702357_8679197_92049.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705670_553615_11825.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 @@ -11735,8 +11658,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702361_2020376_92909.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705671_0567791_42107.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 @@ -12046,8 +11969,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702363_6910372_93694.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705671_5016484_29392.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 @@ -12334,8 +12257,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702366_7137077_28514.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705671_9424512_84827.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 @@ -12613,7 +12536,7 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = , args = ['locust', '--help'] +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, p2cread = -1, p2cwrite = -1, c2pread = 11 @@ -12914,8 +12837,8 @@ self._execute_child(args, executable, preexec_fn, close_fds, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = -args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683702374_497216_57871.py', '--headless', '--master', '--expect-workers', ...] +self = +args = ['locust', '-f', '/build/locust-2.12.1/locust/test/mock_locustfile_1683705673_1145718_67473.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 @@ -13173,471 +13096,6 @@ E OSError: [Errno 8] Exec format error: 'locust' /usr/lib/python3/dist-packages/gevent/subprocess.py:1866: OSError -______ TestLocustRunner.test_can_call_stop_endpoint_if_currently_swarming ______ - -self = - - def test_can_call_stop_endpoint_if_currently_swarming(self): - class TestUser1(User): - @task - def my_task(self): - gevent.sleep(600) - - class TestUser2(User): - @task - def my_task(self): - gevent.sleep(600) - - stop_timeout = 5 - env = Environment(user_classes=[TestUser1, TestUser2], stop_timeout=stop_timeout) - local_runner = env.create_local_runner() - web_ui = env.create_web_ui("127.0.0.1", 0) - - gevent.sleep(0.1) - - ts = time.perf_counter() - response = requests.post( - f"http://127.0.0.1:{web_ui.server.server_port}/swarm", - data={"user_count": 20, "spawn_rate": 1, "host": "https://localhost"}, - ) - self.assertEqual(200, response.status_code) -> self.assertTrue(0 <= time.perf_counter() - ts <= 1, "swarm endpoint is blocking") -E AssertionError: False is not true : swarm endpoint is blocking - -locust/test/test_runners.py:685: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 20 users at a rate of 1.00 per second -______________________ 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:162: AssertionError -______________________ TestLocustRunner.test_reset_stats _______________________ - -self = - - def test_reset_stats(self): - class MyUser(User): - @task - class task_set(TaskSet): - @task - def my_task(self): - self.user.environment.events.request.fire( - request_type="GET", - name="/test", - response_time=666, - response_length=1337, - exception=None, - context={}, - ) - # Make sure each user only run this task once during the test - sleep(30) - - environment = Environment(user_classes=[MyUser], reset_stats=True) - runner = LocalRunner(environment) - runner.start(user_count=6, spawn_rate=1, wait=False) - sleep(3) -> self.assertGreaterEqual(runner.stats.get("/test", "GET").num_requests, 3) -E AssertionError: 2 not greater than or equal to 3 - -locust/test/test_runners.py:362: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 6 users at a rate of 1.00 per second -_ TestLocustRunner.test_runner_quit_can_run_on_stop_for_multiple_users_concurrently _ - -self = - - def test_runner_quit_can_run_on_stop_for_multiple_users_concurrently(self): - class BaseUser(User): - stop_count = 0 - - @task - def trigger(self): - pass - - def on_stop(self): - gevent.sleep(0.1) - BaseUser.stop_count += 1 - - runner = Environment(user_classes=[BaseUser]).create_local_runner() - users = runner.spawn_users({BaseUser.__name__: 10}, wait=False) - self.assertEqual(10, len(users)) - timeout = gevent.Timeout(0.3) - timeout.start() - try: -> runner.quit() - -locust/test/test_runners.py:441: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def quit(self) -> None: - """ - Stop any running load test and kill all greenlets for the runner - """ -> self.stop() - -locust/runners.py:425: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def stop(self) -> None: - if self.state == STATE_STOPPED: - return -> super().stop() - -locust/runners.py:570: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def stop(self) -> None: - """ - Stop a running load test by stopping all running users - """ - if self.state == STATE_STOPPED: - return - logger.debug("Stopping all users") - self.environment.events.test_stopping.fire(environment=self.environment) - self.final_user_classes_count = {**self.user_classes_count} - self.update_state(STATE_CLEANUP) - - # if we are currently spawning users we need to kill the spawning greenlet first - if self.spawning_greenlet and not self.spawning_greenlet.ready(): - self.spawning_greenlet.kill(block=True) - - if self.environment.shape_class is not None and self.shape_greenlet is not greenlet.getcurrent(): - # If the test was not started yet and locust is - # stopped/quit, shape_greenlet will be None. - if self.shape_greenlet is not None: - self.shape_greenlet.kill(block=True) - self.shape_greenlet = None - self.shape_last_tick = None - -> self.stop_users(self.user_classes_count) - -locust/runners.py:412: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = -user_classes_stop_count = {'BaseUser': 10} - - def stop_users(self, user_classes_stop_count: Dict[str, int]) -> None: - async_calls_to_stop = Group() - stop_group = Group() - - for user_class, stop_count in user_classes_stop_count.items(): - if self.user_classes_count[user_class] == 0: - continue - - to_stop: List[greenlet.greenlet] = [] - for user_greenlet in self.user_greenlets: - if len(to_stop) == stop_count: - break - try: - user = user_greenlet.args[0] - except IndexError: - logger.error( - "While stopping users, we encountered a user that didn't have proper args %s", user_greenlet - ) - continue - if type(user) == self.user_classes_by_name[user_class]: - to_stop.append(user) - - if not to_stop: - continue - - while True: - user_to_stop: User = to_stop.pop() - logger.debug(f"Stopping {user_to_stop.greenlet.name}") - if user_to_stop.greenlet is greenlet.getcurrent(): - # User called runner.quit(), so don't block waiting for killing to finish - user_to_stop.group.killone(user_to_stop.greenlet, block=False) - elif self.environment.stop_timeout: - async_calls_to_stop.add(gevent.spawn_later(0, user_to_stop.stop, force=False)) - stop_group.add(user_to_stop.greenlet) - else: - async_calls_to_stop.add(gevent.spawn_later(0, user_to_stop.stop, force=True)) - if not to_stop: - break - -> async_calls_to_stop.join() - -locust/runners.py:303: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = .BaseUser object at 0xafc3ac50>>(force=True)>}> -timeout = None, raise_error = False - - def join(self, timeout=None, raise_error=False): - """ - Wait for this group to become empty *at least once*. - - If there are no greenlets in the group, returns immediately. - - .. note:: By the time the waiting code (the caller of this - method) regains control, a greenlet may have been added to - this group, and so this object may no longer be empty. (That - is, ``group.join(); assert len(group) == 0`` is not - guaranteed to hold.) This method only guarantees that the group - reached a ``len`` of 0 at some point. - - :keyword bool raise_error: If True (*not* the default), if any - greenlet that finished while the join was in progress raised - an exception, that exception will be raised to the caller of - this method. If multiple greenlets raised exceptions, which - one gets re-raised is not determined. Only greenlets currently - in the group when this method is called are guaranteed to - be checked for exceptions. - - :return bool: A value indicating whether this group became empty. - If the timeout is specified and the group did not become empty - during that timeout, then this will be a false value. Otherwise - it will be a true value. - - .. versionchanged:: 1.2a1 - Add the return value. - """ - greenlets = list(self.greenlets) if raise_error else () -> result = self._empty_event.wait(timeout=timeout) - -/usr/lib/python3/dist-packages/gevent/pool.py:430: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/event.py:163: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:521: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:487: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:496: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:490: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:442: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:451: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_greenlet_primitives.py:61: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_greenlet_primitives.py:65: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? -E gevent.timeout.Timeout: 0.3 seconds - -src/gevent/_gevent_c_greenlet_primitives.pxd:35: Timeout - -During handling of the above exception, another exception occurred: - -self = - - def test_runner_quit_can_run_on_stop_for_multiple_users_concurrently(self): - class BaseUser(User): - stop_count = 0 - - @task - def trigger(self): - pass - - def on_stop(self): - gevent.sleep(0.1) - BaseUser.stop_count += 1 - - runner = Environment(user_classes=[BaseUser]).create_local_runner() - users = runner.spawn_users({BaseUser.__name__: 10}, wait=False) - self.assertEqual(10, len(users)) - timeout = gevent.Timeout(0.3) - timeout.start() - try: - runner.quit() - except gevent.Timeout: -> self.fail("Got Timeout exception, runner must have hung somehow.") -E AssertionError: Got Timeout exception, runner must have hung somehow. - -locust/test/test_runners.py:443: AssertionError -_______________ TestLocustRunner.test_stop_users_with_spawn_rate _______________ - -self = - - def test_stop_users_with_spawn_rate(self): - """ - The spawn rate does not have an effect on the rate at which the users are stopped. - It is expected that the excess users will be stopped as soon as possible in parallel - (while respecting the stop_timeout). - """ - - class MyUser(User): - wait_time = constant(1) - - @task - def my_task(self): - pass - - environment = Environment(user_classes=[MyUser]) - runner = LocalRunner(environment) - - # Start load test, wait for users to start, then trigger ramp down - ts = time.time() - runner.start(10, 10, wait=False) - runner.spawning_greenlet.join() - delta = time.time() - ts -> self.assertTrue( - 0 <= delta <= 0.05, f"Expected user count to increase to 10 instantaneously, instead it took {delta:f}" - ) -E AssertionError: False is not true : Expected user count to increase to 10 instantaneously, instead it took 1.196644 - -locust/test/test_runners.py:471: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 10 users at a rate of 10.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyUser": 10} (10 total users) -_____________ TestLocustRunner.test_swarm_endpoint_is_non_blocking _____________ - -self = - - def test_swarm_endpoint_is_non_blocking(self): - class TestUser1(User): - @task - def my_task(self): - gevent.sleep(600) - - class TestUser2(User): - @task - def my_task(self): - gevent.sleep(600) - - stop_timeout = 0 - env = Environment(user_classes=[TestUser1, TestUser2], stop_timeout=stop_timeout) - local_runner = env.create_local_runner() - web_ui = env.create_web_ui("127.0.0.1", 0) - - gevent.sleep(0.1) - - ts = time.perf_counter() - response = requests.post( - f"http://127.0.0.1:{web_ui.server.server_port}/swarm", - data={"user_count": 20, "spawn_rate": 5, "host": "https://localhost"}, - ) - self.assertEqual(200, response.status_code) -> self.assertTrue(0 <= time.perf_counter() - ts <= 1, "swarm endpoint is blocking") -E AssertionError: False is not true : swarm endpoint is blocking - -locust/test/test_runners.py:647: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:545 All users spawned: {"TestUser1": 10, "TestUser2": 10} (20 total users) -INFO locust.runners:runners.py:507 Ramping to 20 users at a rate of 5.00 per second -_ TestLocustRunner.test_user_count_starts_from_specified_amount_when_creating_new_test_after_previous_step_has_been_stopped _ - -self = - - def test_user_count_starts_from_specified_amount_when_creating_new_test_after_previous_step_has_been_stopped(self): - """Test for https://github.com/locustio/locust/issues/2135""" - - class MyUser1(User): - wait_time = constant(0) - - @task - def my_task(self): - pass - - env = Environment(user_classes=[MyUser1], stop_timeout=0) - local_runner = env.create_local_runner() - web_ui = env.create_web_ui("127.0.0.1", 0) - - gevent.sleep(0.1) - - response = requests.post( - f"http://127.0.0.1:{web_ui.server.server_port}/swarm", - data={"user_count": 20, "spawn_rate": 20, "host": "https://localhost"}, - ) - self.assertEqual(200, response.status_code) - - t0 = time.perf_counter() - while local_runner.user_count != 20: - self.assertTrue(time.perf_counter() - t0 <= 1, local_runner.user_count) - gevent.sleep(0.1) - - response = requests.get( - f"http://127.0.0.1:{web_ui.server.server_port}/stop", - ) - self.assertEqual(200, response.status_code) - - t0 = time.perf_counter() - while local_runner.state != STATE_STOPPED: - self.assertTrue(time.perf_counter() - t0 <= 1, local_runner.state) - gevent.sleep(0.1) - - t0 = time.perf_counter() - response = requests.post( - f"http://127.0.0.1:{web_ui.server.server_port}/swarm", - data={"user_count": 1, "spawn_rate": 1, "host": "https://localhost"}, - ) - self.assertEqual(200, response.status_code) -> self.assertTrue(time.perf_counter() - t0 <= 1, "Stop endpoint should not be blocking") -E AssertionError: False is not true : Stop endpoint should not be blocking - -locust/test/test_runners.py:814: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 20 users at a rate of 20.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyUser1": 20} (20 total users) -INFO locust.runners:runners.py:507 Ramping to 1 users at a rate of 1.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyUser1": 1} (1 total users) ________ TestMasterRunner.test_attributes_populated_when_calling_start _________ self = @@ -13720,6 +13178,30 @@ INFO locust.runners:runners.py:352 Shape worker starting INFO locust.runners:runners.py:372 Shape test updating to 5 users at 5.00 spawn rate WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected +WARNING root:runners.py:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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 = @@ -13772,7 +13254,9 @@ INFO locust.runners:runners.py:352 Shape worker starting INFO locust.runners:runners.py:372 Shape test updating to 1 users at 1.00 spawn rate WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected -INFO locust.runners:runners.py:356 Shape test stopping +WARNING root:runners.py:324 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:324 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:324 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_last_worker_missing_stops_test _____________ self = @@ -13836,14 +13320,14 @@ return self._worker_nodes[k] ~~~~~~~~~~~~~~~~~~^^^ KeyError: 'fake_client1' -2023-05-10T07:10:13Z >> failed with KeyError +2023-05-10T08:02:07Z >> failed with KeyError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client1). That's not going to work. ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client2). That's not going to work. ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client3). That's not going to work. WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected -CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> +CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> Traceback (most recent call last): File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run File "/build/locust-2.12.1/locust/runners.py", line 1088, in client_listener @@ -13853,12 +13337,6 @@ return self._worker_nodes[k] ^^^^^^^^^^^^^^^^^ KeyError: 'fake_client1' -INFO locust.runners:runners.py:957 Worker 0 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 1 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 2 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 3 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 4 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:965 The last worker went missing, stopping test. ____________ TestMasterRunner.test_last_worker_quitting_stops_test _____________ self = @@ -13896,13 +13374,13 @@ return self._worker_nodes[k] ~~~~~~~~~~~~~~~~~~^^^ KeyError: 'fake_client1' -2023-05-10T07:10:26Z >> failed with KeyError +2023-05-10T08:02:08Z >> failed with KeyError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client1). That's not going to work. ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client2). That's not going to work. WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected -CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> +CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> Traceback (most recent call last): File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run File "/build/locust-2.12.1/locust/runners.py", line 1088, in client_listener @@ -13912,6 +13390,9 @@ return self._worker_nodes[k] ^^^^^^^^^^^^^^^^^ KeyError: 'fake_client1' +INFO locust.runners:runners.py:372 Shape test updating to 2 users at 2.00 spawn rate +WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected +INFO locust.runners:runners.py:356 Shape test stopping ___________ TestMasterRunner.test_master_discard_first_client_ready ____________ self = @@ -13945,7 +13426,7 @@ locust/test/test_runners.py:2093: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = , k = 'fake_client' +self = , k = 'fake_client' def __getitem__(self, k: str) -> WorkerNode: > return self._worker_nodes[k] @@ -13954,6 +13435,13 @@ locust/runners.py:644: KeyError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 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 stopping +INFO locust.runners:runners.py:957 Worker 0 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:957 Worker 1 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:957 Worker 2 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:957 Worker 3 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:957 Worker 4 failed to send heartbeat, setting state to missing. +INFO locust.runners:runners.py:965 The last worker went missing, stopping test. ________________ TestMasterRunner.test_master_reset_connection _________________ self = @@ -14250,30 +13738,27 @@ self.assertEqual(1, len(self.mocked_log.error)) self.assertEqual(0, len(master.clients)) server.mocked_send(Message("client_ready", "abcd", "other_version_mismatch_should_just_give_a_warning")) - self.assertEqual(1, len(self.mocked_log.warning)) - self.assertEqual(1, len(master.clients)) - server.mocked_send(Message("client_ready", -1, "version_check_bypass_should_not_warn")) - self.assertEqual(1, len(self.mocked_log.warning)) - self.assertEqual(2, len(master.clients)) - server.mocked_send( - Message("client_ready", __version__ + "1", "difference_in_patch_version_should_not_warn") - ) - self.assertEqual(3, len(master.clients)) > self.assertEqual(1, len(self.mocked_log.warning)) -E AssertionError: 1 != 2 +E AssertionError: 1 != 14 -locust/test/test_runners.py:2042: AssertionError +locust/test/test_runners.py:2033: AssertionError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (1.x_style_client_should_not_be_allowed). That's not going to work. +WARNING root:runners.py:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:1030 A worker (other_version_mismatch_should_just_give_a_warning) running a different version (abcd) connected, master version is INFO locust.runners:runners.py:1041 Worker other_version_mismatch_should_just_give_a_warning (index 0) reported as ready. 1 workers connected. -INFO locust.runners:runners.py:1041 Worker version_check_bypass_should_not_warn (index 1) reported as ready. 2 workers connected. -WARNING locust.runners:runners.py:1030 A worker (difference_in_patch_version_should_not_warn) running a different version (1) connected, master version is -INFO locust.runners:runners.py:1041 Worker difference_in_patch_version_should_not_warn (index 2) reported as ready. 3 workers connected. -INFO locust.runners:runners.py:957 Worker 1 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 2 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:957 Worker 3 failed to send heartbeat, setting state to missing. -INFO locust.runners:runners.py:965 The last worker went missing, stopping test. ______ TestMasterRunner.test_worker_missing_after_heartbeat_dead_interval ______ self = @@ -14339,14 +13824,14 @@ return self._worker_nodes[k] ~~~~~~~~~~~~~~~~~~^^^ KeyError: 'fake_client1' -2023-05-10T07:12:21Z >> failed with KeyError +2023-05-10T08:02:30Z >> failed with KeyError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client1). That's not going to work. ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client2). That's not going to work. ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (fake_client3). That's not going to work. WARNING locust.runners:runners.py:751 You can't start a distributed test before at least one worker processes has connected -CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> +CRITICAL locust.runners:log.py:74 Unhandled exception in greenlet: >> Traceback (most recent call last): File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run File "/build/locust-2.12.1/locust/runners.py", line 1088, in client_listener @@ -14356,6 +13841,10 @@ return self._worker_nodes[k] ^^^^^^^^^^^^^^^^^ KeyError: 'fake_client1' +WARNING root:runners.py:324 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:324 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:324 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:324 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_worker_sends_bad_message_to_master ___________ self = @@ -14379,626 +13868,6 @@ locust/test/test_runners.py:3036: AssertionError ------------------------------ Captured log call ------------------------------- ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (zeh_fake_client1). That's not going to work. -______________________ TestWorkerRunner.test_start_event _______________________ - -self = - - def test_start_event(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: - environment = Environment() - run_count = [0] - - @environment.events.test_start.add_listener - def on_test_start(*args, **kw): - run_count[0] += 1 - - 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": 1605538585, - "user_classes_count": {"MyTestUser": 1}, - "spawn_rate": 1, - "num_users": 1, - "host": "", - "stop_timeout": None, - "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)) - self.assertEqual(1, run_count[0]) - - # check that locust has started running - gevent.sleep(0.01) - self.assertEqual(1, MyTestUser._test_state) - - # change number of users and check that test_start isn't fired again - client.mocked_send( - Message( - "spawn", - { - "timestamp": 1605538586, - "user_classes_count": {"MyTestUser": 1}, - "spawn_rate": 1, - "num_users": 1, - "host": "", - "stop_timeout": None, - "parsed_options": {}, - }, - "dummy_client_id", - ) - ) - self.assertEqual(1, run_count[0]) - - # stop and start to make sure test_start is fired again - client.mocked_send(Message("stop", None, "dummy_client_id")) - client.mocked_send( - Message( - "spawn", - { - "timestamp": 1605538587, - "user_classes_count": {"MyTestUser": 1}, - "spawn_rate": 1, - "num_users": 1, - "host": "", - "stop_timeout": None, - "parsed_options": {}, - }, - "dummy_client_id", - ) - ) - gevent.sleep(0.01) -> self.assertEqual(2, run_count[0]) -E AssertionError: 2 != 1 - -locust/test/test_runners.py:3630: AssertionError -_______________________ TestWorkerRunner.test_stop_event _______________________ - -self = - - def test_stop_event(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: - environment = Environment() - run_count = [0] - - @environment.events.test_stop.add_listener - def on_test_stop(*args, **kw): - run_count[0] += 1 - - 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": 1605538585, - "user_classes_count": {"MyTestUser": 1}, - "spawn_rate": 1, - "num_users": 1, - "host": "", - "stop_timeout": None, - "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) - - # stop and make sure test_stop is fired - client.mocked_send(Message("stop", None, "dummy_client_id")) - gevent.sleep(0.01) -> self.assertEqual(1, run_count[0]) -E AssertionError: 1 != 0 - -locust/test/test_runners.py:3683: 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:3108: 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:3930: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 1 users at a rate of 1.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyTestUser": 1} (1 total users) -INFO locust.runners:runners.py:159 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' != 'second' -E - first -E + second - -locust/test/test_runners.py:3770: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 1 users at a rate of 1.00 per second -INFO locust.runners:runners.py:545 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:3822: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 1 users at a rate of 1.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyTestUser": 1} (1 total users) -INFO locust.runners:runners.py:159 Resetting stats -________ 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) - - environment = create_environment([MyTestUser], mocked_options()) - environment.stop_timeout = 0.3 - 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:3902: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def quit(self) -> None: - """ - Stop any running load test and kill all greenlets for the runner - """ -> self.stop() - -locust/runners.py:425: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def stop(self) -> None: - if self.state == STATE_STOPPED: - return -> super().stop() - -locust/runners.py:570: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = - - def stop(self) -> None: - """ - Stop a running load test by stopping all running users - """ - if self.state == STATE_STOPPED: - return - logger.debug("Stopping all users") - self.environment.events.test_stopping.fire(environment=self.environment) - self.final_user_classes_count = {**self.user_classes_count} - self.update_state(STATE_CLEANUP) - - # if we are currently spawning users we need to kill the spawning greenlet first - if self.spawning_greenlet and not self.spawning_greenlet.ready(): - self.spawning_greenlet.kill(block=True) - - if self.environment.shape_class is not None and self.shape_greenlet is not greenlet.getcurrent(): - # If the test was not started yet and locust is - # stopped/quit, shape_greenlet will be None. - if self.shape_greenlet is not None: - self.shape_greenlet.kill(block=True) - self.shape_greenlet = None - self.shape_last_tick = None - -> self.stop_users(self.user_classes_count) - -locust/runners.py:412: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = -user_classes_stop_count = {'MyTestUser': 1} - - def stop_users(self, user_classes_stop_count: Dict[str, int]) -> None: - async_calls_to_stop = Group() - stop_group = Group() - - for user_class, stop_count in user_classes_stop_count.items(): - if self.user_classes_count[user_class] == 0: - continue - - to_stop: List[greenlet.greenlet] = [] - for user_greenlet in self.user_greenlets: - if len(to_stop) == stop_count: - break - try: - user = user_greenlet.args[0] - except IndexError: - logger.error( - "While stopping users, we encountered a user that didn't have proper args %s", user_greenlet - ) - continue - if type(user) == self.user_classes_by_name[user_class]: - to_stop.append(user) - - if not to_stop: - continue - - while True: - user_to_stop: User = to_stop.pop() - logger.debug(f"Stopping {user_to_stop.greenlet.name}") - if user_to_stop.greenlet is greenlet.getcurrent(): - # User called runner.quit(), so don't block waiting for killing to finish - user_to_stop.group.killone(user_to_stop.greenlet, block=False) - elif self.environment.stop_timeout: - async_calls_to_stop.add(gevent.spawn_later(0, user_to_stop.stop, force=False)) - stop_group.add(user_to_stop.greenlet) - else: - async_calls_to_stop.add(gevent.spawn_later(0, user_to_stop.stop, force=True)) - if not to_stop: - break - - async_calls_to_stop.join() - -> if not stop_group.join(timeout=self.environment.stop_timeout): - -locust/runners.py:305: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = }> -timeout = 0.3, raise_error = False - - def join(self, timeout=None, raise_error=False): - """ - Wait for this group to become empty *at least once*. - - If there are no greenlets in the group, returns immediately. - - .. note:: By the time the waiting code (the caller of this - method) regains control, a greenlet may have been added to - this group, and so this object may no longer be empty. (That - is, ``group.join(); assert len(group) == 0`` is not - guaranteed to hold.) This method only guarantees that the group - reached a ``len`` of 0 at some point. - - :keyword bool raise_error: If True (*not* the default), if any - greenlet that finished while the join was in progress raised - an exception, that exception will be raised to the caller of - this method. If multiple greenlets raised exceptions, which - one gets re-raised is not determined. Only greenlets currently - in the group when this method is called are guaranteed to - be checked for exceptions. - - :return bool: A value indicating whether this group became empty. - If the timeout is specified and the group did not become empty - during that timeout, then this will be a false value. Otherwise - it will be a true value. - - .. versionchanged:: 1.2a1 - Add the return value. - """ - greenlets = list(self.greenlets) if raise_error else () -> result = self._empty_event.wait(timeout=timeout) - -/usr/lib/python3/dist-packages/gevent/pool.py:430: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/event.py:163: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:521: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:487: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:496: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:490: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:442: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_abstract_linkable.py:451: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_greenlet_primitives.py:61: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? - -src/gevent/_greenlet_primitives.py:65: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -> ??? -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) - - environment = create_environment([MyTestUser], mocked_options()) - environment.stop_timeout = 0.3 - 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:3905: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 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}" - ) -E AssertionError: False is not true : Expected user count to increase to 10 instantaneously, instead it took 0.083117 - -locust/test/test_runners.py:4022: AssertionError ------------------------------- Captured log call ------------------------------- -INFO locust.runners:runners.py:507 Ramping to 10 users at a rate of 10.00 per second -INFO locust.runners:runners.py:545 All users spawned: {"MyTestUser": 10} (10 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: 22 not greater than or equal to 130 - -locust/test/test_stats.py:461: AssertionError _______________________ TestCsvStats.test_stats_history ________________________ self = @@ -15139,7 +14008,7 @@ self.connect_to_master() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = def connect_to_master(self): self.retry += 1 @@ -15160,125 +14029,125 @@ locust/runners.py:1396: ConnectionError ------------------------------ Captured log call ------------------------------- -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 3/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 4/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 5/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 6/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 7/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 8/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 9/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 10/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 11/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 12/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 13/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 14/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 15/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 16/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 17/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 18/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 19/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 20/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 21/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 22/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 23/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 24/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 25/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 26/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 27/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 28/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 29/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 30/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 31/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 32/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 33/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 34/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 35/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 36/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 37/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 38/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 39/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 40/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 41/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 42/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 43/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 44/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 45/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 46/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 47/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 48/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 49/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 50/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 51/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 52/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 53/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 54/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 55/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 56/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 57/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 58/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 59/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 60/60. -ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (cbxi4b_e306df06a876476aa5d1f19e28b63dfb). That's not going to work. +ERROR locust.runners:runners.py:1022 An old (pre 2.0) worker tried to connect (i-capture-the-hostname_5138d082e5454d7db7f65387ffec5c2d). That's not going to work. WARNING locust.runners:runners.py:1392 Failed to connect to master 127.0.0.1:5558, retry 61/60. ______________ TestCsvStats.test_user_count_in_csv_history_stats _______________ @@ -15316,74 +14185,64 @@ reader = csv.DictReader(f) rows = [r for r in reader] -> self.assertEqual(2 * user_count, len(rows)) -E AssertionError: 30 != 6 + self.assertEqual(2 * user_count, len(rows)) + for i in range(int(user_count / spawn_rate)): + for _ in range(spawn_rate): + row = rows.pop(0) +> self.assertEqual("%i" % ((i + 1) * spawn_rate), row["User Count"]) +E AssertionError: '5' != '10' +E - 5 +E + 10 -locust/test/test_stats.py:547: AssertionError +locust/test/test_stats.py:551: AssertionError ------------------------------ Captured log call ------------------------------- INFO locust.runners:runners.py:507 Ramping to 15 users at a rate of 5.00 per second +WARNING root:runners.py:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:324 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:545 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: 3.6681413299869745 not less than 0.02 - -locust/test/test_wait_time.py:75: AssertionError -_____________________ TestWaitTime.test_default_wait_time ______________________ - -self = - - def test_default_wait_time(self): - class MyUser(User): - pass # default is wait_time = constant(0) - - class TaskSet1(TaskSet): - pass - - self.assertEqual(0, MyUser(self.environment).wait_time()) - self.assertEqual(0, TaskSet1(MyUser(self.environment)).wait_time()) - taskset = TaskSet1(MyUser(self.environment)) - start_time = time.perf_counter() - taskset.wait() -> self.assertLess(time.perf_counter() - start_time, 0.002) -E AssertionError: 1.2282315089832991 not less than 0.002 - -locust/test/test_wait_time.py:58: AssertionError -__________________________ TestWebUI.test_stats_cache __________________________ - -self = - - def test_stats_cache(self): - self.stats.log_request("GET", "/test", 120, 5612) - response = requests.get("http://127.0.0.1:%i/stats/requests" % self.web_port) - self.assertEqual(200, response.status_code) - data = json.loads(response.text) - self.assertEqual(2, len(data["stats"])) # one entry plus Aggregated - - # add another entry - self.stats.log_request("GET", "/test2", 120, 5612) - data = json.loads(requests.get("http://127.0.0.1:%i/stats/requests" % self.web_port).text) -> self.assertEqual(2, len(data["stats"])) # old value should be cached now -E AssertionError: 2 != 3 - -locust/test/test_web.py:132: AssertionError =============================== warnings summary =============================== locust/test/test_fasthttp.py::TestFastHttpSsl::test_ssl_request_insecure locust/test/test_web.py::TestWebUIWithTLS::test_index_with_https @@ -15400,12 +14259,8 @@ -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED locust/test/test_dispatch.py::TestLargeScale::test_distribute_users - ... -FAILED 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 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::TestFastHttpSession::test_error_message_with_name_replacement FAILED locust/test/test_fasthttp.py::TestFastHttpUserClass::test_client_pool_concurrency -FAILED locust/test/test_locust_class.py::TestLocustClass::test_locust_graceful_stop -FAILED locust/test/test_locust_class.py::TestLocustClass::test_locust_start FAILED locust/test/test_log.py::TestLoggingOptions::test_log_to_file - OSErro... FAILED locust/test/test_log.py::TestLoggingOptions::test_logging_output - OSE... FAILED locust/test/test_log.py::TestLoggingOptions::test_skip_logging - OSErr... @@ -15447,13 +14302,6 @@ FAILED locust/test/test_main.py::DistributedIntegrationTests::test_expect_workers FAILED locust/test/test_main.py::DistributedIntegrationTests::test_help_arg FAILED locust/test/test_main.py::DistributedIntegrationTests::test_worker_indexes -FAILED locust/test/test_runners.py::TestLocustRunner::test_can_call_stop_endpoint_if_currently_swarming -FAILED locust/test/test_runners.py::TestLocustRunner::test_cpu_warning - Asse... -FAILED locust/test/test_runners.py::TestLocustRunner::test_reset_stats - Asse... -FAILED locust/test/test_runners.py::TestLocustRunner::test_runner_quit_can_run_on_stop_for_multiple_users_concurrently -FAILED locust/test/test_runners.py::TestLocustRunner::test_stop_users_with_spawn_rate -FAILED locust/test/test_runners.py::TestLocustRunner::test_swarm_endpoint_is_non_blocking -FAILED locust/test/test_runners.py::TestLocustRunner::test_user_count_starts_from_specified_amount_when_creating_new_test_after_previous_step_has_been_stopped 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_up @@ -15474,21 +14322,9 @@ FAILED locust/test/test_runners.py::TestMasterRunner::test_worker_connect_with_special_versions 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::TestWorkerRunner::test_start_event - Asse... -FAILED locust/test/test_runners.py::TestWorkerRunner::test_stop_event - Asser... -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_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 -FAILED locust/test/test_wait_time.py::TestWaitTime::test_constant_throughput -FAILED locust/test/test_wait_time.py::TestWaitTime::test_default_wait_time - ... -FAILED locust/test/test_web.py::TestWebUI::test_stats_cache - AssertionError:... -==== 89 failed, 413 passed, 15 deselected, 7 warnings in 4316.94s (1:11:56) ==== +==== 66 failed, 436 passed, 15 deselected, 7 warnings in 875.04s (0:14:35) ===== E: pybuild pybuild:388: test: plugin custom failed with: exit code=1: PYTHONPATH=/build/locust-2.12.1/.pybuild/cpython3_3.11_locust/build python3.11 -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.11 returned exit code 13 make[1]: [debian/rules:15: override_dh_auto_test] Error 25 (ignored) @@ -15529,12 +14365,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/14176/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/14176/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/461 and its subdirectories -I: Current time: Tue May 9 19:50:58 -12 2023 -I: pbuilder-time-stamp: 1683705058 +I: removing directory /srv/workspace/pbuilder/14176 and its subdirectories +I: Current time: Wed May 10 22:11:15 +14 2023 +I: pbuilder-time-stamp: 1683706275