Diff of the two buildlogs: -- --- b1/build.log 2025-03-20 22:56:44.971354614 +0000 +++ b2/build.log 2025-03-20 22:57:57.832077352 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Mar 20 10:49:48 -12 2025 -I: pbuilder-time-stamp: 1742510988 +I: Current time: Thu Apr 23 19:19:44 +14 2026 +I: pbuilder-time-stamp: 1776921584 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -23,54 +23,86 @@ dpkg-source: info: unpacking alertmanager-irc-relay_0.5.1-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/41913/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4906/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +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 Apr 23 05:19 /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/4906/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4906/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + 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]="i686-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=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='1b4bc9080a0f45f98c00097fb954e69e' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='41913' - PS1='# ' - PS2='> ' + INVOCATION_ID=7a2a9b00230e4652b8605ba9ab56b69e + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=4906 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.BYz3EiIA/pbuilderrc_04OM --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.BYz3EiIA/b1 --logfile b1/build.log alertmanager-irc-relay_0.5.1-3.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.BYz3EiIA/pbuilderrc_Nkhu --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.BYz3EiIA/b2 --logfile b2/build.log alertmanager-irc-relay_0.5.1-3.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos12-i386 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/41913/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4906/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -347,7 +379,7 @@ Get: 223 http://deb.debian.org/debian unstable/main i386 golang-protobuf-extensions-dev all 1.0.4-2 [29.7 kB] Get: 224 http://deb.debian.org/debian unstable/main i386 golang-uber-automaxprocs-dev all 1.5.3-1 [22.3 kB] Get: 225 http://deb.debian.org/debian unstable/main i386 golang-github-prometheus-alertmanager-dev all 0.28.1+ds-1 [1139 kB] -Fetched 163 MB in 6s (25.7 MB/s) +Fetched 163 MB in 3s (54.4 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 ... 19792 files and directories currently installed.) @@ -1081,8 +1113,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Mar 20 22:52:38 UTC 2025. -Universal Time is now: Thu Mar 20 22:52:38 UTC 2025. +Local time is now: Thu Apr 23 05:20:16 UTC 2026. +Universal Time is now: Thu Apr 23 05:20:16 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up golang-github-cespare-xxhash-dev (2.3.0-1) ... @@ -1268,7 +1300,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-3_source.changes +I: user script /srv/workspace/pbuilder/4906/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/4906/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-3_source.changes dpkg-buildpackage: info: source package alertmanager-irc-relay dpkg-buildpackage: info: source version 0.5.1-3 dpkg-buildpackage: info: source distribution unstable @@ -1286,122 +1322,122 @@ dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang - cd obj-i686-linux-gnu && go install -trimpath -v -p 11 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging -internal/goexperiment -internal/asan -internal/goos + cd obj-i686-linux-gnu && go install -trimpath -v -p 21 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging internal/byteorder -internal/unsafeheader +cmp +unicode internal/goarch -internal/godebugs -internal/profilerecord +crypto/internal/fips140/alias +internal/goos +container/list +internal/itoa +internal/unsafeheader internal/coverage/rtcov +unicode/utf8 +internal/asan internal/msan -internal/runtime/math -math/bits -internal/cpu internal/runtime/syscall -internal/runtime/atomic +internal/godebugs +internal/cpu sync/atomic -unicode/utf8 -internal/itoa -internal/chacha8rand -internal/runtime/sys -internal/abi -unicode -container/list -crypto/internal/fips140/alias -crypto/internal/fips140deps/byteorder -cmp -math +internal/runtime/atomic +internal/goexperiment +math/bits +internal/profilerecord crypto/internal/boring/sig unicode/utf16 +internal/abi +internal/runtime/math vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias -internal/runtime/exithook +internal/runtime/sys +crypto/internal/fips140deps/byteorder internal/nettrace -internal/bytealg -crypto/internal/fips140deps/cpu +internal/chacha8rand encoding github.com/fluffle/goirc/logging log/internal log/slog/internal google.golang.org/protobuf/internal/flags google.golang.org/protobuf/internal/set +math +internal/runtime/exithook +crypto/internal/fips140deps/cpu +internal/bytealg internal/stringslite -github.com/klauspost/compress internal/race -internal/runtime/maps internal/sync +internal/runtime/maps +github.com/klauspost/compress runtime iter -weak crypto/internal/fips140/subtle -sync -runtime/metrics +weak internal/reflectlite -slices +runtime/metrics +sync maps +slices crypto/subtle -internal/bisect -internal/testlog internal/singleflight +internal/testlog +internal/bisect unique log/slog/internal/buffer google.golang.org/protobuf/internal/pragma +runtime/cgo errors +internal/godebug sort -runtime/cgo internal/oserror path +vendor/golang.org/x/net/dns/dnsmessage io -strconv math/rand/v2 -vendor/golang.org/x/net/dns/dnsmessage +strconv syscall -internal/godebug hash +crypto/internal/randutil bytes -crypto/internal/fips140deps/godebug -hash/crc32 -hash/fnv -github.com/beorn7/perks/quantile strings -crypto/internal/randutil +crypto/internal/fips140deps/godebug math/rand +hash/fnv +hash/crc32 golang.org/x/text/internal/tag -golang.org/x/text/transform -vendor/golang.org/x/text/transform +github.com/beorn7/perks/quantile crypto -reflect net/netip -crypto/internal/fips140 +reflect +vendor/golang.org/x/text/transform +golang.org/x/text/transform crypto/internal/impl +crypto/internal/fips140 net/http/internal/ascii -bufio github.com/munnerz/goautoneg +bufio regexp/syntax html crypto/internal/fips140/sha512 +crypto/tls/internal/fips140tls crypto/internal/fips140/sha3 crypto/internal/fips140/sha256 -crypto/tls/internal/fips140tls -internal/syscall/execenv -internal/syscall/unix -time crypto/internal/fips140/hmac crypto/sha3 crypto/internal/fips140/check -crypto/internal/fips140/aes crypto/internal/fips140hash -crypto/internal/fips140/edwards25519/field crypto/internal/fips140/hkdf -crypto/internal/fips140/bigmod +crypto/internal/fips140/edwards25519/field crypto/internal/fips140/tls12 +crypto/internal/fips140/bigmod +crypto/internal/fips140/aes crypto/internal/fips140/nistec/fiat crypto/internal/fips140/tls13 -regexp +internal/syscall/execenv +internal/syscall/unix +time crypto/internal/fips140/edwards25519 +regexp io/fs context internal/poll @@ -1412,162 +1448,162 @@ internal/fmtsort encoding/binary crypto/internal/fips140/nistec +encoding/base64 vendor/golang.org/x/crypto/internal/poly1305 -github.com/cespare/xxhash github.com/klauspost/compress/internal/le +github.com/cespare/xxhash github.com/klauspost/compress/internal/snapref -encoding/base64 golang.org/x/sys/unix encoding/pem crypto/internal/sysrand -fmt -path/filepath google.golang.org/protobuf/internal/detrand io/ioutil -github.com/prometheus/procfs/internal/util os/signal +github.com/prometheus/procfs/internal/util +fmt +path/filepath net crypto/internal/entropy crypto/internal/fips140/drbg -crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/internal/fips140/ed25519 -crypto/internal/fips140/rsa crypto/internal/fips140/mlkem +crypto/internal/fips140/rsa +crypto/internal/fips140/aes/gcm crypto/rc4 crypto/md5 crypto/cipher +crypto/internal/boring crypto/des vendor/golang.org/x/crypto/chacha20 -crypto/internal/boring crypto/aes -crypto/sha512 crypto/hmac -crypto/sha1 +crypto/sha512 crypto/sha256 -vendor/golang.org/x/crypto/chacha20poly1305 -crypto/internal/fips140/ecdh -crypto/internal/fips140/ecdsa +crypto/sha1 encoding/hex -net/url -encoding/json -flag -math/big -github.com/golang/mock/gomock log -crypto/ecdh +flag compress/flate -vendor/golang.org/x/text/unicode/bidi -vendor/golang.org/x/text/unicode/norm +encoding/json vendor/golang.org/x/net/http2/hpack +net/url mime -github.com/fluffle/goirc/state -github.com/google/alertmanager-irc-relay/logging -compress/gzip mime/quotedprintable +vendor/golang.org/x/text/unicode/norm +github.com/golang/mock/gomock +math/big net/http/internal google.golang.org/protobuf/internal/errors go/token -google.golang.org/protobuf/encoding/protowire -vendor/golang.org/x/text/secure/bidirule google.golang.org/protobuf/internal/version -google.golang.org/protobuf/reflect/protoreflect +vendor/golang.org/x/crypto/chacha20poly1305 runtime/debug +google.golang.org/protobuf/encoding/protowire github.com/prometheus/procfs/internal/fs golang.org/x/text/internal/language -golang.org/x/text/unicode/norm +crypto/internal/fips140/ecdh +crypto/internal/fips140/ecdsa text/template/parse +golang.org/x/text/unicode/norm +google.golang.org/protobuf/reflect/protoreflect github.com/klauspost/compress/fse +vendor/golang.org/x/text/unicode/bidi +crypto/ecdh gopkg.in/yaml.v2 +compress/gzip +github.com/fluffle/goirc/state +github.com/google/alertmanager-irc-relay/logging github.com/klauspost/compress/huff0 -vendor/golang.org/x/net/idna +vendor/golang.org/x/text/secure/bidirule +golang.org/x/text/internal/language/compact +text/template 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 -crypto/elliptic +google.golang.org/protobuf/internal/order +google.golang.org/protobuf/runtime/protoiface +google.golang.org/protobuf/internal/genid +google.golang.org/protobuf/internal/protolazy +golang.org/x/text/language +vendor/golang.org/x/net/idna +google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/internal/encoding/text +log/slog crypto/internal/boring/bbig +crypto/elliptic encoding/asn1 crypto/rand crypto/dsa -log/slog +google.golang.org/protobuf/proto crypto/ed25519 crypto/internal/hpke crypto/rsa -google.golang.org/protobuf/internal/encoding/text -google.golang.org/protobuf/internal/genid -google.golang.org/protobuf/internal/order -google.golang.org/protobuf/reflect/protoregistry -google.golang.org/protobuf/runtime/protoiface -golang.org/x/text/internal/language/compact -google.golang.org/protobuf/internal/protolazy -text/template -google.golang.org/protobuf/internal/encoding/defval github.com/klauspost/compress/zstd -crypto/x509/pkix -vendor/golang.org/x/crypto/cryptobyte -golang.org/x/text/language -google.golang.org/protobuf/proto -crypto/ecdsa -github.com/prometheus/common/promslog -github.com/prometheus/alertmanager/featurecontrol +google.golang.org/protobuf/internal/encoding/defval golang.org/x/text/internal golang.org/x/text/cases +html/template +crypto/x509/pkix +vendor/golang.org/x/crypto/cryptobyte google.golang.org/protobuf/encoding/protodelim google.golang.org/protobuf/encoding/prototext google.golang.org/protobuf/internal/filedesc -html/template +github.com/prometheus/alertmanager/featurecontrol +github.com/prometheus/common/promslog +crypto/ecdsa google.golang.org/protobuf/internal/encoding/tag -golang.org/x/net/internal/socks -crypto/x509 -vendor/golang.org/x/net/http/httpproxy google.golang.org/protobuf/internal/impl +vendor/golang.org/x/net/http/httpproxy +golang.org/x/net/internal/socks net/textproto +crypto/x509 github.com/prometheus/procfs golang.org/x/net/proxy -mime/multipart vendor/golang.org/x/net/http/httpguts +mime/multipart crypto/tls google.golang.org/protobuf/internal/filetype google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/types/known/timestamppb github.com/prometheus/client_model/go github.com/prometheus/common/model -net/http/httptrace -github.com/fluffle/goirc/client -net/http github.com/prometheus/alertmanager/pkg/labels github.com/prometheus/common/helpers/templates github.com/prometheus/client_golang/prometheus/internal github.com/prometheus/alertmanager/matcher/parse +net/http/httptrace +github.com/fluffle/goirc/client +net/http github.com/prometheus/alertmanager/matcher/compat +github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header expvar github.com/gorilla/mux -github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header github.com/prometheus/common/expfmt github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil github.com/prometheus/client_golang/prometheus -github.com/prometheus/alertmanager/types github.com/prometheus/client_golang/prometheus/promauto github.com/prometheus/client_golang/prometheus/promhttp +github.com/prometheus/alertmanager/types github.com/prometheus/alertmanager/template github.com/google/alertmanager-irc-relay dh_auto_test -O--buildsystem=golang - cd obj-i686-linux-gnu && go test -vet=off -v -p 11 github.com/google/alertmanager-irc-relay github.com/google/alertmanager-irc-relay/logging + cd obj-i686-linux-gnu && go test -vet=off -v -p 21 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 -2025/03/20 10:55:39.334925 backoff.go:111: INFO Backoff for 0s starts -2025/03/20 10:55:39.335102 backoff.go:114: INFO Backoff for 0s ends -2025/03/20 10:55:39.335124 backoff.go:111: INFO Backoff for 2ms starts -2025/03/20 10:55:39.335143 backoff.go:116: INFO Backoff for 2ms canceled by context +2026/04/23 19:20:44.016849 backoff.go:111: INFO Backoff for 0s starts +2026/04/23 19:20:44.016939 backoff.go:114: INFO Backoff for 0s ends +2026/04/23 19:20:44.016955 backoff.go:111: INFO Backoff for 2ms starts +2026/04/23 19:20:44.016965 backoff.go:116: INFO Backoff for 2ms canceled by context --- PASS: TestBackoffDelayContext (0.00s) === RUN TestNoConfig --- PASS: TestNoConfig (0.00s) === RUN TestLoadGoodConfig ---- PASS: TestLoadGoodConfig (0.01s) +--- PASS: TestLoadGoodConfig (0.00s) === RUN TestLoadWithEnvironmentVariables --- PASS: TestLoadWithEnvironmentVariables (0.00s) === RUN TestLoadBadFile @@ -1581,11 +1617,11 @@ === RUN TestGivenTemplateNotOverwritten --- PASS: TestGivenTemplateNotOverwritten (0.00s) === RUN TestTemplateErrorsCreateRawAlertMsg -2025/03/20 10:55:39.370913 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/03/20 10:55:39.370973 format.go:61: WARN Sending raw alert -2025/03/20 10:55:39.371036 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/03/20 10:55:39.371051 format.go:61: WARN Sending raw alert ---- PASS: TestTemplateErrorsCreateRawAlertMsg (0.02s) +2026/04/23 19:20:44.019454 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/04/23 19:20:44.019472 format.go:61: WARN Sending raw alert +2026/04/23 19:20:44.019516 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/04/23 19:20:44.019529 format.go:61: WARN Sending raw alert +--- PASS: TestTemplateErrorsCreateRawAlertMsg (0.00s) === RUN TestAlertsDispatchedOnce --- PASS: TestAlertsDispatchedOnce (0.00s) === RUN TestStringsFunctions @@ -1595,479 +1631,481 @@ === RUN TestMultilineTemplates --- PASS: TestMultilineTemplates (0.00s) === RUN TestAlertsDispatched -2025/03/20 10:55:39.372492 http.go:132: INFO Starting HTTP server +2026/04/23 19:20:44.020428 http.go:132: INFO Starting HTTP server --- PASS: TestAlertsDispatched (0.00s) === RUN TestRootReturnsError -2025/03/20 10:55:39.373078 http.go:132: INFO Starting HTTP server +2026/04/23 19:20:44.020798 http.go:132: INFO Starting HTTP server --- PASS: TestRootReturnsError (0.00s) === RUN TestInvalidDataReturnsError -2025/03/20 10:55:39.373417 http.go:132: INFO Starting HTTP server -2025/03/20 10:55:39.373467 http.go:96: ERROR Could not decode request body (invalid character '}' looking for beginning of object key string): {"this is not": "a valid alert",} +2026/04/23 19:20:44.021013 http.go:132: INFO Starting HTTP server +2026/04/23 19:20:44.021063 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 -2025/03/20 10:55:39.374093 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:40031 -2025/03/20 10:55:39.374163 irc.go:302: INFO Connecting to IRC 127.0.0.1:40031 -2025/03/20 10:55:39.374181 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.374216 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:40031. -2025/03/20 10:55:39.395645 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.395952 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:39940 -2025/03/20 10:55:39.395992 irc_server_for_test.go:119: INFO =Server= Received PASS hostsecret -2025/03/20 10:55:39.396016 irc_server_for_test.go:96: INFO =Server= No handler for command 'PASS', skipping -2025/03/20 10:55:39.396030 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.396046 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.396059 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.396161 irc.go:146: INFO Session established -2025/03/20 10:55:39.396231 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.396247 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.396267 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.396333 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.396359 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.396373 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.396409 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.396427 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.396442 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.396456 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.396508 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.396530 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.396608 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.396687 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.396708 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.396752 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestServerPassword (0.02s) +2026/04/23 19:20:44.021398 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38533 +2026/04/23 19:20:44.021452 irc.go:302: INFO Connecting to IRC 127.0.0.1:38533 +2026/04/23 19:20:44.021469 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.021485 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38533. +2026/04/23 19:20:44.021735 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:58660 +2026/04/23 19:20:44.021751 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.021838 irc_server_for_test.go:119: INFO =Server= Received PASS hostsecret +2026/04/23 19:20:44.021860 irc_server_for_test.go:96: INFO =Server= No handler for command 'PASS', skipping +2026/04/23 19:20:44.021869 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.021881 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.021889 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.021979 irc.go:146: INFO Session established +2026/04/23 19:20:44.022015 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.022021 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.022028 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.022086 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.022105 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.022113 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.022136 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2026/04/23 19:20:44.022153 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.022162 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.022181 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.022234 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.022264 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.022382 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.022547 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.022570 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.022608 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestServerPassword (0.00s) === RUN TestSendAlertOnPreJoinedChannel -2025/03/20 10:55:39.396935 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43361 -2025/03/20 10:55:39.396988 irc.go:302: INFO Connecting to IRC 127.0.0.1:43361 -2025/03/20 10:55:39.397002 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.397018 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43361. -2025/03/20 10:55:39.397222 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:56470 -2025/03/20 10:55:39.397316 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.397411 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.397431 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.397444 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.397531 irc.go:146: INFO Session established -2025/03/20 10:55:39.397567 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.397580 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.397596 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.397660 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.397680 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.397693 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.397763 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.397779 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.397899 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.397928 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :test message -2025/03/20 10:55:39.397962 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.397979 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.397993 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.398007 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.398058 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.398089 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.398155 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.398218 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.398305 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.398345 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2026/04/23 19:20:44.022725 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38303 +2026/04/23 19:20:44.022766 irc.go:302: INFO Connecting to IRC 127.0.0.1:38303 +2026/04/23 19:20:44.022785 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.022796 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38303. +2026/04/23 19:20:44.022951 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:57108 +2026/04/23 19:20:44.022997 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.023033 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.023073 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.023089 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.023184 irc.go:146: INFO Session established +2026/04/23 19:20:44.023216 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.023225 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.023237 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.023304 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.023329 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.023339 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.023409 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.023426 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.023475 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.023506 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :test message +2026/04/23 19:20:44.023537 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.023540 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.023553 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.023569 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.023636 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.023660 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.023717 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.023797 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.023824 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.023851 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestSendAlertOnPreJoinedChannel (0.00s) === RUN TestUsePrivmsgToSendAlertOnPreJoinedChannel -2025/03/20 10:55:39.398490 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43609 -2025/03/20 10:55:39.398554 irc.go:302: INFO Connecting to IRC 127.0.0.1:43609 -2025/03/20 10:55:39.398569 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.398601 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43609. -2025/03/20 10:55:39.398792 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:48184 -2025/03/20 10:55:39.402591 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.402797 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.402824 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.402839 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.402967 irc.go:146: INFO Session established -2025/03/20 10:55:39.403012 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.403027 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.403068 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.403172 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.403197 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.403231 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.403332 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.403350 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.403436 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.403474 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG #foo :test message -2025/03/20 10:55:39.403517 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.403536 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.403552 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.403569 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.403634 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.403658 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.403765 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.403866 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.403897 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.403941 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestUsePrivmsgToSendAlertOnPreJoinedChannel (0.01s) +2026/04/23 19:20:44.023961 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43065 +2026/04/23 19:20:44.024005 irc.go:302: INFO Connecting to IRC 127.0.0.1:43065 +2026/04/23 19:20:44.024017 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.024028 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43065. +2026/04/23 19:20:44.024170 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:48018 +2026/04/23 19:20:44.024198 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.024229 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.024249 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.024258 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.024316 irc.go:146: INFO Session established +2026/04/23 19:20:44.024337 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.024343 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.024350 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.024384 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.024399 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.024404 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.024459 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.024475 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.024521 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.024573 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG #foo :test message +2026/04/23 19:20:44.024607 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.024612 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.024624 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.024638 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.024688 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.024713 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.024785 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.024867 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.024888 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.024920 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestUsePrivmsgToSendAlertOnPreJoinedChannel (0.00s) === RUN TestSendAlertAndJoinChannel -2025/03/20 10:55:39.404172 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:44009 -2025/03/20 10:55:39.404247 irc.go:302: INFO Connecting to IRC 127.0.0.1:44009 -2025/03/20 10:55:39.404262 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.404284 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:44009. -2025/03/20 10:55:39.404504 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:34336 -2025/03/20 10:55:39.404629 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.404739 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.404762 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.404778 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.404898 irc.go:146: INFO Session established -2025/03/20 10:55:39.404952 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.404972 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.404995 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.405096 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.405123 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.405139 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.405207 reconciler.go:249: INFO Request to JOIN new channel #foobar -2025/03/20 10:55:39.405255 reconciler.go:105: INFO Channel #foobar monitor: waiting to join -2025/03/20 10:55:39.405272 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.405288 reconciler.go:114: INFO Channel #foobar monitor: join request sent -2025/03/20 10:55:39.405372 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foobar -2025/03/20 10:55:39.405393 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.405406 irc_server_for_test.go:119: INFO =Server= Received JOIN #foobar -2025/03/20 10:55:39.405479 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.405498 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.405541 reconciler.go:205: INFO Received JOIN confirmation for channel #foobar -2025/03/20 10:55:39.405557 reconciler.go:79: INFO Setting JOIN state on channel #foobar -2025/03/20 10:55:39.405591 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.405610 reconciler.go:118: INFO Channel #foobar monitor: join succeeded -2025/03/20 10:55:39.405674 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foobar :test message -2025/03/20 10:55:39.405708 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.405743 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.405757 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.405770 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.405808 reconciler.go:131: INFO Channel #foobar monitor: context canceled while monitoring -2025/03/20 10:55:39.405840 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.405860 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.405937 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.406015 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.406039 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.406077 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2026/04/23 19:20:44.025001 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:40519 +2026/04/23 19:20:44.025029 irc.go:302: INFO Connecting to IRC 127.0.0.1:40519 +2026/04/23 19:20:44.025037 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.025044 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:40519. +2026/04/23 19:20:44.025159 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:56990 +2026/04/23 19:20:44.025180 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.025256 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.025281 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.025291 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.025386 irc.go:146: INFO Session established +2026/04/23 19:20:44.025411 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.025423 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.025440 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.025489 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.025506 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.025529 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.025590 reconciler.go:249: INFO Request to JOIN new channel #foobar +2026/04/23 19:20:44.025609 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.025610 reconciler.go:105: INFO Channel #foobar monitor: waiting to join +2026/04/23 19:20:44.025621 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.025619 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.025632 reconciler.go:114: INFO Channel #foobar monitor: join request sent +2026/04/23 19:20:44.025647 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.025664 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foobar +2026/04/23 19:20:44.025678 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.025699 irc_server_for_test.go:119: INFO =Server= Received JOIN #foobar +2026/04/23 19:20:44.025759 reconciler.go:205: INFO Received JOIN confirmation for channel #foobar +2026/04/23 19:20:44.025775 reconciler.go:79: INFO Setting JOIN state on channel #foobar +2026/04/23 19:20:44.025807 reconciler.go:118: INFO Channel #foobar monitor: join succeeded +2026/04/23 19:20:44.025892 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foobar :test message +2026/04/23 19:20:44.025931 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.025943 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.025952 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.025961 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.025992 reconciler.go:131: INFO Channel #foobar monitor: context canceled while monitoring +2026/04/23 19:20:44.026018 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.026040 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.026086 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.026153 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.026163 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.026181 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestSendAlertAndJoinChannel (0.00s) === RUN TestSendAlertDisconnected -2025/03/20 10:55:39.406318 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:45285 -2025/03/20 10:55:39.406380 irc.go:302: INFO Connecting to IRC 127.0.0.1:45285 -2025/03/20 10:55:39.406394 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.406413 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:45285. -2025/03/20 10:55:39.406613 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:51372 -2025/03/20 10:55:39.406741 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.406866 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.406888 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.406903 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.406922 irc_test.go:294: INFO =Server= Wait before completing session -2025/03/20 10:55:39.406950 irc_test.go:296: INFO =Server= Completing session -2025/03/20 10:55:39.410692 irc.go:146: INFO Session established -2025/03/20 10:55:39.410876 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.410900 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.410921 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.411060 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.411086 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.411101 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.411182 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.411199 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.411337 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.411369 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :connected test message -2025/03/20 10:55:39.411401 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.411417 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.411433 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.411448 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.411503 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.411526 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.411622 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.411705 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.411730 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.411768 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestSendAlertDisconnected (0.01s) +2026/04/23 19:20:44.026253 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:33397 +2026/04/23 19:20:44.026279 irc.go:302: INFO Connecting to IRC 127.0.0.1:33397 +2026/04/23 19:20:44.026285 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.026291 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33397. +2026/04/23 19:20:44.026400 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:33994 +2026/04/23 19:20:44.026429 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.026456 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.026468 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.026476 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.026483 irc_test.go:294: INFO =Server= Wait before completing session +2026/04/23 19:20:44.026495 irc_test.go:296: INFO =Server= Completing session +2026/04/23 19:20:44.026577 irc.go:146: INFO Session established +2026/04/23 19:20:44.026611 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.026626 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.026644 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.026704 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.026735 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.026744 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.026810 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.026838 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.026890 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.026920 irc_server_for_test.go:119: INFO =Server= Received NOTICE #foo :connected test message +2026/04/23 19:20:44.026967 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.026981 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.026968 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.026991 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.027047 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.027071 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.027123 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.027210 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.027229 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.027261 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestSendAlertDisconnected (0.00s) === RUN TestReconnect -2025/03/20 10:55:39.412112 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:43405 -2025/03/20 10:55:39.412158 irc.go:302: INFO Connecting to IRC 127.0.0.1:43405 -2025/03/20 10:55:39.412173 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.412191 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43405. -2025/03/20 10:55:39.412378 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:33802 -2025/03/20 10:55:39.412485 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.412587 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.412609 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.412622 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.412717 irc.go:146: INFO Session established -2025/03/20 10:55:39.412755 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.412768 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.412786 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.412855 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.412875 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.412889 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.414419 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.414630 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.414657 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.414792 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.414819 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.414858 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.414885 irc.go:302: INFO Connecting to IRC 127.0.0.1:43405 -2025/03/20 10:55:39.414903 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.414930 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:43405. -2025/03/20 10:55:39.415266 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.416603 irc_server_for_test.go:115: INFO =Server= Could not read from 127.0.0.1:33802: read tcp 127.0.0.1:43405->127.0.0.1:33802: use of closed network connection -2025/03/20 10:55:39.416841 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:33810 -2025/03/20 10:55:39.416890 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.416915 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.416929 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.422460 irc.go:146: INFO Session established -2025/03/20 10:55:39.422550 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.422568 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.422593 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.422745 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.422780 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.422810 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.422870 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.422892 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.422914 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.422933 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.423009 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.423039 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.423092 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.423253 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.423337 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.423373 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.423400 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.423447 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestReconnect (0.01s) +2026/04/23 19:20:44.027377 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:45027 +2026/04/23 19:20:44.027418 irc.go:302: INFO Connecting to IRC 127.0.0.1:45027 +2026/04/23 19:20:44.027430 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.027441 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:45027. +2026/04/23 19:20:44.027593 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:34146 +2026/04/23 19:20:44.027613 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.027658 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.027670 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.027678 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.027737 irc.go:146: INFO Session established +2026/04/23 19:20:44.027767 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.027776 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.027788 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.027858 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.027881 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.027888 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.027942 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.027986 irc_server_for_test.go:115: INFO =Server= Could not read from 127.0.0.1:34146: read tcp 127.0.0.1:45027->127.0.0.1:34146: use of closed network connection +2026/04/23 19:20:44.028009 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.028021 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.028051 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.028052 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.028071 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.028088 irc.go:302: INFO Connecting to IRC 127.0.0.1:45027 +2026/04/23 19:20:44.028098 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.028109 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:45027. +2026/04/23 19:20:44.028269 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:34156 +2026/04/23 19:20:44.028283 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.028382 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.028414 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.028428 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.028518 irc.go:146: INFO Session established +2026/04/23 19:20:44.028547 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.028560 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.028578 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.028647 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.028665 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.028675 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.028716 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2026/04/23 19:20:44.028732 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.028741 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.028748 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.028750 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.028761 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.028790 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.028814 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.028876 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.028940 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.028954 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.028972 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestReconnect (0.00s) === RUN TestConnectErrorRetry -2025/03/20 10:55:39.423787 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:33541 -2025/03/20 10:55:39.423849 irc.go:302: INFO Connecting to IRC 127.0.0.1:33541 -2025/03/20 10:55:39.423874 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.423895 fake_delayer.go:45: INFO Waiting StopDelay signal -2025/03/20 10:55:39.423914 fake_delayer.go:47: INFO Received StopDelay signal -2025/03/20 10:55:39.423937 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33541. -2025/03/20 10:55:39.424233 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:37710 -2025/03/20 10:55:39.424262 irc_server_for_test.go:157: INFO =Server= Closing connection early -2025/03/20 10:55:39.430534 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.430822 connection.go:444: ERROR irc.send(): write tcp 127.0.0.1:37710->127.0.0.1:33541: write: broken pipe -2025/03/20 10:55:39.430842 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.430842 connection.go:466: ERROR irc.recv(): read tcp 127.0.0.1:37710->127.0.0.1:33541: use of closed network connection -2025/03/20 10:55:39.431032 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.431032 irc.go:321: WARN Receiving a session down before the session is up, this is odd -2025/03/20 10:55:39.431032 irc.go:302: INFO Connecting to IRC 127.0.0.1:33541 -2025/03/20 10:55:39.431032 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.431040 fake_delayer.go:45: INFO Waiting StopDelay signal -2025/03/20 10:55:39.431055 fake_delayer.go:47: INFO Received StopDelay signal -2025/03/20 10:55:39.431075 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:33541. -2025/03/20 10:55:39.431382 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.431534 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:37720 -2025/03/20 10:55:39.431640 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.431677 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.431696 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.431768 irc.go:146: INFO Session established -2025/03/20 10:55:39.431827 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.431827 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.431827 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.431895 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.431918 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.431933 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.432045 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.432072 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.432072 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.432072 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.432110 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.432194 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.432251 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.432371 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.432384 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.432384 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.432399 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.432502 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestConnectErrorRetry (0.01s) +2026/04/23 19:20:44.029074 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38789 +2026/04/23 19:20:44.029115 irc.go:302: INFO Connecting to IRC 127.0.0.1:38789 +2026/04/23 19:20:44.029128 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.029135 fake_delayer.go:45: INFO Waiting StopDelay signal +2026/04/23 19:20:44.029142 fake_delayer.go:47: INFO Received StopDelay signal +2026/04/23 19:20:44.029152 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38789. +2026/04/23 19:20:44.029293 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:49976 +2026/04/23 19:20:44.029312 irc_server_for_test.go:157: INFO =Server= Closing connection early +2026/04/23 19:20:44.029293 connection.go:399: INFO irc.Connect(): Performing SSL handshake. +2026/04/23 19:20:44.030465 irc.go:307: ERROR Could not connect to IRC: EOF +2026/04/23 19:20:44.030479 irc.go:302: INFO Connecting to IRC 127.0.0.1:38789 +2026/04/23 19:20:44.030483 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.030488 fake_delayer.go:45: INFO Waiting StopDelay signal +2026/04/23 19:20:44.030499 fake_delayer.go:47: INFO Received StopDelay signal +2026/04/23 19:20:44.030516 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38789. +2026/04/23 19:20:44.030686 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:49980 +2026/04/23 19:20:44.030696 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.030721 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.030739 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.030751 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.030830 irc.go:146: INFO Session established +2026/04/23 19:20:44.030874 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.030887 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.030903 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.030953 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.030970 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.030993 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.031033 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2026/04/23 19:20:44.031041 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.031052 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.031065 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.031102 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.031110 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.031119 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.031119 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.031163 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.031235 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.031253 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.031282 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestConnectErrorRetry (0.00s) === RUN TestIdentify -2025/03/20 10:55:39.432675 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:42523 -2025/03/20 10:55:39.432720 irc.go:302: INFO Connecting to IRC 127.0.0.1:42523 -2025/03/20 10:55:39.432742 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.432742 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:42523. -2025/03/20 10:55:39.432967 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:37096 -2025/03/20 10:55:39.433130 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.433251 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.433251 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.433410 irc.go:167: INFO Received NOTICE from NickServ: This nickname is registered. Please choose a different nickname, or identify yourself ktnxbye. -2025/03/20 10:55:39.433480 irc.go:191: INFO Handling NickServ request to IDENTIFY -2025/03/20 10:55:39.433526 irc.go:146: INFO Session established -2025/03/20 10:55:39.433602 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request -2025/03/20 10:55:39.433636 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.433654 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.433670 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.433691 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :IDENTIFY nickpassword -2025/03/20 10:55:39.433777 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.433808 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.433824 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.433843 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.433879 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.433879 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.433879 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.433895 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.434118 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.434466 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.434526 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.434149 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.446736 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.447088 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.447121 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.447184 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestIdentify (0.01s) +2026/04/23 19:20:44.031387 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:32875 +2026/04/23 19:20:44.031427 irc.go:302: INFO Connecting to IRC 127.0.0.1:32875 +2026/04/23 19:20:44.031438 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.031448 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:32875. +2026/04/23 19:20:44.031579 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:60418 +2026/04/23 19:20:44.031606 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.031643 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.031693 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.031755 irc.go:167: INFO Received NOTICE from NickServ: This nickname is registered. Please choose a different nickname, or identify yourself ktnxbye. +2026/04/23 19:20:44.031784 irc.go:191: INFO Handling NickServ request to IDENTIFY +2026/04/23 19:20:44.031827 irc.go:146: INFO Session established +2026/04/23 19:20:44.031844 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :IDENTIFY nickpassword +2026/04/23 19:20:44.031849 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request +2026/04/23 19:20:44.031855 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.031876 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.031884 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.031902 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.031960 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.031982 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.031994 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.032025 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2026/04/23 19:20:44.032033 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.032043 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.032055 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.032068 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.032083 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.032121 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.032145 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.032195 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.032266 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.032285 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.032314 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestIdentify (0.00s) === RUN TestGhost -2025/03/20 10:55:39.447519 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38117 -2025/03/20 10:55:39.447570 irc.go:302: INFO Connecting to IRC 127.0.0.1:38117 -2025/03/20 10:55:39.447586 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.447607 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38117. -2025/03/20 10:55:39.447853 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:40048 -2025/03/20 10:55:39.447985 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.448113 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.448144 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.448256 irc.go:57: INFO Received: ':example.com 433 * foo :nick in use' -2025/03/20 10:55:39.448317 irc_server_for_test.go:119: INFO =Server= Received NICK foo^ -2025/03/20 10:55:39.448428 irc.go:146: INFO Session established -2025/03/20 10:55:39.448461 irc.go:206: INFO My nick is 'foo^', sending GHOST to NickServ to get 'foo' -2025/03/20 10:55:39.448484 irc.go:212: INFO Changing nick to 'foo' -2025/03/20 10:55:39.448511 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request -2025/03/20 10:55:39.448538 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.448556 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.448574 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.448694 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :GHOST foo nickpassword -2025/03/20 10:55:39.448721 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.448736 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.448754 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.448776 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.448790 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.448845 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.448864 irc.go:296: INFO IRC routine asked to terminate -2025/03/20 10:55:39.448878 irc.go:271: INFO IRC client connected, quitting -2025/03/20 10:55:39.448891 irc.go:274: INFO Wait for IRC disconnect to complete -2025/03/20 10:55:39.448957 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.448984 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.449064 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.449144 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.449171 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.449209 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2026/04/23 19:20:44.032409 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:39795 +2026/04/23 19:20:44.032433 irc.go:302: INFO Connecting to IRC 127.0.0.1:39795 +2026/04/23 19:20:44.032441 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.032447 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:39795. +2026/04/23 19:20:44.032612 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:54992 +2026/04/23 19:20:44.032629 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.032690 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.032710 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.033220 irc.go:57: INFO Received: ':example.com 433 * foo :nick in use' +2026/04/23 19:20:44.033270 irc_server_for_test.go:119: INFO =Server= Received NICK foo^ +2026/04/23 19:20:44.033338 irc.go:146: INFO Session established +2026/04/23 19:20:44.033355 irc.go:206: INFO My nick is 'foo^', sending GHOST to NickServ to get 'foo' +2026/04/23 19:20:44.033378 irc.go:212: INFO Changing nick to 'foo' +2026/04/23 19:20:44.033388 irc.go:226: INFO Waiting for NickServ to notice us and issue an identify request +2026/04/23 19:20:44.033401 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.033406 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.033413 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.033434 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG NickServ :GHOST foo nickpassword +2026/04/23 19:20:44.033448 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.033465 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.033479 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.033485 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.033489 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.033527 irc.go:296: INFO IRC routine asked to terminate +2026/04/23 19:20:44.033529 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join +2026/04/23 19:20:44.033550 irc.go:271: INFO IRC client connected, quitting +2026/04/23 19:20:44.033560 irc.go:274: INFO Wait for IRC disconnect to complete +2026/04/23 19:20:44.033608 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.033632 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.033677 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.033756 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.033773 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.033804 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestGhost (0.00s) === RUN TestStopRunningWhenHalfConnected -2025/03/20 10:55:39.449339 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38539 -2025/03/20 10:55:39.449376 irc.go:302: INFO Connecting to IRC 127.0.0.1:38539 -2025/03/20 10:55:39.449389 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.449405 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38539. -2025/03/20 10:55:39.449568 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:34692 -2025/03/20 10:55:39.449693 irc.go:310: INFO Connected to IRC server, waiting to establish session -2025/03/20 10:55:39.449797 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.449820 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.449833 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.449852 irc_test.go:591: INFO =Server= NOT completing session -2025/03/20 10:55:39.449885 irc.go:323: INFO IRC routine asked to terminate -2025/03/20 10:55:39.449900 irc.go:282: INFO IRC shutdown complete -2025/03/20 10:55:39.449949 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.449999 connection.go:466: ERROR irc.recv(): read tcp 127.0.0.1:34692->127.0.0.1:38539: use of closed network connection -2025/03/20 10:55:39.450036 irc.go:152: INFO Disconnected from IRC -2025/03/20 10:55:39.450065 irc_server_for_test.go:113: INFO =Server= Client 127.0.0.1:34692 disconnected -2025/03/20 10:55:39.450119 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2026/04/23 19:20:44.033927 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38329 +2026/04/23 19:20:44.033968 irc.go:302: INFO Connecting to IRC 127.0.0.1:38329 +2026/04/23 19:20:44.033980 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.033990 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38329. +2026/04/23 19:20:44.034145 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:33674 +2026/04/23 19:20:44.034152 irc.go:310: INFO Connected to IRC server, waiting to establish session +2026/04/23 19:20:44.034185 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.034199 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.034217 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.034228 irc_test.go:591: INFO =Server= NOT completing session +2026/04/23 19:20:44.034251 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.034252 irc.go:323: INFO IRC routine asked to terminate +2026/04/23 19:20:44.034269 irc.go:282: INFO IRC shutdown complete +2026/04/23 19:20:44.034300 connection.go:466: ERROR irc.recv(): read tcp 127.0.0.1:33674->127.0.0.1:38329: use of closed network connection +2026/04/23 19:20:44.034312 irc_server_for_test.go:113: INFO =Server= Client 127.0.0.1:33674 disconnected +2026/04/23 19:20:44.034328 irc.go:152: INFO Disconnected from IRC +2026/04/23 19:20:44.034366 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections --- PASS: TestStopRunningWhenHalfConnected (0.00s) === RUN TestPreJoinChannels -2025/03/20 10:55:39.450453 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:46787 -2025/03/20 10:55:39.450527 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46787. -2025/03/20 10:55:39.450692 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:58438 -2025/03/20 10:55:39.458724 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.458850 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.458867 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.459322 reconciler.go:105: INFO Channel #baz monitor: waiting to join -2025/03/20 10:55:39.459342 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.459362 reconciler.go:114: INFO Channel #baz monitor: join request sent -2025/03/20 10:55:39.459446 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.459463 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.459481 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.459545 reconciler.go:105: INFO Channel #bar monitor: waiting to join -2025/03/20 10:55:39.459562 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.459584 reconciler.go:114: INFO Channel #bar monitor: join request sent -2025/03/20 10:55:39.459663 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #baz -2025/03/20 10:55:39.459688 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.459703 irc_server_for_test.go:119: INFO =Server= Received JOIN #baz -2025/03/20 10:55:39.459747 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.459774 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.459787 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.459819 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #bar -2025/03/20 10:55:39.459840 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.459855 irc_server_for_test.go:119: INFO =Server= Received JOIN #bar -2025/03/20 10:55:39.459944 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.459965 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.460080 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.460166 reconciler.go:205: INFO Received JOIN confirmation for channel #baz -2025/03/20 10:55:39.460183 reconciler.go:79: INFO Setting JOIN state on channel #baz -2025/03/20 10:55:39.460241 reconciler.go:118: INFO Channel #baz monitor: join succeeded -2025/03/20 10:55:39.460279 reconciler.go:122: INFO Channel #foo monitor: context canceled while waiting for join -2025/03/20 10:55:39.460298 reconciler.go:131: INFO Channel #baz monitor: context canceled while monitoring -2025/03/20 10:55:39.460315 reconciler.go:122: INFO Channel #bar monitor: context canceled while waiting for join -2025/03/20 10:55:39.460354 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestPreJoinChannels (0.01s) +2026/04/23 19:20:44.034492 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:35809 +2026/04/23 19:20:44.034529 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:35809. +2026/04/23 19:20:44.034667 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:47894 +2026/04/23 19:20:44.034698 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.034712 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.034723 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.034807 reconciler.go:105: INFO Channel #baz monitor: waiting to join +2026/04/23 19:20:44.034820 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.034839 reconciler.go:114: INFO Channel #baz monitor: join request sent +2026/04/23 19:20:44.034874 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.034883 reconciler.go:105: INFO Channel #bar monitor: waiting to join +2026/04/23 19:20:44.034890 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.034888 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.034904 reconciler.go:114: INFO Channel #bar monitor: join request sent +2026/04/23 19:20:44.034903 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.034962 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #baz +2026/04/23 19:20:44.034978 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.034985 irc_server_for_test.go:119: INFO =Server= Received JOIN #baz +2026/04/23 19:20:44.035015 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #bar +2026/04/23 19:20:44.035030 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.035038 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.035046 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.035052 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.035054 reconciler.go:205: INFO Received JOIN confirmation for channel #baz +2026/04/23 19:20:44.035066 reconciler.go:79: INFO Setting JOIN state on channel #baz +2026/04/23 19:20:44.035081 irc_server_for_test.go:119: INFO =Server= Received JOIN #bar +2026/04/23 19:20:44.035093 reconciler.go:118: INFO Channel #baz monitor: join succeeded +2026/04/23 19:20:44.035154 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.035167 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.035176 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.035196 reconciler.go:205: INFO Received JOIN confirmation for channel #bar +2026/04/23 19:20:44.035202 reconciler.go:79: INFO Setting JOIN state on channel #bar +2026/04/23 19:20:44.035207 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.035221 reconciler.go:118: INFO Channel #bar monitor: join succeeded +2026/04/23 19:20:44.035216 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.035256 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.035314 reconciler.go:131: INFO Channel #baz monitor: context canceled while monitoring +2026/04/23 19:20:44.035321 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.035333 reconciler.go:131: INFO Channel #bar monitor: context canceled while monitoring +2026/04/23 19:20:44.035358 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestPreJoinChannels (0.00s) === RUN TestKeepJoining -2025/03/20 10:55:39.460561 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:34843 -2025/03/20 10:55:39.460600 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:34843. -2025/03/20 10:55:39.460780 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36818 -2025/03/20 10:55:39.460955 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.460977 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.460990 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.461094 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.461108 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.461124 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.461186 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.461206 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.461222 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.461263 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry -2025/03/20 10:55:39.461319 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.461331 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.462393 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.466500 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.466564 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.466581 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.466640 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry -2025/03/20 10:55:39.466660 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.466675 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.466698 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.466789 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.466815 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.466831 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.466933 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.466958 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.467067 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.467169 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.467189 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.467252 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.467279 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.467319 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections ---- PASS: TestKeepJoining (0.01s) +2026/04/23 19:20:44.035439 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:40665 +2026/04/23 19:20:44.035464 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:40665. +2026/04/23 19:20:44.035561 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:59690 +2026/04/23 19:20:44.035633 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.035656 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.035665 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.035758 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.035771 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.035784 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.035830 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.035849 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.035870 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.035898 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry +2026/04/23 19:20:44.035913 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.035919 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.035935 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.035980 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.036000 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.036020 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.036045 reconciler.go:120: WARN Channel #foo monitor: could not join after 10 seconds, will retry +2026/04/23 19:20:44.036057 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.036063 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.036078 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.036128 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.036149 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.036155 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.036231 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.036239 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.036251 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.036252 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.036288 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.036303 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.036374 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.036402 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +--- PASS: TestKeepJoining (0.00s) === RUN TestKickRejoin -2025/03/20 10:55:39.467520 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:38493 -2025/03/20 10:55:39.467564 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:38493. -2025/03/20 10:55:39.467833 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:36208 -2025/03/20 10:55:39.468085 irc_server_for_test.go:119: INFO =Server= Received NICK foo -2025/03/20 10:55:39.468112 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping -2025/03/20 10:55:39.468128 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : -2025/03/20 10:55:39.468256 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.468273 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.468299 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.468379 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.468404 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.468419 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.468499 irc_server_for_test.go:139: INFO =Server= sending to client: :test!~test@example.com KICK #foo foo :Bye! -2025/03/20 10:55:39.468601 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.468621 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.468671 reconciler.go:223: INFO Received KICK for channel #foo -2025/03/20 10:55:39.468689 reconciler.go:93: INFO Removing JOIN state on channel #foo -2025/03/20 10:55:39.468733 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.468753 reconciler.go:105: INFO Channel #foo monitor: waiting to join -2025/03/20 10:55:39.468768 fake_delayer.go:43: INFO Faking Backoff -2025/03/20 10:55:39.468787 reconciler.go:114: INFO Channel #foo monitor: join request sent -2025/03/20 10:55:39.468886 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo -2025/03/20 10:55:39.468910 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping -2025/03/20 10:55:39.468927 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo -2025/03/20 10:55:39.469022 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya -2025/03/20 10:55:39.469050 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate -2025/03/20 10:55:39.469084 reconciler.go:205: INFO Received JOIN confirmation for channel #foo -2025/03/20 10:55:39.469151 connection.go:577: INFO irc.Close(): Disconnected from server. -2025/03/20 10:55:39.469129 reconciler.go:79: INFO Setting JOIN state on channel #foo -2025/03/20 10:55:39.469209 reconciler.go:118: INFO Channel #foo monitor: join succeeded -2025/03/20 10:55:39.469350 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring -2025/03/20 10:55:39.469403 irc_server_for_test.go:168: INFO =Server= Stopped accepting new connections +2026/04/23 19:20:44.036481 irc_server_for_test.go:201: INFO =Server= Test server listening on 127.0.0.1:46699 +2026/04/23 19:20:44.036505 connection.go:390: INFO irc.Connect(): Connecting to 127.0.0.1:46699. +2026/04/23 19:20:44.036600 irc_server_for_test.go:171: INFO =Server= New client connected from 127.0.0.1:44344 +2026/04/23 19:20:44.037234 irc_server_for_test.go:119: INFO =Server= Received NICK foo +2026/04/23 19:20:44.037255 irc_server_for_test.go:96: INFO =Server= No handler for command 'NICK', skipping +2026/04/23 19:20:44.037268 irc_server_for_test.go:119: INFO =Server= Received USER foo 12 * : +2026/04/23 19:20:44.037357 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.037371 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.037382 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.037448 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.037463 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.037472 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.037513 irc_server_for_test.go:139: INFO =Server= sending to client: :test!~test@example.com KICK #foo foo :Bye! +2026/04/23 19:20:44.037568 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.037589 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.037617 reconciler.go:223: INFO Received KICK for channel #foo +2026/04/23 19:20:44.037626 reconciler.go:93: INFO Removing JOIN state on channel #foo +2026/04/23 19:20:44.037626 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.037643 reconciler.go:105: INFO Channel #foo monitor: waiting to join +2026/04/23 19:20:44.037650 fake_delayer.go:43: INFO Faking Backoff +2026/04/23 19:20:44.037662 reconciler.go:114: INFO Channel #foo monitor: join request sent +2026/04/23 19:20:44.037710 irc_server_for_test.go:119: INFO =Server= Received PRIVMSG ChanServ :UNBAN #foo +2026/04/23 19:20:44.037727 irc_server_for_test.go:96: INFO =Server= No handler for command 'PRIVMSG', skipping +2026/04/23 19:20:44.037749 irc_server_for_test.go:119: INFO =Server= Received JOIN #foo +2026/04/23 19:20:44.037821 irc_server_for_test.go:119: INFO =Server= Received QUIT :see ya +2026/04/23 19:20:44.037834 reconciler.go:205: INFO Received JOIN confirmation for channel #foo +2026/04/23 19:20:44.037840 irc_server_for_test.go:127: INFO =Server= Closing connection: client asked to terminate +2026/04/23 19:20:44.037847 reconciler.go:79: INFO Setting JOIN state on channel #foo +2026/04/23 19:20:44.037880 reconciler.go:118: INFO Channel #foo monitor: join succeeded +2026/04/23 19:20:44.037889 connection.go:577: INFO irc.Close(): Disconnected from server. +2026/04/23 19:20:44.037954 reconciler.go:131: INFO Channel #foo monitor: context canceled while monitoring +2026/04/23 19:20:44.037978 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.292s +ok github.com/google/alertmanager-irc-relay 0.028s ? github.com/google/alertmanager-irc-relay/logging [no test files] create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang @@ -2099,8 +2137,8 @@ dh_gencontrol -O--buildsystem=golang dh_md5sums -O--buildsystem=golang dh_builddeb -O--buildsystem=golang -dpkg-deb: building package 'alertmanager-irc-relay-dbgsym' in '../alertmanager-irc-relay-dbgsym_0.5.1-3_i386.deb'. dpkg-deb: building package 'alertmanager-irc-relay' in '../alertmanager-irc-relay_0.5.1-3_i386.deb'. +dpkg-deb: building package 'alertmanager-irc-relay-dbgsym' in '../alertmanager-irc-relay-dbgsym_0.5.1-3_i386.deb'. dpkg-genbuildinfo --build=binary -O../alertmanager-irc-relay_0.5.1-3_i386.buildinfo dpkg-genchanges --build=binary -O../alertmanager-irc-relay_0.5.1-3_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -2108,12 +2146,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/4906/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4906/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/41913 and its subdirectories -I: Current time: Thu Mar 20 10:56:43 -12 2025 -I: pbuilder-time-stamp: 1742511403 +I: removing directory /srv/workspace/pbuilder/4906 and its subdirectories +I: Current time: Thu Apr 23 19:20:54 +14 2026 +I: pbuilder-time-stamp: 1776921654