Diff of the two buildlogs: -- --- b1/build.log 2025-02-16 00:32:54.483433395 +0000 +++ b2/build.log 2025-02-16 00:38:49.183420538 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Mar 20 18:52:17 -12 2026 -I: pbuilder-time-stamp: 1774075937 +I: Current time: Sun Feb 16 14:32:57 +14 2025 +I: pbuilder-time-stamp: 1739665977 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking alertmanager-irc-relay_0.5.1-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3080171/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/10224/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 16 00:33 /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/10224/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/10224/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='3abcab0576e04ddf863f4a90602635de' - 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='3080171' - PS1='# ' - PS2='> ' + INVOCATION_ID=b0e4b8ad7d194b04b33198d7af360c13 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=10224 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.AnE9KRHA/pbuilderrc_GdZD --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AnE9KRHA/b1 --logfile b1/build.log alertmanager-irc-relay_0.5.1-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.AnE9KRHA/pbuilderrc_AFgn --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AnE9KRHA/b2 --logfile b2/build.log alertmanager-irc-relay_0.5.1-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3080171/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/10224/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -343,7 +375,7 @@ Get: 222 http://deb.debian.org/debian unstable/main amd64 golang-protobuf-extensions-dev all 1.0.4-2 [29.7 kB] Get: 223 http://deb.debian.org/debian unstable/main amd64 golang-uber-automaxprocs-dev all 1.5.3-1 [22.3 kB] Get: 224 http://deb.debian.org/debian unstable/main amd64 golang-github-prometheus-alertmanager-dev all 0.28.0+ds-1 [1135 kB] -Fetched 163 MB in 13s (12.4 MB/s) +Fetched 163 MB in 5s (31.8 MB/s) Preconfiguring packages ... Selecting previously unselected package tzdata. (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 ... 19808 files and directories currently installed.) @@ -1075,8 +1107,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Mar 21 06:54:12 UTC 2026. -Universal Time is now: Sat Mar 21 06:54:12 UTC 2026. +Local time is now: Sun Feb 16 00:36:29 UTC 2025. +Universal Time is now: Sun Feb 16 00:36:29 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up golang-github-cespare-xxhash-dev (2.3.0-1) ... @@ -1260,7 +1292,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/alertmanager-irc-relay-0.5.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 > ../alertmanager-irc-relay_0.5.1-1_source.changes +I: user script /srv/workspace/pbuilder/10224/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/10224/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/alertmanager-irc-relay-0.5.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 > ../alertmanager-irc-relay_0.5.1-1_source.changes dpkg-buildpackage: info: source package alertmanager-irc-relay dpkg-buildpackage: info: source version 0.5.1-1 dpkg-buildpackage: info: source distribution unstable @@ -1278,46 +1314,46 @@ dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging -internal/asan -internal/goarch -internal/coverage/rtcov -internal/goos -internal/profilerecord -container/list -log/internal -math/bits -internal/byteorder -google.golang.org/protobuf/internal/flags -internal/nettrace -log/slog/internal + cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging internal/msan -github.com/fluffle/goirc/logging -encoding -vendor/golang.org/x/crypto/cryptobyte/asn1 -sync/atomic -vendor/golang.org/x/crypto/internal/alias -unicode/utf16 -internal/unsafeheader +internal/goos +internal/godebugs unicode/utf8 internal/itoa internal/runtime/atomic -unicode internal/runtime/syscall -github.com/klauspost/compress/internal/cpuinfo -crypto/internal/boring/sig -internal/godebugs -cmp -internal/runtime/math -internal/abi +math/bits +internal/unsafeheader internal/cpu +unicode +internal/byteorder crypto/internal/fips140/alias -internal/runtime/sys +cmp +internal/coverage/rtcov internal/goexperiment -internal/chacha8rand -crypto/internal/fips140deps/byteorder +container/list +internal/asan +internal/goarch +sync/atomic +internal/profilerecord +crypto/internal/boring/sig +unicode/utf16 +vendor/golang.org/x/crypto/cryptobyte/asn1 +vendor/golang.org/x/crypto/internal/alias +internal/nettrace +encoding crypto/internal/fips140/subtle +crypto/internal/fips140deps/byteorder +internal/abi +internal/chacha8rand +internal/runtime/math +internal/runtime/sys +github.com/fluffle/goirc/logging +log/internal +log/slog/internal +google.golang.org/protobuf/internal/flags google.golang.org/protobuf/internal/set +github.com/klauspost/compress/internal/cpuinfo internal/runtime/exithook internal/bytealg crypto/internal/fips140deps/cpu @@ -1328,74 +1364,73 @@ internal/runtime/maps github.com/klauspost/compress runtime -iter -sync internal/reflectlite +sync +iter crypto/subtle weak runtime/metrics -maps slices +maps errors sort internal/oserror strconv path -internal/bisect -vendor/golang.org/x/net/dns/dnsmessage -io math/rand/v2 +vendor/golang.org/x/net/dns/dnsmessage +internal/bisect +syscall internal/testlog +io +internal/singleflight +unique log/slog/internal/buffer google.golang.org/protobuf/internal/pragma -unique -internal/singleflight -syscall runtime/cgo bytes internal/godebug hash +strings crypto/internal/randutil github.com/beorn7/perks/quantile -strings golang.org/x/text/internal/tag -crypto -hash/fnv -hash/crc32 +crypto/internal/impl net/netip -reflect -vendor/golang.org/x/text/transform -golang.org/x/text/transform crypto/internal/fips140deps/godebug math/rand -crypto/internal/impl +crypto bufio -net/http/internal/ascii +vendor/golang.org/x/text/transform +hash/fnv github.com/munnerz/goautoneg -regexp/syntax +hash/crc32 +net/http/internal/ascii html +golang.org/x/text/transform +reflect +regexp/syntax crypto/internal/fips140 -crypto/tls/internal/fips140tls crypto/internal/fips140/sha256 -crypto/internal/fips140/sha512 crypto/internal/fips140/sha3 +crypto/tls/internal/fips140tls +crypto/internal/fips140/sha512 crypto/internal/fips140/hmac crypto/sha3 +time +internal/syscall/unix +internal/syscall/execenv crypto/internal/fips140/check crypto/internal/fips140hash +regexp +crypto/internal/fips140/nistec/fiat +crypto/internal/fips140/aes crypto/internal/fips140/edwards25519/field crypto/internal/fips140/hkdf crypto/internal/fips140/bigmod -crypto/internal/fips140/nistec/fiat -crypto/internal/fips140/aes crypto/internal/fips140/tls12 crypto/internal/fips140/tls13 -internal/syscall/unix -time -internal/syscall/execenv crypto/internal/fips140/edwards25519 -regexp -crypto/internal/fips140/nistec context io/fs internal/poll @@ -1403,138 +1438,139 @@ embed google.golang.org/protobuf/internal/editiondefaults os +crypto/internal/fips140/nistec internal/fmtsort encoding/binary +vendor/golang.org/x/crypto/internal/poly1305 encoding/base64 github.com/cespare/xxhash -vendor/golang.org/x/crypto/internal/poly1305 github.com/klauspost/compress/internal/snapref golang.org/x/sys/unix encoding/pem crypto/internal/sysrand fmt +path/filepath vendor/golang.org/x/sys/cpu +net google.golang.org/protobuf/internal/detrand -path/filepath io/ioutil github.com/prometheus/procfs/internal/util os/signal -net crypto/internal/entropy crypto/internal/fips140/drbg crypto/internal/fips140/aes/gcm -crypto/internal/fips140only -crypto/internal/fips140/ecdh -crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 crypto/internal/fips140/mlkem crypto/internal/fips140/rsa +crypto/internal/fips140only crypto/md5 crypto/rc4 crypto/cipher -crypto/des -vendor/golang.org/x/crypto/chacha20 -crypto/internal/boring -crypto/aes -crypto/sha512 -crypto/ecdh -crypto/hmac -crypto/sha256 -crypto/sha1 +math/big encoding/hex net/url flag -encoding/json github.com/golang/mock/gomock log -compress/flate -mime/quotedprintable +encoding/json +mime vendor/golang.org/x/net/http2/hpack +mime/quotedprintable net/http/internal +compress/flate +vendor/golang.org/x/text/unicode/norm google.golang.org/protobuf/internal/errors -github.com/prometheus/procfs/internal/fs -mime -google.golang.org/protobuf/internal/version go/token -runtime/debug -github.com/klauspost/compress/fse -text/template/parse -math/big -golang.org/x/text/internal/language -vendor/golang.org/x/text/unicode/norm -gopkg.in/yaml.v2 -golang.org/x/text/unicode/norm -vendor/golang.org/x/crypto/chacha20poly1305 +google.golang.org/protobuf/internal/version google.golang.org/protobuf/encoding/protowire +crypto/internal/fips140/ecdh +crypto/internal/fips140/ecdsa +runtime/debug +github.com/prometheus/procfs/internal/fs google.golang.org/protobuf/reflect/protoreflect +crypto/internal/boring +crypto/des vendor/golang.org/x/text/unicode/bidi -github.com/klauspost/compress/huff0 -github.com/fluffle/goirc/state +vendor/golang.org/x/crypto/chacha20 +crypto/aes +crypto/ecdh +crypto/sha512 +crypto/hmac +crypto/sha1 +vendor/golang.org/x/crypto/chacha20poly1305 +crypto/sha256 +golang.org/x/text/internal/language +golang.org/x/text/unicode/norm +text/template/parse +github.com/klauspost/compress/fse compress/gzip github.com/google/alertmanager-irc-relay/logging +gopkg.in/yaml.v2 +github.com/fluffle/goirc/state +github.com/klauspost/compress/huff0 vendor/golang.org/x/text/secure/bidirule google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/internal/descopts google.golang.org/protobuf/internal/strs google.golang.org/protobuf/internal/encoding/messageset -google.golang.org/protobuf/internal/genid google.golang.org/protobuf/internal/order google.golang.org/protobuf/runtime/protoiface -text/template -google.golang.org/protobuf/internal/encoding/text -golang.org/x/text/internal/language/compact +google.golang.org/protobuf/internal/genid google.golang.org/protobuf/reflect/protoregistry -golang.org/x/text/language +google.golang.org/protobuf/internal/encoding/text vendor/golang.org/x/net/idna +golang.org/x/text/internal/language/compact +text/template google.golang.org/protobuf/proto google.golang.org/protobuf/internal/encoding/defval -crypto/internal/boring/bbig +log/slog +golang.org/x/text/language +google.golang.org/protobuf/internal/filedesc +google.golang.org/protobuf/encoding/protodelim +google.golang.org/protobuf/encoding/prototext +golang.org/x/text/internal crypto/elliptic -crypto/rand +crypto/internal/boring/bbig encoding/asn1 +crypto/rand crypto/dsa +golang.org/x/text/cases crypto/ed25519 crypto/internal/hpke crypto/rsa github.com/klauspost/compress/zstd -log/slog -golang.org/x/text/internal -golang.org/x/text/cases -html/template -google.golang.org/protobuf/encoding/protodelim -google.golang.org/protobuf/encoding/prototext -google.golang.org/protobuf/internal/filedesc -vendor/golang.org/x/crypto/cryptobyte -crypto/x509/pkix github.com/prometheus/alertmanager/featurecontrol github.com/prometheus/common/promslog +vendor/golang.org/x/crypto/cryptobyte +crypto/x509/pkix +html/template crypto/ecdsa google.golang.org/protobuf/internal/encoding/tag google.golang.org/protobuf/internal/impl golang.org/x/net/internal/socks -vendor/golang.org/x/net/http/httpproxy net/textproto +vendor/golang.org/x/net/http/httpproxy github.com/prometheus/procfs crypto/x509 -golang.org/x/net/proxy vendor/golang.org/x/net/http/httpguts +golang.org/x/net/proxy mime/multipart -crypto/tls google.golang.org/protobuf/internal/filetype +crypto/tls google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/types/known/timestamppb github.com/prometheus/client_model/go github.com/prometheus/common/model -github.com/prometheus/common/helpers/templates -github.com/prometheus/client_golang/prometheus/internal github.com/prometheus/alertmanager/pkg/labels +github.com/prometheus/client_golang/prometheus/internal +github.com/prometheus/common/helpers/templates github.com/prometheus/alertmanager/matcher/parse github.com/prometheus/alertmanager/matcher/compat -net/http/httptrace github.com/fluffle/goirc/client +net/http/httptrace net/http -expvar github.com/gorilla/mux +expvar github.com/prometheus/common/expfmt github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil @@ -1545,16 +1581,16 @@ github.com/prometheus/alertmanager/template github.com/google/alertmanager-irc-relay dh_auto_test -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging + cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging === RUN TestBackoffIncreasesAndReachesMax --- PASS: TestBackoffIncreasesAndReachesMax (0.00s) === RUN TestBackoffReset --- PASS: TestBackoffReset (0.00s) === RUN TestBackoffDelayContext -2026/03/20 18:55:25.545835 backoff.go:111: INFO Backoff for 0s starts -2026/03/20 18:55:25.545977 backoff.go:114: INFO Backoff for 0s ends -2026/03/20 18:55:25.545991 backoff.go:111: INFO Backoff for 2ms starts -2026/03/20 18:55:25.545998 backoff.go:116: INFO Backoff for 2ms canceled by context +2025/02/16 14:38:17.157821 backoff.go:111: INFO Backoff for 0s starts +2025/02/16 14:38:17.157945 backoff.go:114: INFO Backoff for 0s ends +2025/02/16 14:38:17.157957 backoff.go:111: INFO Backoff for 2ms starts +2025/02/16 14:38:17.157966 backoff.go:116: INFO Backoff for 2ms canceled by context --- PASS: TestBackoffDelayContext (0.00s) === RUN TestNoConfig --- PASS: TestNoConfig (0.00s) @@ -1573,10 +1609,10 @@ === RUN TestGivenTemplateNotOverwritten --- PASS: TestGivenTemplateNotOverwritten (0.00s) === RUN TestTemplateErrorsCreateRawAlertMsg -2026/03/20 18:55:25.549279 format.go:59: ERROR Could not apply msg template on alert (template: msg:1:18: executing "msg" at : nil is not a command): {"status":"resolved","labels":{"alertname":"airDown","instance":"instance1:3456","job":"air","service":"prometheus","severity":"ticket","zone":"global"},"annotations":{"DESCRIPTION":"service /prometheus has irc gateway down on instance1","SUMMARY":"service /prometheus air down on instance1"},"startsAt":"2017-05-15T13:49:37.834Z","endsAt":"2017-05-15T13:50:37.835Z","generatorURL":"https://prometheus.example.com/prometheus/...","fingerprint":"66214a361160fb6f"} -2026/03/20 18:55:25.549307 format.go:61: WARN Sending raw alert -2026/03/20 18:55:25.549390 format.go:59: ERROR Could not apply msg template on alert (template: msg:1:18: executing "msg" at : nil is not a command): {"status":"resolved","labels":{"alertname":"airDown","instance":"instance2:7890","job":"air","service":"prometheus","severity":"ticket","zone":"global"},"annotations":{"DESCRIPTION":"service /prometheus has irc gateway down on instance2","SUMMARY":"service /prometheus air down on instance2"},"startsAt":"2017-05-15T11:47:37.834Z","endsAt":"2017-05-15T11:48:37.834Z","generatorURL":"https://prometheus.example.com/prometheus/...","fingerprint":"25a874c99325d1ce"} -2026/03/20 18:55:25.549412 format.go:61: WARN Sending raw alert +2025/02/16 14:38:17.161693 format.go:59: ERROR Could not apply msg template on alert (template: msg:1:18: executing "msg" at : nil is not a command): {"status":"resolved","labels":{"alertname":"airDown","instance":"instance1:3456","job":"air","service":"prometheus","severity":"ticket","zone":"global"},"annotations":{"DESCRIPTION":"service /prometheus has irc gateway down on instance1","SUMMARY":"service /prometheus air down on instance1"},"startsAt":"2017-05-15T13:49:37.834Z","endsAt":"2017-05-15T13:50:37.835Z","generatorURL":"https://prometheus.example.com/prometheus/...","fingerprint":"66214a361160fb6f"} +2025/02/16 14:38:17.161724 format.go:61: WARN Sending raw alert +2025/02/16 14:38:17.161769 format.go:59: ERROR Could not apply msg template on alert (template: msg:1:18: executing "msg" at : nil is not a command): {"status":"resolved","labels":{"alertname":"airDown","instance":"instance2:7890","job":"air","service":"prometheus","severity":"ticket","zone":"global"},"annotations":{"DESCRIPTION":"service /prometheus has irc gateway down on instance2","SUMMARY":"service /prometheus air down on instance2"},"startsAt":"2017-05-15T11:47:37.834Z","endsAt":"2017-05-15T11:48:37.834Z","generatorURL":"https://prometheus.example.com/prometheus/...","fingerprint":"25a874c99325d1ce"} +2025/02/16 14:38:17.161779 format.go:61: WARN Sending raw alert --- PASS: TestTemplateErrorsCreateRawAlertMsg (0.00s) === RUN TestAlertsDispatchedOnce --- PASS: TestAlertsDispatchedOnce (0.00s) @@ -1587,481 +1623,475 @@ === RUN TestMultilineTemplates --- PASS: TestMultilineTemplates (0.00s) === RUN TestAlertsDispatched -2026/03/20 18:55:25.550567 http.go:132: INFO Starting HTTP server +2025/02/16 14:38:17.162820 http.go:132: INFO Starting HTTP server --- PASS: TestAlertsDispatched (0.00s) === RUN TestRootReturnsError -2026/03/20 18:55:25.551138 http.go:132: INFO Starting HTTP server +2025/02/16 14:38:17.163259 http.go:132: INFO Starting HTTP server --- PASS: TestRootReturnsError (0.00s) === RUN TestInvalidDataReturnsError -2026/03/20 18:55:25.551407 http.go:132: INFO Starting HTTP server -2026/03/20 18:55:25.551465 http.go:96: ERROR Could not decode request body (invalid character '}' looking for beginning of object key string): {"this is not": "a valid alert",} +2025/02/16 14:38:17.163532 http.go:132: INFO Starting HTTP server +2025/02/16 14:38:17.163581 http.go:96: ERROR Could not decode request body (invalid character '}' looking for beginning of object key string): {"this is not": "a valid alert",} --- PASS: TestInvalidDataReturnsError (0.00s) === RUN TestServerPassword -2026/03/20 18:55:25.551853 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:36243 -2026/03/20 18:55:25.551932 irc.go:302: INFO Connecting to IRC 127.0.0.1:36243 -2026/03/20 18:55:25.551959 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.552002 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:36243. -2026/03/20 18:55:25.552311 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:49316 -2026/03/20 18:55:25.552338 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.552459 irc_server_for_test.go:119: INFO =Server= Received PASS hostsecret -2026/03/20 18:55:25.552485 irc_server_for_test.go:96: INFO =Server= No handler for command 'PASS', skipping -2026/03/20 18:55:25.552492 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.552501 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.552506 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.560694 irc.go:146: INFO Session established -2026/03/20 18:55:25.560787 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.560832 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.560867 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.560948 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.560978 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.561010 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.561052 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2026/03/20 18:55:25.561054 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.561081 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.561100 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.561161 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.561183 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.561246 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.561376 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.561407 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.561439 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestServerPassword (0.01s) +2025/02/16 14:38:17.164066 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43963 +2025/02/16 14:38:17.164119 irc.go:302: INFO Connecting to IRC 127.0.0.1:43963 +2025/02/16 14:38:17.164139 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.164154 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43963. +2025/02/16 14:38:17.164476 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:49522 +2025/02/16 14:38:17.165415 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.165699 irc_server_for_test.go:119: INFO =Server= Received PASS hostsecret +2025/02/16 14:38:17.165719 irc_server_for_test.go:96: INFO =Server= No handler for command 'PASS', skipping +2025/02/16 14:38:17.165729 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.165740 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.165747 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.165831 irc.go:146: INFO Session established +2025/02/16 14:38:17.165871 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.165885 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.165897 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.165947 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.165960 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.165968 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.165996 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.166007 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.166015 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.166025 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.166055 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.166071 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.166157 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.166228 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.166250 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.166275 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestServerPassword (0.00s) === RUN TestSendAlertOnPreJoinedChannel -2026/03/20 18:55:25.561594 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:37433 -2026/03/20 18:55:25.562363 irc.go:302: INFO Connecting to IRC 127.0.0.1:37433 -2026/03/20 18:55:25.562385 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.562401 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:37433. -2026/03/20 18:55:25.562577 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:48750 -2026/03/20 18:55:25.562598 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.562676 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.562704 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.562713 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.562822 irc.go:146: INFO Session established -2026/03/20 18:55:25.562859 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.562874 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.562883 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.562931 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.562943 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.562949 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.562996 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.563003 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.563038 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.563050 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :test message -2026/03/20 18:55:25.563064 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.563070 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.563075 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.563081 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.563105 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.563116 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.563169 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.563218 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.563234 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.563254 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.166420 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:46355 +2025/02/16 14:38:17.166461 irc.go:302: INFO Connecting to IRC 127.0.0.1:46355 +2025/02/16 14:38:17.166475 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.166486 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46355. +2025/02/16 14:38:17.166689 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:52282 +2025/02/16 14:38:17.166751 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.166825 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.166837 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.166849 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.166928 irc.go:146: INFO Session established +2025/02/16 14:38:17.166956 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.166970 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.166980 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.167031 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.167047 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.167055 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.167117 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.167128 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.167178 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.167196 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :test message +2025/02/16 14:38:17.167214 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.167227 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.167236 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.167244 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.167283 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.167297 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.167347 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.167403 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.167425 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.167447 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestSendAlertOnPreJoinedChannel (0.00s) === RUN TestUsePrivmsgToSendAlertOnPreJoinedChannel -2026/03/20 18:55:25.563337 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:44939 -2026/03/20 18:55:25.563369 irc.go:302: INFO Connecting to IRC 127.0.0.1:44939 -2026/03/20 18:55:25.563379 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.563388 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:44939. -2026/03/20 18:55:25.563499 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:42350 -2026/03/20 18:55:25.563555 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.563618 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.563628 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.563634 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.563675 irc.go:146: INFO Session established -2026/03/20 18:55:25.563695 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.563704 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.563712 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.563742 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.563752 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.563757 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.563793 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.563800 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.563823 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.563835 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG #foo :test message -2026/03/20 18:55:25.563848 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.563854 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.563860 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.563865 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.563887 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.563898 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.563936 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.563975 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.563990 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.564005 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.167544 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:40103 +2025/02/16 14:38:17.167575 irc.go:302: INFO Connecting to IRC 127.0.0.1:40103 +2025/02/16 14:38:17.167589 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.167599 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:40103. +2025/02/16 14:38:17.167735 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:60052 +2025/02/16 14:38:17.167802 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.167913 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.167927 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.167935 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.168015 irc.go:146: INFO Session established +2025/02/16 14:38:17.168045 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.168061 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.168071 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.168125 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.168139 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.168147 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.168205 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.168216 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.168255 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.168272 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG #foo :test message +2025/02/16 14:38:17.168291 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.168301 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.168310 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.168318 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.168359 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.168375 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.168423 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.168482 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.168503 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.168525 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestUsePrivmsgToSendAlertOnPreJoinedChannel (0.00s) === RUN TestSendAlertAndJoinChannel -2026/03/20 18:55:25.564074 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:35591 -2026/03/20 18:55:25.564099 irc.go:302: INFO Connecting to IRC 127.0.0.1:35591 -2026/03/20 18:55:25.564109 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.564116 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:35591. -2026/03/20 18:55:25.564217 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:55782 -2026/03/20 18:55:25.564271 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.564326 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.564336 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.564341 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.564381 irc.go:146: INFO Session established -2026/03/20 18:55:25.564403 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.564411 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.564419 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.564448 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.564458 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.564463 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.564481 reconciler.go:249: INFO Request to JOIN new channel #foobar -2026/03/20 18:55:25.564490 reconciler.go:105: INFO Channel #foobar monitor: waiting to join -2026/03/20 18:55:25.564499 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.564507 reconciler.go:114: INFO Channel #foobar monitor: join request sent -2026/03/20 18:55:25.564547 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foobar -2026/03/20 18:55:25.564557 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.564562 irc_server_for_test.go:119: INFO =Server= Received JOIN #foobar -2026/03/20 18:55:25.564699 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.564722 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.564758 reconciler.go:205: INFO Received JOIN confirmation for channel #foobar -2026/03/20 18:55:25.564769 reconciler.go:79: INFO Setting JOIN state on channel #foobar -2026/03/20 18:55:25.564780 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.564793 reconciler.go:118: INFO Channel #foobar monitor: join succeeded -2026/03/20 18:55:25.564868 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foobar :test message -2026/03/20 18:55:25.564909 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.564920 reconciler.go:131: INFO Channel #foobar monitor: context canceled while monitoring -2026/03/20 18:55:25.564922 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.564936 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.564992 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.565012 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.565055 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.565128 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.565150 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.565172 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestSendAlertAndJoinChannel (0.00s) +2025/02/16 14:38:17.168615 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:44243 +2025/02/16 14:38:17.168651 irc.go:302: INFO Connecting to IRC 127.0.0.1:44243 +2025/02/16 14:38:17.168665 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.168679 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:44243. +2025/02/16 14:38:17.168810 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:42342 +2025/02/16 14:38:17.168869 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.168944 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.168957 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.168964 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.169030 irc.go:146: INFO Session established +2025/02/16 14:38:17.169061 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.169073 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.169083 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.169257 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.169317 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.177308 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.177441 reconciler.go:249: INFO Request to JOIN new channel #foobar +2025/02/16 14:38:17.177469 reconciler.go:105: INFO Channel #foobar monitor: waiting to join +2025/02/16 14:38:17.177492 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.177507 reconciler.go:114: INFO Channel #foobar monitor: join request sent +2025/02/16 14:38:17.177587 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foobar +2025/02/16 14:38:17.177602 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.177611 irc_server_for_test.go:119: INFO =Server= Received JOIN #foobar +2025/02/16 14:38:17.177685 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.177713 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.177743 reconciler.go:205: INFO Received JOIN confirmation for channel #foobar +2025/02/16 14:38:17.177753 reconciler.go:79: INFO Setting JOIN state on channel #foobar +2025/02/16 14:38:17.177767 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.177778 reconciler.go:118: INFO Channel #foobar monitor: join succeeded +2025/02/16 14:38:17.177876 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foobar :test message +2025/02/16 14:38:17.177906 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.177918 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.177927 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.177938 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.177971 reconciler.go:131: INFO Channel #foobar monitor: context canceled while monitoring +2025/02/16 14:38:17.177999 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.178018 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.178112 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.178201 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.178226 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.178255 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestSendAlertAndJoinChannel (0.01s) === RUN TestSendAlertDisconnected -2026/03/20 18:55:25.565292 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:36953 -2026/03/20 18:55:25.565343 irc.go:302: INFO Connecting to IRC 127.0.0.1:36953 -2026/03/20 18:55:25.565361 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.565369 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:36953. -2026/03/20 18:55:25.564900 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.565554 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.565548 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:57142 -2026/03/20 18:55:25.565627 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.565645 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.565654 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.565663 irc_test.go:294: INFO =Server= Wait before completing session -2026/03/20 18:55:25.565669 irc_test.go:296: INFO =Server= Completing session -2026/03/20 18:55:25.565763 irc.go:146: INFO Session established -2026/03/20 18:55:25.565822 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.565840 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.565856 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.565901 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.565918 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.565940 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.566004 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.566017 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.566056 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.566069 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :connected test message -2026/03/20 18:55:25.566099 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.566118 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.566126 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.566135 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.566190 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.566210 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.566253 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.566347 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.566375 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.566403 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.178423 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:46705 +2025/02/16 14:38:17.178470 irc.go:302: INFO Connecting to IRC 127.0.0.1:46705 +2025/02/16 14:38:17.178487 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.178501 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46705. +2025/02/16 14:38:17.178717 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:56088 +2025/02/16 14:38:17.178797 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.178902 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.178918 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.178928 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.178938 irc_test.go:294: INFO =Server= Wait before completing session +2025/02/16 14:38:17.178946 irc_test.go:296: INFO =Server= Completing session +2025/02/16 14:38:17.179027 irc.go:146: INFO Session established +2025/02/16 14:38:17.179063 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.179077 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.179090 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.179153 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.179169 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.179178 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.179245 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.179256 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.179300 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.179319 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :connected test message +2025/02/16 14:38:17.179341 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.179351 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.179360 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.179371 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.179416 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.179433 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.179489 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.179561 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.179586 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.179610 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestSendAlertDisconnected (0.00s) === RUN TestReconnect -2026/03/20 18:55:25.566492 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:41965 -2026/03/20 18:55:25.566536 irc.go:302: INFO Connecting to IRC 127.0.0.1:41965 -2026/03/20 18:55:25.566552 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.566562 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:41965. -2026/03/20 18:55:25.566717 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.566817 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:32872 -2026/03/20 18:55:25.566845 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.566855 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.566862 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.566916 irc.go:146: INFO Session established -2026/03/20 18:55:25.566945 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.566958 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.566969 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.567013 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.567028 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.567034 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.567079 irc_server_for_test.go:115: INFO =Server= Could not read from 127.0.0.1:32872: read tcp 127.0.0.1:41965->127.0.0.1:32872: use of closed network connection -2026/03/20 18:55:25.567115 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.567184 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.567198 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.567212 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.567228 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.567238 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.567247 irc.go:302: INFO Connecting to IRC 127.0.0.1:41965 -2026/03/20 18:55:25.567252 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.567261 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:41965. -2026/03/20 18:55:25.567427 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.567446 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:32880 -2026/03/20 18:55:25.567475 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.567497 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.567506 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.567571 irc.go:146: INFO Session established -2026/03/20 18:55:25.567600 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.567612 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.567621 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.567662 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.567679 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.567685 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.567736 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2026/03/20 18:55:25.567749 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.567771 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.567755 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.567792 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.567796 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.567840 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.567859 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.567902 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.567976 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.568000 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.568027 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.179718 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:33425 +2025/02/16 14:38:17.179752 irc.go:302: INFO Connecting to IRC 127.0.0.1:33425 +2025/02/16 14:38:17.179768 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.179780 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33425. +2025/02/16 14:38:17.179933 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:47782 +2025/02/16 14:38:17.180006 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.180096 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.180110 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.180118 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.180178 irc.go:146: INFO Session established +2025/02/16 14:38:17.180207 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.180221 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.180233 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.180287 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.180301 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.180309 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.180381 irc_server_for_test.go:115: INFO =Server= Could not read from 127.0.0.1:47782: read tcp 127.0.0.1:33425->127.0.0.1:47782: use of closed network connection +2025/02/16 14:38:17.180444 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.180511 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.180522 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.180538 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.180555 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.180570 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.180581 irc.go:302: INFO Connecting to IRC 127.0.0.1:33425 +2025/02/16 14:38:17.180588 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.180599 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33425. +2025/02/16 14:38:17.180756 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.180853 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:47786 +2025/02/16 14:38:17.180872 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.180888 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.180896 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.180959 irc.go:146: INFO Session established +2025/02/16 14:38:17.180987 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.181000 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.181011 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.181062 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.181076 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.181084 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.181159 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.181176 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.181183 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.181191 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.181230 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.181257 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.181296 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.181309 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.181321 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.181367 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.181389 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.181472 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestReconnect (0.00s) === RUN TestConnectErrorRetry -2026/03/20 18:55:25.568119 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:39967 -2026/03/20 18:55:25.568160 irc.go:302: INFO Connecting to IRC 127.0.0.1:39967 -2026/03/20 18:55:25.568178 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.568183 fake_delayer.go:45: INFO Waiting StopDelay signal -2026/03/20 18:55:25.568189 fake_delayer.go:47: INFO Received StopDelay signal -2026/03/20 18:55:25.568198 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:39967. -2026/03/20 18:55:25.568323 connection.go:399: INFO irc.Connect(): Performing SSL handshake. -2026/03/20 18:55:25.568343 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36284 -2026/03/20 18:55:25.568374 irc_server_for_test.go:157: INFO =Server= Closing connection early -2026/03/20 18:55:25.568674 irc.go:307: ERROR Could not connect to IRC: EOF -2026/03/20 18:55:25.568690 irc.go:302: INFO Connecting to IRC 127.0.0.1:39967 -2026/03/20 18:55:25.568695 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.568700 fake_delayer.go:45: INFO Waiting StopDelay signal -2026/03/20 18:55:25.568706 fake_delayer.go:47: INFO Received StopDelay signal -2026/03/20 18:55:25.568714 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:39967. -2026/03/20 18:55:25.568833 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36286 -2026/03/20 18:55:25.568866 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.568882 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.568893 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.568837 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.568964 irc.go:146: INFO Session established -2026/03/20 18:55:25.568999 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.569019 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.569028 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.569076 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.569093 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.569100 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.569138 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2026/03/20 18:55:25.569150 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.569156 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.569167 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.569189 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.569191 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.569225 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.569245 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.569300 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.569375 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.569400 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.569429 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestConnectErrorRetry (0.00s) +2025/02/16 14:38:17.181584 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:46829 +2025/02/16 14:38:17.181619 irc.go:302: INFO Connecting to IRC 127.0.0.1:46829 +2025/02/16 14:38:17.181634 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.181641 fake_delayer.go:45: INFO Waiting StopDelay signal +2025/02/16 14:38:17.181648 fake_delayer.go:47: INFO Received StopDelay signal +2025/02/16 14:38:17.181661 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46829. +2025/02/16 14:38:17.185313 connection.go:399: INFO irc.Connect(): Performing SSL handshake. +2025/02/16 14:38:17.185902 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:44906 +2025/02/16 14:38:17.185917 irc_server_for_test.go:157: INFO =Server= Closing connection early +2025/02/16 14:38:17.186038 irc.go:307: ERROR Could not connect to IRC: read tcp 127.0.0.1:44906->127.0.0.1:46829: read: connection reset by peer +2025/02/16 14:38:17.186055 irc.go:302: INFO Connecting to IRC 127.0.0.1:46829 +2025/02/16 14:38:17.186064 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.186073 fake_delayer.go:45: INFO Waiting StopDelay signal +2025/02/16 14:38:17.186082 fake_delayer.go:47: INFO Received StopDelay signal +2025/02/16 14:38:17.186101 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46829. +2025/02/16 14:38:17.186342 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.186477 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:44916 +2025/02/16 14:38:17.186506 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.186522 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.186532 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.186617 irc.go:146: INFO Session established +2025/02/16 14:38:17.186656 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.186672 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.186685 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.186750 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.186766 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.186775 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.186812 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.186826 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.186835 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.186846 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.187036 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.187055 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.187117 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.187188 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.187200 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.187219 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.187239 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.187267 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestConnectErrorRetry (0.01s) === RUN TestIdentify -2026/03/20 18:55:25.569518 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:40633 -2026/03/20 18:55:25.569542 irc.go:302: INFO Connecting to IRC 127.0.0.1:40633 -2026/03/20 18:55:25.569552 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.569559 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:40633. -2026/03/20 18:55:25.569685 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.569681 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36352 -2026/03/20 18:55:25.569713 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.569754 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.569765 irc.go:167: INFO Received NOTICE from NickServ: This nickname is registered. Please choose a different nickname, or identify yourself ktnxbye. -2026/03/20 18:55:25.569779 irc.go:191: INFO Handling NickServ request to IDENTIFY -2026/03/20 18:55:25.569816 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :IDENTIFY nickpassword -2026/03/20 18:55:25.569826 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.569834 irc.go:146: INFO Session established -2026/03/20 18:55:25.569855 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request -2026/03/20 18:55:25.569868 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.569877 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.569885 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.569930 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.569942 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.569949 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.570000 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2026/03/20 18:55:25.570012 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.570019 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.570026 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.576629 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.576651 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.576664 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.576710 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.576716 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.576773 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.576799 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.576827 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestIdentify (0.01s) +2025/02/16 14:38:17.187409 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:35531 +2025/02/16 14:38:17.187451 irc.go:302: INFO Connecting to IRC 127.0.0.1:35531 +2025/02/16 14:38:17.187466 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.187478 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:35531. +2025/02/16 14:38:17.187629 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:41042 +2025/02/16 14:38:17.187727 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.187817 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.187853 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.187915 irc.go:167: INFO Received NOTICE from NickServ: This nickname is registered. Please choose a different nickname, or identify yourself ktnxbye. +2025/02/16 14:38:17.187936 irc.go:191: INFO Handling NickServ request to IDENTIFY +2025/02/16 14:38:17.187969 irc.go:146: INFO Session established +2025/02/16 14:38:17.188014 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request +2025/02/16 14:38:17.188032 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.188045 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.188056 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.188110 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :IDENTIFY nickpassword +2025/02/16 14:38:17.188125 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.188133 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.188142 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.188150 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.188183 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.188194 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.188202 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.188211 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.190183 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.190246 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.190380 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.190492 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.190507 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.190531 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.190556 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.190585 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestIdentify (0.00s) === RUN TestGhost -2026/03/20 18:55:25.576922 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43463 -2026/03/20 18:55:25.576967 irc.go:302: INFO Connecting to IRC 127.0.0.1:43463 -2026/03/20 18:55:25.576984 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.576992 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43463. -2026/03/20 18:55:25.577121 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:53274 -2026/03/20 18:55:25.577137 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.577197 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.577216 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.577314 irc.go:57: INFO Received: ':example.com 433 * foo :nick in use' -2026/03/20 18:55:25.577378 irc_server_for_test.go:119: INFO =Server= Received NICK foo^ -2026/03/20 18:55:25.577465 irc.go:146: INFO Session established -2026/03/20 18:55:25.577510 irc.go:206: INFO My nick is 'foo^', sending GHOST to NickServ to get 'foo' -2026/03/20 18:55:25.577533 irc.go:212: INFO Changing nick to 'foo' -2026/03/20 18:55:25.577546 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request -2026/03/20 18:55:25.577589 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :GHOST foo nickpassword -2026/03/20 18:55:25.577607 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.577613 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.577634 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.577650 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.577676 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.577717 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.577732 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.577751 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.577831 irc.go:296: INFO IRC routine asked to terminate -2026/03/20 18:55:25.577824 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2026/03/20 18:55:25.577848 irc.go:271: INFO IRC client connected, quitting -2026/03/20 18:55:25.577864 irc.go:274: INFO Wait for IRC disconnect to complete -2026/03/20 18:55:25.577905 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.577914 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.577957 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.578026 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.578052 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.578074 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.190767 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:37327 +2025/02/16 14:38:17.190809 irc.go:302: INFO Connecting to IRC 127.0.0.1:37327 +2025/02/16 14:38:17.190826 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.190839 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:37327. +2025/02/16 14:38:17.191018 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:42870 +2025/02/16 14:38:17.191099 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.191196 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.191211 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.191289 irc.go:57: INFO Received: ':example.com 433 * foo :nick in use' +2025/02/16 14:38:17.191326 irc_server_for_test.go:119: INFO =Server= Received NICK foo^ +2025/02/16 14:38:17.191385 irc.go:146: INFO Session established +2025/02/16 14:38:17.191409 irc.go:206: INFO My nick is 'foo^', sending GHOST to NickServ to get 'foo' +2025/02/16 14:38:17.191496 irc.go:212: INFO Changing nick to 'foo' +2025/02/16 14:38:17.191506 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request +2025/02/16 14:38:17.191526 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.191541 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.191552 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.191636 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :GHOST foo nickpassword +2025/02/16 14:38:17.191650 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.191659 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.191669 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.191677 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.191684 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.191719 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.191730 irc.go:296: INFO IRC routine asked to terminate +2025/02/16 14:38:17.191738 irc.go:271: INFO IRC client connected, quitting +2025/02/16 14:38:17.191747 irc.go:274: INFO Wait for IRC disconnect to complete +2025/02/16 14:38:17.191922 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.191941 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.192026 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.192105 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.192132 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.192163 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestGhost (0.00s) === RUN TestStopRunningWhenHalfConnected -2026/03/20 18:55:25.578162 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:45359 -2026/03/20 18:55:25.578203 irc.go:302: INFO Connecting to IRC 127.0.0.1:45359 -2026/03/20 18:55:25.578219 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.578228 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:45359. -2026/03/20 18:55:25.578368 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:37400 -2026/03/20 18:55:25.578378 irc.go:310: INFO Connected to IRC server, waiting to establish session -2026/03/20 18:55:25.578410 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.578424 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.578434 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.578445 irc_test.go:591: INFO =Server= NOT completing session -2026/03/20 18:55:25.578458 irc.go:323: INFO IRC routine asked to terminate -2026/03/20 18:55:25.578461 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.578472 irc.go:282: INFO IRC shutdown complete -2026/03/20 18:55:25.578506 connection.go:466: ERROR irc.recv(): read tcp 127.0.0.1:37400->127.0.0.1:45359: use of closed network connection -2026/03/20 18:55:25.578505 irc_server_for_test.go:113: INFO =Server= Client 127.0.0.1:37400 disconnected -2026/03/20 18:55:25.578529 irc.go:152: INFO Disconnected from IRC -2026/03/20 18:55:25.578583 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.192284 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38157 +2025/02/16 14:38:17.192321 irc.go:302: INFO Connecting to IRC 127.0.0.1:38157 +2025/02/16 14:38:17.192337 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.192354 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38157. +2025/02/16 14:38:17.192515 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:57596 +2025/02/16 14:38:17.192590 irc.go:310: INFO Connected to IRC server, waiting to establish session +2025/02/16 14:38:17.192689 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.192706 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.192715 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.192726 irc_test.go:591: INFO =Server= NOT completing session +2025/02/16 14:38:17.192746 irc.go:323: INFO IRC routine asked to terminate +2025/02/16 14:38:17.192756 irc.go:282: INFO IRC shutdown complete +2025/02/16 14:38:17.192786 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.192834 connection.go:466: ERROR irc.recv(): read tcp 127.0.0.1:57596->127.0.0.1:38157: use of closed network connection +2025/02/16 14:38:17.192854 irc.go:152: INFO Disconnected from IRC +2025/02/16 14:38:17.192883 irc_server_for_test.go:113: INFO =Server= Client 127.0.0.1:57596 disconnected +2025/02/16 14:38:17.192937 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestStopRunningWhenHalfConnected (0.00s) === RUN TestPreJoinChannels -2026/03/20 18:55:25.578712 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38873 -2026/03/20 18:55:25.578743 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38873. -2026/03/20 18:55:25.578873 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:55540 -2026/03/20 18:55:25.578905 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.578920 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.578930 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.579020 reconciler.go:105: INFO Channel #baz monitor: waiting to join -2026/03/20 18:55:25.579042 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.579051 reconciler.go:114: INFO Channel #baz monitor: join request sent -2026/03/20 18:55:25.579088 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.579100 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #baz -2026/03/20 18:55:25.579114 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.579103 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.579125 irc_server_for_test.go:119: INFO =Server= Received JOIN #baz -2026/03/20 18:55:25.579131 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.579109 reconciler.go:105: INFO Channel #bar monitor: waiting to join -2026/03/20 18:55:25.579155 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.579167 reconciler.go:114: INFO Channel #bar monitor: join request sent -2026/03/20 18:55:25.579188 reconciler.go:205: INFO Received JOIN confirmation for channel #baz -2026/03/20 18:55:25.579200 reconciler.go:79: INFO Setting JOIN state on channel #baz -2026/03/20 18:55:25.579210 reconciler.go:118: INFO Channel #baz monitor: join succeeded -2026/03/20 18:55:25.579212 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.579230 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.579249 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.579289 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #bar -2026/03/20 18:55:25.579305 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.579312 irc_server_for_test.go:119: INFO =Server= Received JOIN #bar -2026/03/20 18:55:25.579318 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.579327 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.579337 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.579379 reconciler.go:205: INFO Received JOIN confirmation for channel #bar -2026/03/20 18:55:25.579390 reconciler.go:79: INFO Setting JOIN state on channel #bar -2026/03/20 18:55:25.579394 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.579400 reconciler.go:118: INFO Channel #bar monitor: join succeeded -2026/03/20 18:55:25.579408 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.579457 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.579621 reconciler.go:131: INFO Channel #baz monitor: context canceled while monitoring -2026/03/20 18:55:25.579637 reconciler.go:131: INFO Channel #bar monitor: context canceled while monitoring -2026/03/20 18:55:25.579643 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.579665 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestPreJoinChannels (0.00s) +2025/02/16 14:38:17.193040 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:42211 +2025/02/16 14:38:17.193072 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:42211. +2025/02/16 14:38:17.205485 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:59154 +2025/02/16 14:38:17.209238 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.209287 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.209298 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.213358 reconciler.go:105: INFO Channel #baz monitor: waiting to join +2025/02/16 14:38:17.213424 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.213442 reconciler.go:114: INFO Channel #baz monitor: join request sent +2025/02/16 14:38:17.213549 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.213567 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.213578 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.213618 reconciler.go:105: INFO Channel #bar monitor: waiting to join +2025/02/16 14:38:17.213633 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.213654 reconciler.go:114: INFO Channel #bar monitor: join request sent +2025/02/16 14:38:17.213722 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #baz +2025/02/16 14:38:17.213741 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.213750 irc_server_for_test.go:119: INFO =Server= Received JOIN #baz +2025/02/16 14:38:17.213780 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.213791 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.213798 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.213821 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #bar +2025/02/16 14:38:17.213832 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.213839 irc_server_for_test.go:119: INFO =Server= Received JOIN #bar +2025/02/16 14:38:17.213905 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.213923 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.214019 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.214116 reconciler.go:205: INFO Received JOIN confirmation for channel #baz +2025/02/16 14:38:17.214130 reconciler.go:79: INFO Setting JOIN state on channel #baz +2025/02/16 14:38:17.214154 reconciler.go:118: INFO Channel #baz monitor: join succeeded +2025/02/16 14:38:17.214169 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2025/02/16 14:38:17.214179 reconciler.go:131: INFO Channel #baz monitor: context canceled while monitoring +2025/02/16 14:38:17.214189 reconciler.go:122: INFO Channel #bar monitor: context canceled while waiting for join +2025/02/16 14:38:17.214217 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestPreJoinChannels (0.02s) === RUN TestKeepJoining -2026/03/20 18:55:25.579772 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:37015 -2026/03/20 18:55:25.579804 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:37015. -2026/03/20 18:55:25.579934 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:51348 -2026/03/20 18:55:25.580008 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.580032 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.580040 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.580117 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.580137 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.580146 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.580630 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.580652 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.580663 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.580680 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry -2026/03/20 18:55:25.580695 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.580702 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.580713 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.580771 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.580791 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.580798 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.580812 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry -2026/03/20 18:55:25.580826 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.580833 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.580843 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.580896 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.580914 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.580921 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.580975 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.580995 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.581003 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.581015 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.581026 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.581047 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.581105 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.581131 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.214389 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:42875 +2025/02/16 14:38:17.214430 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:42875. +2025/02/16 14:38:17.214615 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:47376 +2025/02/16 14:38:17.214781 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.214797 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.214805 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.214885 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.214900 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.214912 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.214971 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.214985 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.214993 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.215013 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry +2025/02/16 14:38:17.215022 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.215033 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.215043 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.215096 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.215109 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.215119 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.215135 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry +2025/02/16 14:38:17.215144 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.215151 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.215161 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.215213 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.215225 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.215233 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.215301 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.215316 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.215378 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.215450 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.215462 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.215484 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.215498 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.215521 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestKeepJoining (0.00s) === RUN TestKickRejoin -2026/03/20 18:55:25.581213 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:44599 -2026/03/20 18:55:25.581242 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:44599. -2026/03/20 18:55:25.581359 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36864 -2026/03/20 18:55:25.581442 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2026/03/20 18:55:25.581466 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2026/03/20 18:55:25.581519 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2026/03/20 18:55:25.584711 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.584734 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.584745 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.584808 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.584832 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.584839 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.584883 irc_server_for_test.go:139: INFO =Server= sending to client: :test!~test@example.com KICK #foo foo :Bye! -2026/03/20 18:55:25.584974 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.584991 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.585019 reconciler.go:223: INFO Received KICK for channel #foo -2026/03/20 18:55:25.585034 reconciler.go:93: INFO Removing JOIN state on channel #foo -2026/03/20 18:55:25.585048 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.585064 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2026/03/20 18:55:25.585072 fake_delayer.go:43: INFO Faking Backoff -2026/03/20 18:55:25.585081 reconciler.go:114: INFO Channel #foo monitor: join request sent -2026/03/20 18:55:25.585138 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2026/03/20 18:55:25.585159 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2026/03/20 18:55:25.585167 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2026/03/20 18:55:25.585222 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2026/03/20 18:55:25.585241 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2026/03/20 18:55:25.585250 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2026/03/20 18:55:25.585260 reconciler.go:79: INFO Setting JOIN state on channel #foo -2026/03/20 18:55:25.585272 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2026/03/20 18:55:25.585291 connection.go:577: INFO irc.Close(): Disconnected from server. -2026/03/20 18:55:25.585370 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2026/03/20 18:55:25.585398 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2025/02/16 14:38:17.215614 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:33763 +2025/02/16 14:38:17.215642 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33763. +2025/02/16 14:38:17.215767 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:58956 +2025/02/16 14:38:17.215905 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2025/02/16 14:38:17.215923 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2025/02/16 14:38:17.215932 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2025/02/16 14:38:17.216004 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.216019 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.216031 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.216084 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.216103 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.216111 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.216145 irc_server_for_test.go:139: INFO =Server= sending to client: :test!~test@example.com KICK #foo foo :Bye! +2025/02/16 14:38:17.216203 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.216214 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.216236 reconciler.go:223: INFO Received KICK for channel #foo +2025/02/16 14:38:17.216244 reconciler.go:93: INFO Removing JOIN state on channel #foo +2025/02/16 14:38:17.216258 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.216266 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2025/02/16 14:38:17.216272 fake_delayer.go:43: INFO Faking Backoff +2025/02/16 14:38:17.216283 reconciler.go:114: INFO Channel #foo monitor: join request sent +2025/02/16 14:38:17.216334 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2025/02/16 14:38:17.216351 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2025/02/16 14:38:17.216359 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2025/02/16 14:38:17.216425 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2025/02/16 14:38:17.216441 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2025/02/16 14:38:17.216502 connection.go:577: INFO irc.Close(): Disconnected from server. +2025/02/16 14:38:17.216567 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2025/02/16 14:38:17.216579 reconciler.go:79: INFO Setting JOIN state on channel #foo +2025/02/16 14:38:17.216599 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2025/02/16 14:38:17.216612 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2025/02/16 14:38:17.216634 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestKickRejoin (0.00s) PASS -ok github.com/google/alertmanager-irc-relay 0.067s +ok github.com/google/alertmanager-irc-relay 0.176s ? github.com/google/alertmanager-irc-relay/logging [no test files] create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang @@ -2101,12 +2131,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/10224/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/10224/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/3080171 and its subdirectories -I: Current time: Fri Mar 20 18:55:52 -12 2026 -I: pbuilder-time-stamp: 1774076152 +I: removing directory /srv/workspace/pbuilder/10224 and its subdirectories +I: Current time: Sun Feb 16 14:38:48 +14 2025 +I: pbuilder-time-stamp: 1739666328