Running as unit: rb-build-amd64_29-33425.service ==================================================================================== Sat Feb 22 00:50:18 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_amd64_29) on jenkins, called using "ionos1-amd64 ionos15-amd64" as arguments. Sat Feb 22 00:50:18 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-h0ZYkBra" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 00:50:18 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Sat Feb 22 00:50:18 UTC 2025 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-6MqVL1' Sat Feb 22 00:50:18 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos15-amd64.debian.net is marked as down. Sat Feb 22 00:50:18 UTC 2025 - checking via ssh if ionos15-amd64.debian.net is up. removed '/tmp/read-only-fs-test-G4TqOS' ok, let's check if golang-github-tideland-golib is building anywhere yet… ok, golang-github-tideland-golib is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of golang-github-tideland-golib in unstable on amd64 on jenkins now. 1st build will be done on ionos1-amd64.debian.net. 2nd build will be done on ionos15-amd64.debian.net. ============================================================================= Sat Feb 22 00:50:25 UTC 2025 I: starting to build golang-github-tideland-golib/unstable/amd64 on jenkins on '2025-02-22 00:50' Sat Feb 22 00:50:25 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_29/33425/console.log 1740185425 amd64 unstable golang-github-tideland-golib Sat Feb 22 00:50:25 UTC 2025 I: Downloading source for unstable/golang-github-tideland-golib=4.24.2-2 --2025-02-22 00:50:26-- http://deb.debian.org/debian/pool/main/g/golang-github-tideland-golib/golang-github-tideland-golib_4.24.2-2.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2357 (2.3K) [text/prs.lines.tag] Saving to: ‘golang-github-tideland-golib_4.24.2-2.dsc’ 0K .. 100% 356M=0s 2025-02-22 00:50:26 (356 MB/s) - ‘golang-github-tideland-golib_4.24.2-2.dsc’ saved [2357/2357] --2025-02-22 00:50:26-- http://deb.debian.org/debian/pool/main/g/golang-github-tideland-golib/golang-github-tideland-golib_4.24.2-2.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2357 (2.3K) [text/prs.lines.tag] Saving to: ‘golang-github-tideland-golib_4.24.2-2.dsc’ 0K .. 100% 356M=0s 2025-02-22 00:50:26 (356 MB/s) - ‘golang-github-tideland-golib_4.24.2-2.dsc’ saved [2357/2357] Sat Feb 22 00:50:26 UTC 2025 I: golang-github-tideland-golib_4.24.2-2.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: golang-github-tideland-golib Binary: golang-github-tideland-golib-dev Architecture: all Version: 4.24.2-2 Maintainer: Debian Go Packaging Team Uploaders: Jordi Mallach Homepage: https://github.com/tideland/golib Standards-Version: 4.1.1 Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib Vcs-Git: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git Build-Depends: debhelper-compat (= 12), dh-golang, golang-any Package-List: golang-github-tideland-golib-dev deb golang optional arch=all Checksums-Sha1: 3622005dd0197fd66aa0c82115b24e91e553454f 148806 golang-github-tideland-golib_4.24.2.orig.tar.gz a96a6bc41bb68292338827213d93f07d2f968473 4760 golang-github-tideland-golib_4.24.2-2.debian.tar.xz Checksums-Sha256: 54e0ee6351079c8f50343821e47ac6f6895e59417d75df8a33d2809684d336ce 148806 golang-github-tideland-golib_4.24.2.orig.tar.gz 1e23061853d630d3555f8f9ce44b472e6cce0e810e3d44e2f999f95cb178ce9b 4760 golang-github-tideland-golib_4.24.2-2.debian.tar.xz Files: 161eb640884d0a488c84e590e4a0a083 148806 golang-github-tideland-golib_4.24.2.orig.tar.gz 780ed47df5547373afdc9d73cfde0b0f 4760 golang-github-tideland-golib_4.24.2-2.debian.tar.xz Go-Import-Path: github.com/tideland/golib Dgit: 3b1de43aaa8f9fc89b3207bec459718bae994f87 debian archive/debian/4.24.2-2 https://git.dgit.debian.org/golang-github-tideland-golib -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAme4qK8ACgkQW//cwljm lDN0bQ//TU5p3vsdJ5hn9znF02jhljA9JDw1IJ2pC7pm3bq2uUysXuTy8JhU1MhA AKd1253/CwP0QIbkH7rFCDxmoBUjjyMmYGawmu9EW/NdMq7wun+t3Xvs5RJhqx0a chpMu8rtHfLUOD2ZFydHJ6itvAN14YCnDfsLVPjGtVKoKAYb5vZnhpxHle7EdOiW CPlrCh0gWhay4TUcI91hmVqqudvpU/pSbeQ0KJntmonyBcEOxhAdcsyw52L4r5r8 rcPBZJ4MAGQUtOuXgAIUPWueURz1v8JTb2TfuQQYFg9saHVcgnz76MUwRjZMbX1f rTR3Tzs4uNPvZRJ3NepNV31kJ4SFnQzMoNPk7pOcOrWooPcnnuDVd21PmiIhFjmP wgBHCRRH+K0XhE/xOiK8QueUCO3E1iQP1BCW1HL3085r566n8Yo6JSH162SInnPj 13zUXVttM/eV9OMvLGF7+iMxK9hqBJidFaz3fYckqBq6CNf2WQjo0sRfP/YTY6bT qH5nPlWdguzEs8a0uHfO+N6rR0cJeMkcMfw9iZSQG3a8kwLmzQ7OWb151q9I9Cz/ boi4G4FS7/R/4eORJsSzBWsIzn/q9mNi+fV+IJchlYPY9frXsolr6f5Tjlavh2l7 S89N9VgK+ISEq1aFXJh4nPWFVVm2eS+fKSTUwn7rTuSrKDiomp4= =sl0U -----END PGP SIGNATURE----- Sat Feb 22 00:50:26 UTC 2025 I: Checking whether the package is not for us Sat Feb 22 00:50:26 UTC 2025 I: Starting 1st build on remote node ionos1-amd64.debian.net. Sat Feb 22 00:50:26 UTC 2025 I: Preparing to do remote build '1' on ionos1-amd64.debian.net. Sat Feb 22 00:50:26 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Sat Feb 22 00:50:26 UTC 2025 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-09Hb6L' ==================================================================================== Sat Feb 22 00:50:27 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos1-amd64, called using "1 golang-github-tideland-golib unstable /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ 4.24.2-2" as arguments. Sat Feb 22 00:50:27 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-H1wJO24y" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Sat Feb 22 00:50:27 UTC 2025 I: Downloading source for unstable/golang-github-tideland-golib=4.24.2-2 Reading package lists... NOTICE: 'golang-github-tideland-golib' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 156 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (dsc) [2357 B] Get:2 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (tar) [149 kB] Get:3 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (diff) [4760 B] Fetched 156 kB in 0s (3747 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'golang-github-tideland-golib' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 156 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (dsc) [2357 B] Get:2 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (tar) [149 kB] Get:3 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (diff) [4760 B] Fetched 156 kB in 0s (3747 kB/s) Download complete and in download only mode ============================================================================= Building golang-github-tideland-golib in unstable on amd64 on ionos1-amd64 now. Date: Sat Feb 22 00:50:28 UTC 2025 Date UTC: Sat Feb 22 00:50:28 UTC 2025 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Fri Feb 21 12:50:28 -12 2025 I: pbuilder-time-stamp: 1740185428 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [golang-github-tideland-golib_4.24.2-2.dsc] I: copying [./golang-github-tideland-golib_4.24.2.orig.tar.gz] I: copying [./golang-github-tideland-golib_4.24.2-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./golang-github-tideland-golib_4.24.2-2.dsc: unsupported subcommand dpkg-source: info: extracting golang-github-tideland-golib in golang-github-tideland-golib-4.24.2 dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2.orig.tar.gz dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying skip_tests_short_mode.patch dpkg-source: info: applying fix-ftbfs.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='e0264916899246b2af0588a5822418a3' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2672076' PS1='# ' PS2='> ' 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.sQU446RZ/pbuilderrc_8Q6u --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.sQU446RZ/b1 --logfile b1/build.log golang-github-tideland-golib_4.24.2-2.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dh-golang, golang-any dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19775 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-golang; however: Package dh-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-golang{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} golang-1.24-go{a} golang-1.24-src{a} golang-any{a} golang-go{a} golang-src{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx pkgconf wget 0 packages upgraded, 36 newly installed, 0 to remove and 0 not upgraded. Need to get 69.6 MB of archives. After unpacking 335 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-4 [92.4 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-5 [294 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-3 [539 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 dh-golang all 1.63 [24.4 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 golang-1.24-src all 1.24.0-1 [20.3 MB] Get: 33 http://deb.debian.org/debian unstable/main amd64 golang-1.24-go amd64 1.24.0-1 [28.6 MB] Get: 34 http://deb.debian.org/debian unstable/main amd64 golang-src all 2:1.24~2 [5136 B] Get: 35 http://deb.debian.org/debian unstable/main amd64 golang-go amd64 2:1.24~2 [44.3 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 golang-any amd64 2:1.24~2 [5216 B] Fetched 69.6 MB in 2s (34.4 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19775 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.23.1-1_amd64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-7_amd64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.4-4_amd64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-5_amd64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../23-libunistring5_1.3-1_amd64.deb ... Unpacking libunistring5:amd64 (1.3-1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../24-libicu72_72.1-6_amd64.deb ... Unpacking libicu72:amd64 (72.1-6) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../25-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.23.1-1_amd64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package dh-golang. Preparing to unpack .../30-dh-golang_1.63_all.deb ... Unpacking dh-golang (1.63) ... Selecting previously unselected package golang-1.24-src. Preparing to unpack .../31-golang-1.24-src_1.24.0-1_all.deb ... Unpacking golang-1.24-src (1.24.0-1) ... Selecting previously unselected package golang-1.24-go. Preparing to unpack .../32-golang-1.24-go_1.24.0-1_amd64.deb ... Unpacking golang-1.24-go (1.24.0-1) ... Selecting previously unselected package golang-src. Preparing to unpack .../33-golang-src_2%3a1.24~2_all.deb ... Unpacking golang-src (2:1.24~2) ... Selecting previously unselected package golang-go:amd64. Preparing to unpack .../34-golang-go_2%3a1.24~2_amd64.deb ... Unpacking golang-go:amd64 (2:1.24~2) ... Selecting previously unselected package golang-any:amd64. Preparing to unpack .../35-golang-any_2%3a1.24~2_amd64.deb ... Unpacking golang-any:amd64 (2:1.24~2) ... Setting up golang-1.24-src (1.24.0-1) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libicu72:amd64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libunistring5:amd64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up golang-1.24-go (1.24.0-1) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up golang-src (2:1.24~2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up golang-go:amd64 (2:1.24~2) ... Setting up golang-any:amd64 (2:1.24~2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Setting up dh-golang (1.63) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/golang-github-tideland-golib-4.24.2/ && 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 > ../golang-github-tideland-golib_4.24.2-2_source.changes dpkg-buildpackage: info: source package golang-github-tideland-golib dpkg-buildpackage: info: source version 4.24.2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jochen Sprickerhof dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=golang --with=golang dh_auto_clean -O--buildsystem=golang dh_autoreconf_clean -O--buildsystem=golang dh_clean -O--buildsystem=golang debian/rules binary dh binary --buildsystem=golang --with=golang dh_update_autotools_config -O--buildsystem=golang dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version internal/itoa math/bits internal/goarch crypto/internal/fips140/alias internal/unsafeheader cmp internal/msan unicode internal/godebugs sync/atomic internal/goos internal/cpu internal/coverage/rtcov internal/runtime/syscall internal/asan internal/runtime/atomic unicode/utf8 internal/byteorder internal/profilerecord internal/goexperiment crypto/internal/fips140/subtle crypto/internal/boring/sig internal/nettrace internal/abi internal/runtime/math internal/runtime/sys encoding container/list unicode/utf16 vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias log/internal internal/chacha8rand crypto/internal/fips140deps/byteorder internal/runtime/exithook internal/bytealg crypto/internal/fips140deps/cpu math internal/stringslite internal/race internal/sync internal/runtime/maps runtime sync internal/reflectlite iter crypto/subtle weak slices maps internal/bisect internal/testlog internal/singleflight unique runtime/cgo errors sort io strconv internal/godebug vendor/golang.org/x/net/dns/dnsmessage internal/oserror path math/rand/v2 bytes crypto/internal/randutil strings hash github.com/tideland/golib/sort syscall crypto/internal/fips140deps/godebug math/rand hash/crc32 hash/adler32 crypto net/netip reflect github.com/tideland/golib/mapreduce vendor/golang.org/x/text/transform crypto/internal/fips140 crypto/internal/impl bufio regexp/syntax html net/http/internal/ascii crypto/internal/fips140/sha256 crypto/tls/internal/fips140tls crypto/internal/fips140/sha512 crypto/internal/fips140/sha3 crypto/internal/fips140/hmac crypto/sha3 crypto/internal/fips140/check crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 crypto/internal/fips140/nistec/fiat crypto/internal/fips140/aes crypto/internal/fips140hash crypto/internal/fips140/tls13 regexp crypto/internal/fips140/edwards25519 internal/syscall/execenv internal/syscall/unix time crypto/internal/fips140/nistec internal/fmtsort encoding/binary io/fs context internal/poll internal/filepathlite vendor/golang.org/x/crypto/internal/poly1305 encoding/base64 os encoding/pem crypto/internal/sysrand fmt path/filepath io/ioutil vendor/golang.org/x/sys/cpu net crypto/internal/entropy crypto/internal/fips140/drbg crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/internal/fips140/ecdh crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 crypto/internal/fips140/mlkem crypto/internal/fips140/rsa crypto/rc4 crypto/md5 crypto/cipher crypto/des vendor/golang.org/x/crypto/chacha20 crypto/internal/boring github.com/tideland/golib/errors encoding/hex log math/big encoding/xml compress/flate net/url vendor/golang.org/x/net/http2/hpack mime vendor/golang.org/x/text/unicode/norm mime/quotedprintable net/http/internal encoding/json github.com/tideland/golib/numerics github.com/tideland/golib/collections github.com/tideland/golib/version crypto/aes crypto/sha1 crypto/ecdh crypto/sha512 crypto/hmac crypto/sha256 vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/text/unicode/bidi compress/gzip vendor/golang.org/x/text/secure/bidirule github.com/tideland/golib/sml github.com/tideland/golib/feed/utils vendor/golang.org/x/net/idna crypto/rand crypto/elliptic crypto/internal/boring/bbig encoding/asn1 crypto/dsa crypto/internal/hpke crypto/ed25519 crypto/rsa github.com/tideland/golib/audit vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix crypto/ecdsa github.com/tideland/golib/identifier log/syslog net/textproto crypto/x509 vendor/golang.org/x/net/http/httpproxy github.com/tideland/golib/logger vendor/golang.org/x/net/http/httpguts mime/multipart github.com/tideland/golib/loop github.com/tideland/golib/stringex github.com/tideland/golib/cache github.com/tideland/golib/monitoring github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/timex github.com/tideland/golib/etc github.com/tideland/golib/gjp github.com/tideland/golib/redis crypto/tls net/http/httptrace net/http github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' dh_auto_test -- -short cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 -short github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version === RUN TestAssertTrue asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) [should fail and be logged] --- PASS: TestAssertTrue (0.00s) === RUN TestAssertFalse asserts_test.go:485: testing assert "false" failed: 'true' (bool) <> 'false' (bool) [should fail and be logged] --- PASS: TestAssertFalse (0.00s) === RUN TestAssertNil asserts_test.go:485: testing assert "nil" failed: 'not nil' (string) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNil (0.00s) === RUN TestAssertNotNil asserts_test.go:485: testing assert "not nil" failed: '' (invalid) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNotNil (0.00s) === RUN TestAssertEqual asserts_test.go:485: testing assert "equal" failed: 'one' (string) <> '1' (int) [should fail and be logged] asserts_test.go:485: testing assert "equal" failed: 'two' (string) <> '2' (string) [should fail and be logged] --- PASS: TestAssertEqual (0.00s) === RUN TestAssertDifferent asserts_test.go:485: testing assert "different" failed: 'one' (string) <> 'one' (string) [should fail and be logged] asserts_test.go:485: testing assert "different" failed: '2' (int) <> '2' (int) [should fail and be logged] --- PASS: TestAssertDifferent (0.00s) === RUN TestAssertAbout asserts_test.go:485: testing assert "about" failed: '0.8' (float64) <> '1' (float64) [different, out of bounds of extent] asserts_test.go:485: testing assert "about" failed: '1.2' (float64) <> '1' (float64) [different, out of bounds of extent] --- PASS: TestAssertAbout (0.00s) === RUN TestAssertRange asserts_test.go:485: testing assert "range" failed: '1' (uint8) <> '&{10 20}' (ptr to audit.lowHigh) [byte out of range] asserts_test.go:485: testing assert "range" failed: '1' (int) <> '&{10 20}' (ptr to audit.lowHigh) [int out of range] asserts_test.go:485: testing assert "range" failed: '1' (float64) <> '&{10 20}' (ptr to audit.lowHigh) [float64 out of range] asserts_test.go:485: testing assert "range" failed: '97' (int32) <> '&{120 122}' (ptr to audit.lowHigh) [rune out of range] asserts_test.go:485: testing assert "range" failed: 'aaa' (string) <> '&{uuuuu zzzzz}' (ptr to audit.lowHigh) [string out of range] asserts_test.go:485: testing assert "range" failed: '2025-02-22 00:55:04.196609776 +0000 UTC m=+0.007112650' (struct Time) <> '&{{13971967083000891120 60007112650 0x6ef660} {13971970884046948080 3600007112650 0x6ef660}}' (ptr to audit.lowHigh) [time out of range] asserts_test.go:485: testing assert "range" failed: '1s' (int64) <> '&{60000000000 3600000000000}' (ptr to audit.lowHigh) [duration in range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (slice of int) <> '&{5 10}' (ptr to audit.lowHigh) [slice length out of range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (array of int) <> '&{5 10}' (ptr to audit.lowHigh) [array length out of range] asserts_test.go:485: testing assert "range" failed: 'map[1:3 2:2 3:1]' (map of int) <> '&{5 10}' (ptr to audit.lowHigh) [map length out of range] --- PASS: TestAssertRange (0.00s) === RUN TestAssertContents asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> 'foo' (string) asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> '[1 2 3 4711 5 6 7 8 9]' (slice of interface {}) asserts_test.go:485: testing assert "contents" failed: 'foobar' (string) <> '[116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116 104 101 32 108 97 122 121 32 100 111 103]' (slice of uint8) --- PASS: TestAssertContents (0.00s) === RUN TestAssertContentsPrint asserts_test.go:161 TestAssertContentsPrint(): printing of failing content tests -------------------------------------------------------------------------------- asserts_test.go:162: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: foobar Full.......: the quick brown fox jumps over the lazy dog Description: test fails but passes, just visualization -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:163: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: [102 111 111 98 97 114] Full.......: [116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 46 46 46] Description: test fails but passes, just visualization -------------------------------------------------------------------------------- --- PASS: TestAssertContentsPrint (0.00s) === RUN TestOffsetPrint -------------------------------------------------------------------------------- asserts_test.go:172: Assert failed! Function...: TestOffsetPrint() Description: should fail referencing line 172 -------------------------------------------------------------------------------- --- PASS: TestOffsetPrint (0.00s) === RUN TestAssertSubstring asserts_test.go:485: testing assert "substring" failed: 'foo' (string) <> 'this is assert test' (string) [should fail and be logged] asserts_test.go:485: testing assert "substring" failed: 'this is assert test' (string) <> 'this is assert test' (string) [should fail and be logged] --- PASS: TestAssertSubstring (0.00s) === RUN TestAssertCase asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'FOO' (string) [is mixed case] asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'foo' (string) [is mixed case] --- PASS: TestAssertCase (0.00s) === RUN TestAssertMatch asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'foo' (string) [should fail and be logged] asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'this*test' (string) [should fail and be logged] --- PASS: TestAssertMatch (0.00s) === RUN TestAssertErrorMatch asserts_test.go:485: testing assert "error match" failed: 'oops, an error' (ptr to errors.errorString) <> 'foo' (string) [should fail and be logged] --- PASS: TestAssertErrorMatch (0.00s) === RUN TestAssertImplementor asserts_test.go:485: testing assert "implementor" failed: 'string test' (string) <> '0xc00011f8d0' (ptr to error) [should fail and be logged] asserts_test.go:485: testing assert "implementor" failed: 'error test' (ptr to errors.errorString) <> '0xc00011f8e0' (ptr to io.Writer) [should fail and be logged] --- PASS: TestAssertImplementor (0.00s) === RUN TestAssertAssignable asserts_test.go:485: testing assert "assignable" failed: 'one' (string) <> '5' (int) [should fail and be logged] --- PASS: TestAssertAssignable (0.00s) === RUN TestAssertUnassignable asserts_test.go:485: testing assert "unassignable" failed: '1' (int) <> '5' (int) [should fail and be logged] --- PASS: TestAssertUnassignable (0.00s) === RUN TestAssertEmpty asserts_test.go:485: testing assert "empty" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "empty" failed: '3' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertEmpty (0.00s) === RUN TestAssertNotEmpty asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "not empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertNotEmpty (0.00s) === RUN TestAssertLength asserts_test.go:485: testing assert "length" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "length" failed: '3' (int) <> '10' (int) [should also fail and be logged] asserts_test.go:485: testing assert "length" failed: 'bool' (string) <> '1' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertLength (0.00s) === RUN TestAssertPanics asserts_test.go:485: testing assert "panics" failed: 'func ()' (string) <> '' (invalid) [should not panic] --- PASS: TestAssertPanics (0.00s) === RUN TestAssertPathExists asserts_test.go:485: testing assert "path exists" failed: '/this/path/will/hopefully/not/exist' (string) <> 'true' (bool) [illegal path] --- PASS: TestAssertPathExists (0.00s) === RUN TestAssertWait asserts_test.go:485: testing assert "wait" failed: 'false' (bool) <> 'true' (bool) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWait (0.21s) === RUN TestAssertWaitTested asserts_test.go:485: testing assert "nil" failed: 'illegal value' (ptr to errors.errorString) <> '' (invalid) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWaitTested (0.21s) === RUN TestAssertRetry asserts_test.go:485: testing assert "retry" failed: 'timeout after 136.018241ms and 10 retries' (string) <> 'successful call' (string) [should fail] --- PASS: TestAssertRetry (0.18s) === RUN TestAssertFail asserts_test.go:485: testing assert "fail" failed: '' (invalid) <> '' (invalid) [this should fail] --- PASS: TestAssertFail (0.00s) === RUN TestTestingAssertion -------------------------------------------------------------------------------- asserts_test.go:394: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: should fail (but not the test) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:395: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:396: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: this should fail too -------------------------------------------------------------------------------- --- PASS: TestTestingAssertion (0.00s) === RUN TestPanicAssert asserts_test.go:403: panic worked: 'assert 'assignable' failed: 'int' <> 'func ()' (should fail)' --- PASS: TestPanicAssert (0.00s) === RUN TestValidationAssertion asserts_test.go:430: [0] assert 'true' failed: 'false' (should fail) / [1] assert 'equal' failed: '1' <> '2' (should fail) --- PASS: TestValidationAssertion (0.00s) === RUN TestSetFailable === RUN TestSetFailable/success === RUN TestSetFailable/fail === NAME TestSetFailable asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) --- PASS: TestSetFailable (0.00s) --- PASS: TestSetFailable/success (0.00s) --- PASS: TestSetFailable/fail (0.00s) === RUN TestTempDirCreate --- PASS: TestTempDirCreate (0.00s) === RUN TestTempDirRestore --- PASS: TestTempDirRestore (0.00s) === RUN TestEnvVarsSet --- PASS: TestEnvVarsSet (0.00s) === RUN TestEnvVarsRestore --- PASS: TestEnvVarsRestore (0.00s) === RUN TestBuildDate --- PASS: TestBuildDate (0.00s) === RUN TestInts --- PASS: TestInts (0.00s) === RUN TestOneOf --- PASS: TestOneOf (0.00s) === RUN TestWords --- PASS: TestWords (0.03s) === RUN TestPattern --- PASS: TestPattern (0.01s) === RUN TestText --- PASS: TestText (1.03s) === RUN TestName --- PASS: TestName (8.61s) === RUN TestDomain --- PASS: TestDomain (0.00s) === RUN TestURL --- PASS: TestURL (2.70s) === RUN TestEMail --- PASS: TestEMail (2.38s) === RUN TestTimes --- PASS: TestTimes (5.48s) PASS ok github.com/tideland/golib/audit 20.924s === RUN TestNoLoader --- PASS: TestNoLoader (0.00s) === RUN TestLoader 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" stopped --- PASS: TestLoader (0.00s) === RUN TestLoading 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" stopped --- PASS: TestLoading (0.07s) === RUN TestConcurrentLoading 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" starts cache_test.go:118 func1(): Goroutine 98 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 99 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 9 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 10 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 11 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 12 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 13 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 14 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 15 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 16 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 17 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 18 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 19 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 20 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 21 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 22 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 23 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 24 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 25 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 26 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 27 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 28 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 29 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 30 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 31 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 32 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 33 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 34 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 35 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 36 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 37 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 38 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 39 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 40 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 41 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 42 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 43 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 44 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 45 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 46 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 47 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 48 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 49 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 50 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 51 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 52 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 53 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 54 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 55 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 56 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 57 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 58 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 59 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 60 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 61 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 62 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 63 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 64 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 65 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 66 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 67 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 68 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 69 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 70 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 71 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 72 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 73 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 74 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 75 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 76 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 77 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 78 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 79 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 80 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 81 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 82 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 83 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 84 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 85 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 86 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 87 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 88 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 89 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 90 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 91 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 92 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 93 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 94 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 95 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 96 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 97 loaded "/concurrent" 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" stopped --- PASS: TestConcurrentLoading (0.05s) === RUN TestOutdatingFail 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" stopped --- PASS: TestOutdatingFail (0.05s) === RUN TestOutdatingReload 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" stopped --- PASS: TestOutdatingReload (0.10s) === RUN TestOutdatingReloadError 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" stopped --- PASS: TestOutdatingReloadError (0.11s) === RUN TestDiscarding 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" stopped --- PASS: TestDiscarding (0.21s) === RUN TestCleanup 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" starts cache_test.go:247 TestCleanup(): 1st: 9 > 2nd: 0 2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" stopped --- PASS: TestCleanup (3.19s) === RUN TestClear 2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" starts cache_test.go:271 TestClear(): 1st: 50 > 2nd: 0 2025-02-22 00:55:21 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" stopped --- PASS: TestClear (2.63s) === RUN TestFileLoader loader_test.go:57 TestFileLoader(): test #0: fa with size 1 mb loader_test.go:57 TestFileLoader(): test #1: fb with size 2 mb loader_test.go:57 TestFileLoader(): test #2: fc with size 3 mb loader_test.go:57 TestFileLoader(): test #3: fd with size 4 mb loader_test.go:57 TestFileLoader(): test #4: fe with size 5 mb --- PASS: TestFileLoader (3.39s) PASS ok github.com/tideland/golib/cache 9.892s === RUN TestRingBufferPush --- PASS: TestRingBufferPush (0.00s) === RUN TestRingBufferPop --- PASS: TestRingBufferPop (0.00s) === RUN TestRingBufferGrow --- PASS: TestRingBufferGrow (0.00s) === RUN TestSetsAddRemove --- PASS: TestSetsAddRemove (0.00s) === RUN TestSetsFindAll --- PASS: TestSetsFindAll (0.00s) === RUN TestSetsDoAll --- PASS: TestSetsDoAll (0.00s) === RUN TestStringSetsAddRemove --- PASS: TestStringSetsAddRemove (0.00s) === RUN TestStringSetsFindAll --- PASS: TestStringSetsFindAll (0.00s) === RUN TestStringSetsDoAll --- PASS: TestStringSetsDoAll (0.00s) === RUN TestStackPushPop --- PASS: TestStackPushPop (0.00s) === RUN TestStackAll --- PASS: TestStackAll (0.00s) === RUN TestStringStackPushPop --- PASS: TestStringStackPushPop (0.00s) === RUN TestTreeCreate --- PASS: TestTreeCreate (0.00s) === RUN TestTreeRemove --- PASS: TestTreeRemove (0.00s) === RUN TestTreeSetValue --- PASS: TestTreeSetValue (0.00s) === RUN TestTreeFind --- PASS: TestTreeFind (0.00s) === RUN TestTreeDo --- PASS: TestTreeDo (0.00s) === RUN TestTreeCopy --- PASS: TestTreeCopy (0.00s) === RUN TestStringTreeCreate --- PASS: TestStringTreeCreate (0.00s) === RUN TestStringTreeRemove --- PASS: TestStringTreeRemove (0.00s) === RUN TestStringTreeSetValue --- PASS: TestStringTreeSetValue (0.00s) === RUN TestStringTreeFind --- PASS: TestStringTreeFind (0.00s) === RUN TestStringTreeDo --- PASS: TestStringTreeDo (0.00s) === RUN TestStringTreeCopy --- PASS: TestStringTreeCopy (0.00s) === RUN TestKeyValueTreeCreate --- PASS: TestKeyValueTreeCreate (0.00s) === RUN TestKeyValueTreeRemove --- PASS: TestKeyValueTreeRemove (0.00s) === RUN TestKeyValueTreeSetKey --- PASS: TestKeyValueTreeSetKey (0.00s) === RUN TestKeyValueTreeSetValue --- PASS: TestKeyValueTreeSetValue (0.00s) === RUN TestKeyValueTreeFind --- PASS: TestKeyValueTreeFind (0.01s) === RUN TestKeyValueTreeDo --- PASS: TestKeyValueTreeDo (0.00s) === RUN TestKeyValueTreeCopy --- PASS: TestKeyValueTreeCopy (0.00s) === RUN TestKeyStringValueTreeCreate --- PASS: TestKeyStringValueTreeCreate (0.00s) === RUN TestKeyStringValueTreeRemove --- PASS: TestKeyStringValueTreeRemove (0.00s) === RUN TestKeyStringValueTreeSetKey --- PASS: TestKeyStringValueTreeSetKey (0.00s) === RUN TestKeyStringValueTreeSetValue --- PASS: TestKeyStringValueTreeSetValue (0.00s) === RUN TestKeyStringValueTreeFind --- PASS: TestKeyStringValueTreeFind (0.00s) === RUN TestKeyStringValueTreeDo --- PASS: TestKeyStringValueTreeDo (0.00s) === RUN TestKeyStringValueTreeCopy --- PASS: TestKeyStringValueTreeCopy (0.00s) PASS ok github.com/tideland/golib/collections 0.093s === RUN TestIsError --- PASS: TestIsError (0.00s) === RUN TestValidation --- PASS: TestValidation (0.00s) === RUN TestAnnotation --- PASS: TestAnnotation (0.00s) === RUN TestCollection --- PASS: TestCollection (0.00s) === RUN TestDoAll --- PASS: TestDoAll (0.00s) PASS ok github.com/tideland/golib/errors 0.068s === RUN TestRead --- PASS: TestRead (0.00s) === RUN TestReadFile --- PASS: TestReadFile (0.00s) === RUN TestWrite --- PASS: TestWrite (0.00s) === RUN TestTemplates --- PASS: TestTemplates (0.00s) === RUN TestHasPath --- PASS: TestHasPath (0.00s) === RUN TestDo --- PASS: TestDo (0.00s) === RUN TestValueSuccess --- PASS: TestValueSuccess (0.00s) === RUN TestGetFail --- PASS: TestGetFail (0.00s) === RUN TestSplit --- PASS: TestSplit (0.01s) === RUN TestDump --- PASS: TestDump (0.00s) === RUN TestApply --- PASS: TestApply (0.00s) === RUN TestContext --- PASS: TestContext (0.00s) PASS ok github.com/tideland/golib/etc 0.084s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestGet atom_test.go:77: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/atom 0.088s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestValidate --- PASS: TestValidate (0.00s) === RUN TestGet rss_test.go:123: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/rss 0.137s === RUN TestStripTags --- PASS: TestStripTags (0.01s) PASS ok github.com/tideland/golib/feed/utils 0.073s === RUN TestParseError --- PASS: TestParseError (0.00s) === RUN TestClear --- PASS: TestClear (0.00s) === RUN TestLength --- PASS: TestLength (0.00s) === RUN TestProcessing gjp_test.go:82 func1(): path 01 => "/A" = "Level One" gjp_test.go:82 func1(): path 02 => "/B/0/S/0" = "red" gjp_test.go:82 func1(): path 03 => "/B/0/S/1" = "green" gjp_test.go:82 func1(): path 04 => "/B/0/S/2" = "1" gjp_test.go:82 func1(): path 05 => "/B/0/S/3" = "2.2" gjp_test.go:82 func1(): path 06 => "/B/0/S/4" = "true" gjp_test.go:82 func1(): path 07 => "/B/0/A" = "Level Two - 0" gjp_test.go:82 func1(): path 08 => "/B/0/B" = "100" gjp_test.go:82 func1(): path 09 => "/B/0/C" = "true" gjp_test.go:82 func1(): path 10 => "/B/0/D/A" = "Level Three - 0" gjp_test.go:82 func1(): path 11 => "/B/0/D/B" = "10.1" gjp_test.go:82 func1(): path 12 => "/B/1/A" = "Level Two - 1" gjp_test.go:82 func1(): path 13 => "/B/1/B" = "200" gjp_test.go:82 func1(): path 14 => "/B/1/C" = "false" gjp_test.go:82 func1(): path 15 => "/B/1/D/B" = "20.2" gjp_test.go:82 func1(): path 16 => "/B/1/D/A" = "Level Three - 1" gjp_test.go:82 func1(): path 17 => "/B/1/S/0" = "orange" gjp_test.go:82 func1(): path 18 => "/B/1/S/1" = "blue" gjp_test.go:82 func1(): path 19 => "/B/1/S/2" = "white" gjp_test.go:82 func1(): path 20 => "/B/2/A" = "Level Two - 2" gjp_test.go:82 func1(): path 21 => "/B/2/B" = "300" gjp_test.go:82 func1(): path 22 => "/B/2/C" = "true" gjp_test.go:82 func1(): path 23 => "/B/2/D/A" = "Level Three - 2" gjp_test.go:82 func1(): path 24 => "/B/2/D/B" = "30.3" gjp_test.go:82 func1(): path 25 => "/B/2/S" = "" gjp_test.go:82 func1(): path 26 => "/D" = "5000000000" gjp_test.go:82 func1(): path 27 => "/T" = "2017-04-29T20:30:00Z" --- PASS: TestProcessing (0.00s) === RUN TestSeparator --- PASS: TestSeparator (0.00s) === RUN TestCompare --- PASS: TestCompare (0.01s) === RUN TestString --- PASS: TestString (0.00s) === RUN TestInt --- PASS: TestInt (0.00s) === RUN TestFloat64 --- PASS: TestFloat64 (0.00s) === RUN TestBool --- PASS: TestBool (0.00s) === RUN TestQuery --- PASS: TestQuery (0.00s) === RUN TestBuilding --- PASS: TestBuilding (0.00s) === RUN TestMarshalJSON --- PASS: TestMarshalJSON (0.00s) PASS ok github.com/tideland/golib/gjp 0.103s === RUN TestTypeAsIdentifierPart --- PASS: TestTypeAsIdentifierPart (0.00s) === RUN TestIdentifier --- PASS: TestIdentifier (0.00s) === RUN TestSepIdentifier --- PASS: TestSepIdentifier (0.00s) === RUN TestStandardUUID --- PASS: TestStandardUUID (14.99s) === RUN TestUUIDVersions uuid_test.go:62 TestUUIDVersions(): UUID V1: 8b4c8fc7-b7f0-1f01-8b18-ab4f23e56b92 uuid_test.go:67 TestUUIDVersions(): UUID V3: c4d91d8a-0d3e-3e3f-8dd6-924b8cc71909 uuid_test.go:72 TestUUIDVersions(): UUID V4: 3eccf792-4228-49d6-8f5e-f6aa26007e18 uuid_test.go:77 TestUUIDVersions(): UUID V5: 479b560a-cc70-5da7-9009-dcda1e772b01 --- PASS: TestUUIDVersions (0.00s) === RUN TestUUIDByHex --- PASS: TestUUIDByHex (0.00s) PASS ok github.com/tideland/golib/identifier 15.056s === RUN TestGetSetLevel --- PASS: TestGetSetLevel (0.00s) === RUN TestGetSetLevelString --- PASS: TestGetSetLevelString (0.00s) === RUN TestFiltering --- PASS: TestFiltering (0.00s) === RUN TestGoLogger 2025/02/22 00:55:43 [DEBUG] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:146) Debug. 2025/02/22 00:55:43 [INFO] [github.com/tideland/golib/logger_test] Info. 2025/02/22 00:55:43 [WARNING] [github.com/tideland/golib/logger_test] Warning. 2025/02/22 00:55:43 [ERROR] [github.com/tideland/golib/logger_test] Error. 2025/02/22 00:55:43 [CRITICAL] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:150) Critical. --- PASS: TestGoLogger (0.00s) === RUN TestSysLogger logger_test.go:156: Network test skipped in short mode --- SKIP: TestSysLogger (0.00s) === RUN TestFatalExit --- PASS: TestFatalExit (0.00s) PASS ok github.com/tideland/golib/logger 0.069s === RUN TestSimpleStop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" stopped --- PASS: TestSimpleStop (0.00s) === RUN TestLogging --- PASS: TestLogging (0.00s) === RUN TestSimpleRestart 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped --- PASS: TestSimpleRestart (0.00s) === RUN TestSimpleKill 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-kill" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "simple-kill" stopped with error: ouch --- PASS: TestSimpleKill (0.00s) === RUN TestError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "error" stopped with error: internal loop error --- PASS: TestError (0.00s) === RUN TestDeferredError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "deferred-error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "deferred-error" stopped with error: deferred error --- PASS: TestDeferredError (0.00s) === RUN TestStopRecoverings 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "stop-recoverings" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" recovered 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" stopped --- PASS: TestStopRecoverings (0.00s) === RUN TestEndRecoverings 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" stopped --- PASS: TestEndRecoverings (0.00s) === RUN TestRecoveringsPanic 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" stopped with error: too many panics --- PASS: TestRecoveringsPanic (0.00s) === RUN TestRecoveringsError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" tries to recover 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" stopped with error: error --- PASS: TestRecoveringsError (0.00s) === RUN TestDescription 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "two::three::four" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "two::three::four" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "two::three::four" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" stopped --- PASS: TestDescription (0.00s) === RUN TestSimpleSentinel 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" stopped --- PASS: TestSimpleSentinel (0.00s) === RUN TestSentinelStoppingLoop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" stopped --- PASS: TestSentinelStoppingLoop (0.00s) === RUN TestSentineForget 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::d" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::d" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::d" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" stopped --- PASS: TestSentineForget (0.00s) === RUN TestSentinelKillingLoopNoHandler 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-no-handler" kills all observables after error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" stopped with error: [LOOP:002] error handling for "loop::b" failed: bang! --- PASS: TestSentinelKillingLoopNoHandler (0.00s) === RUN TestSentinelKillingLoopHandlerRestarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" stopped --- PASS: TestSentinelKillingLoopHandlerRestarts (0.00s) === RUN TestSentinelKillingLoopHandlerStops 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-with-stops" kills all observables after error: oh no! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" stopped with error: [LOOP:002] error handling for "loop::b" failed: oh no! --- PASS: TestSentinelKillingLoopHandlerStops (0.02s) === RUN TestSentinelKillingLoopHandlerRestartAll 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" stopped --- PASS: TestSentinelKillingLoopHandlerRestartAll (0.00s) === RUN TestNestedSentinelKill 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "nested-sentinel-kill::nested" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::nested" stops observable "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] sentinel "nested-sentinel-kill::nested" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "nested-sentinel-kill::nested" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" stopped --- PASS: TestNestedSentinelKill (0.00s) === RUN TestSentinelSwitch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-switch::b" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" stopped --- PASS: TestSentinelSwitch (0.00s) PASS ok github.com/tideland/golib/loop 0.106s === RUN TestMapReduce --- PASS: TestMapReduce (12.30s) PASS ok github.com/tideland/golib/mapreduce 12.380s === RUN TestETMMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestETMMonitor (0.09s) === RUN TestSSIMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped --- PASS: TestSSIMonitor (0.00s) === RUN TestDSRMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: runtime error: integer divide by zero 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestDSRMonitor (0.00s) === RUN TestInternalPanic 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: ouch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestInternalPanic (0.00s) === RUN TestBackendSwitch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestBackendSwitch (0.06s) PASS ok github.com/tideland/golib/monitoring 0.250s === RUN TestSimplePoint --- PASS: TestSimplePoint (0.00s) === RUN TestSimplePointArray --- PASS: TestSimplePointArray (0.00s) === RUN TestSimplePolynomialFunction --- PASS: TestSimplePolynomialFunction (0.00s) === RUN TestPolynomialFunctionPrinting --- PASS: TestPolynomialFunctionPrinting (0.00s) === RUN TestQuadraticPolynomialFunction --- PASS: TestQuadraticPolynomialFunction (0.00s) === RUN TestPolynomialFunctionDifferentiation --- PASS: TestPolynomialFunctionDifferentiation (0.00s) === RUN TestInterpolation --- PASS: TestInterpolation (0.00s) === RUN TestPointsEvaluation --- PASS: TestPointsEvaluation (0.00s) === RUN TestLeastSquaresFunction --- PASS: TestLeastSquaresFunction (0.00s) PASS ok github.com/tideland/golib/numerics 0.076s === RUN TestSimpleKeyOperations commands_test.go:29: Redis test skipped in short mode --- SKIP: TestSimpleKeyOperations (0.00s) === RUN TestScan commands_test.go:90: Redis test skipped in short mode --- SKIP: TestScan (0.00s) === RUN TestHash commands_test.go:131: Redis test skipped in short mode --- SKIP: TestHash (0.00s) === RUN TestHScan commands_test.go:172: Redis test skipped in short mode --- SKIP: TestHScan (0.00s) === RUN TestList commands_test.go:215: Redis test skipped in short mode --- SKIP: TestList (0.00s) === RUN TestSet commands_test.go:233: Redis test skipped in short mode --- SKIP: TestSet (0.00s) === RUN TestSScan commands_test.go:258: Redis test skipped in short mode --- SKIP: TestSScan (0.00s) === RUN TestSortedSet commands_test.go:298: Redis test skipped in short mode --- SKIP: TestSortedSet (0.00s) === RUN TestZScan commands_test.go:324: Redis test skipped in short mode --- SKIP: TestZScan (0.00s) === RUN TestTransactionConnection commands_test.go:367: Redis test skipped in short mode --- SKIP: TestTransactionConnection (0.00s) === RUN TestTransactionPipeline commands_test.go:426: Redis test skipped in short mode --- SKIP: TestTransactionPipeline (0.00s) === RUN TestTransactionPipelineWatch commands_test.go:464: Redis test skipped in short mode --- SKIP: TestTransactionPipelineWatch (0.00s) === RUN TestScripting commands_test.go:499: Redis test skipped in short mode --- SKIP: TestScripting (0.00s) === RUN TestPubSub commands_test.go:540: Redis test skipped in short mode --- SKIP: TestPubSub (0.00s) === RUN TestUnixSocketConnection redis_test.go:29: Redis test skipped in short mode --- SKIP: TestUnixSocketConnection (0.00s) === RUN TestTcpConnection redis_test.go:58: Redis test skipped in short mode --- SKIP: TestTcpConnection (0.00s) === RUN TestPipelining redis_test.go:87: Redis test skipped in short mode --- SKIP: TestPipelining (0.00s) === RUN TestOptions 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "redis::tmp-redis-sock::0" starts --- PASS: TestOptions (0.00s) === RUN TestConcurrency redis_test.go:145: Redis test skipped in short mode --- SKIP: TestConcurrency (0.00s) PASS ok github.com/tideland/golib/redis 0.100s === RUN TestSimpleNoTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" stopped --- PASS: TestSimpleNoTimeout (0.00s) === RUN TestAccessAfterStopping 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" stopped --- PASS: TestAccessAfterStopping (0.00s) === RUN TestCleanupNoError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" stopped --- PASS: TestCleanupNoError (0.00s) === RUN TestCleanupWithErrors 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" stopped with error: [SCENE:005] cleanup of property "bar" failed: ouch --- PASS: TestCleanupWithErrors (0.00s) === RUN TestSimpleInactivityTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" stopped with error: [SCENE:002] scene inactivity timeout reached at 2025-02-22 00:55:44.120916591 +0000 UTC m=+0.101952923 --- PASS: TestSimpleInactivityTimeout (0.11s) === RUN TestSimpleAbsoluteTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.376611649 +0000 UTC m=+0.357647991 --- PASS: TestSimpleAbsoluteTimeout (0.25s) === RUN TestCleanupAfterTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.481644507 +0000 UTC m=+0.462680841 --- PASS: TestCleanupAfterTimeout (0.25s) === RUN TestAbort 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" stopped with error: aborted --- PASS: TestAbort (0.00s) === RUN TestFlagNoTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" stopped --- PASS: TestFlagNoTimeout (0.35s) === RUN TestNoFlagDueToStop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" stopped --- PASS: TestNoFlagDueToStop (0.10s) === RUN TestStoreAndFlag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" stopped --- PASS: TestStoreAndFlag (0.10s) === RUN TestEarlyFlag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" stopped --- PASS: TestEarlyFlag (0.10s) === RUN TestFlagTimeout 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" stopped --- PASS: TestFlagTimeout (0.10s) === RUN TestFlagUnflag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" stopped --- PASS: TestFlagUnflag (0.06s) PASS ok github.com/tideland/golib/scene 1.511s === RUN TestScroller scroller_test.go:173 TestScroller(): test #1/10: no lines existing; initially no lines scrolled 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #2/10: no lines existing; initially five lines scrolled 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #3/10: ten lines existing; initially no lines scrolled 2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #4/10: ten lines existing; initially five lines scrolled 2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #5/10: ten lines existing; initially twenty lines scrolled 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #6/10: ten lines existing; initially twenty lines scrolled; buffer smaller than lines 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #7/10: ten lines existing; initially three lines scrolled; filter lines with special prefix 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #8/10: ten lines existing; initially five lines scrolled; error after further 25 lines 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [ERROR] [github.com/tideland/golib/loop] loop "scroller" stopped with error: ouch scroller_test.go:173 TestScroller(): test #9/10: ten lines existing; initially five lines scrolled; simply stop after 25 lines 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #10/10: unterminated last line is not scrolled 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped --- PASS: TestScroller (11.08s) PASS ok github.com/tideland/golib/scroller 11.203s === RUN TestTagValidation --- PASS: TestTagValidation (0.00s) === RUN TestCreating --- PASS: TestCreating (0.00s) === RUN TestWriterProcessing sml_test.go:86 TestWriterProcessing(): ===== WITH INDENT ===== sml_test.go:87 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #} } {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^. } } {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw. } } sml_test.go:88 TestWriterProcessing(): ===== WITHOUT INDENT ===== sml_test.go:89 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #}} {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^.}} {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw.}} sml_test.go:90 TestWriterProcessing(): ===== DONE ===== --- PASS: TestWriterProcessing (0.00s) === RUN TestPositiveNodeReading sml_test.go:112 TestPositiveNodeReading(): ===== PARSED SML ===== sml_test.go:113 TestPositiveNodeReading(): {foo:main {bar:1:first Yadda ^{Test^} 1 } {! Raw: }} { ! ^^^ !} {between } {bar:2:last Yadda {test ^^ } 2 } } sml_test.go:114 TestPositiveNodeReading(): ===== DONE ===== --- PASS: TestPositiveNodeReading (0.00s) === RUN TestNegativeNodeReading --- PASS: TestNegativeNodeReading (0.00s) === RUN TestPositiveTreeReading sml_test.go:135 TestPositiveTreeReading(): [config = '' [foo = '1'][bar = '2'][yadda = '' [up = 'down'][down = 'up']]] --- PASS: TestPositiveTreeReading (0.00s) === RUN TestNegativeTreeReading --- PASS: TestNegativeTreeReading (0.00s) === RUN TestSML2XML sml_test.go:178 TestSML2XML(): ===== XML ===== sml_test.go:179 TestSML2XML(): A test document

A test document

The is a simple sentence with an emphasized and a strong text. We'll see how it renders.

  • It should be nice.
  • It should be error free.
  • It should be fast.
for foo := 0; foo < 42; foo++ {
	println(foo)
}
  
sml_test.go:180 TestSML2XML(): ===== DONE ===== --- PASS: TestSML2XML (0.00s) PASS ok github.com/tideland/golib/sml 0.060s === RUN TestPivot --- PASS: TestPivot (0.00s) PASS ok github.com/tideland/golib/sort 0.056s === RUN TestAsString defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 0: value 'foo' without error and default bar defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 1: value 'foo' with error and default bar 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsString) value returned with error: foo --- PASS: TestAsString (0.00s) === RUN TestAsStringSlice defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 0: value 'a/b/c' without error and default [a] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 1: value 'a/b/c' with error and default [a] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 2: value 'a/b/c' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 3: value 'a/b/c' with error and default [] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 4: value '' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 5: value '' with error and default [foo] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 6: value 'a/b/c' without error and default [a] --- PASS: TestAsStringSlice (0.00s) === RUN TestAsStringMap defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 0: value 'a:1/b:2' without error and default map[a:1] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 1: value 'a:1/b:2' with error and default map[a:1] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 2: value 'a:1/b:2' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 3: value 'a:1/b:2' with error and default map[] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 4: value '' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 5: value '' with error and default map[a:1] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 6: value 'a:1/b:2' without error and default map[] --- PASS: TestAsStringMap (0.00s) === RUN TestAsBool defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 0: value '1' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 1: value 't' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 2: value 'T' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 3: value 'TRUE' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 4: value 'true' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 5: value 'True' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 6: value 'wahr' without error and default true 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "wahr": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 7: value '' with error and default true 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 8: value '0' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 9: value 'f' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 10: value 'F' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 11: value 'FALSE' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 12: value 'false' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 13: value 'False' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 14: value 'falsch' without error and default false 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "falsch": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 15: value '' with error and default false 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: --- PASS: TestAsBool (0.00s) === RUN TestAsInt defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 0: value '0' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 1: value '1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 2: value '-1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 5: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 6: value '-999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 7: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 8: value '1' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: 1 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 9: value '-1' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: -1 --- PASS: TestAsInt (0.00s) === RUN TestAsInt64 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 0: value '0' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 1: value '1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 2: value '-1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 5: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 6: value '-999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 7: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 8: value '1' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: 1 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 9: value '-1' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: -1 --- PASS: TestAsInt64 (0.00s) === RUN TestAsUint defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 0: value '0' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 1: value '1' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 3: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 4: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 5: value '-1' with error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value returned with error: -1 --- PASS: TestAsUint (0.00s) === RUN TestAsUInt64 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 0: value '0' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 1: value '1' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 3: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 4: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 5: value '-1' with error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value returned with error: -1 --- PASS: TestAsUInt64 (0.00s) === RUN TestAsFloat64 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 0: value '0.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 1: value '1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 2: value '-1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 3: value '1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 4: value '-1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 5: value '9e+999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 6: value '-9e+999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "-9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 7: value 'one.two' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "one.two": invalid syntax defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 8: value '1.0' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: 1.0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 9: value '-1.0' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: -1.0 --- PASS: TestAsFloat64 (0.00s) === RUN TestAsTime defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 0: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 1: value '2025-02-22T00:55:44.052734541Z' with error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value returned with error: 2025-02-22T00:55:44.052734541Z defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 2: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "2025-02-22T00:55:44.052734541Z" as "any false layout": cannot parse "2025-02-22T00:55:44.052734541Z" as "any false layout" defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 3: value '' without error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" --- PASS: TestAsTime (0.03s) === RUN TestAsDuration defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 0: value '1s' without error and default 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 1: value '1s' with error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value returned with error: 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 2: value '2' without error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: missing unit in duration "2" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 3: value '1 hour' without error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: unknown unit " hour" in duration "1 hour" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 4: value '4711h' without error and default 1m0s --- PASS: TestAsDuration (0.00s) === RUN TestDefaulterString --- PASS: TestDefaulterString (0.00s) === RUN TestWrapping --- PASS: TestWrapping (0.00s) === RUN TestSplitMapProcessor --- PASS: TestSplitMapProcessor (0.00s) === RUN TestSubstringProcessor --- PASS: TestSubstringProcessor (0.00s) === RUN TestMatchProcessor --- PASS: TestMatchProcessor (0.00s) === RUN TestTrimmingProcessors --- PASS: TestTrimmingProcessors (0.00s) === RUN TestUpperLowerProcessor --- PASS: TestUpperLowerProcessor (0.00s) === RUN TestProcessorScenario --- PASS: TestProcessorScenario (0.00s) === RUN TestSplitFilter === RUN TestSplitFilter/all_fine === RUN TestSplitFilter/filter_empty_parts === RUN TestSplitFilter/filter_all_parts === RUN TestSplitFilter/filter_empty_input === RUN TestSplitFilter/filter_not_splitted --- PASS: TestSplitFilter (0.00s) --- PASS: TestSplitFilter/all_fine (0.00s) --- PASS: TestSplitFilter/filter_empty_parts (0.00s) --- PASS: TestSplitFilter/filter_all_parts (0.00s) --- PASS: TestSplitFilter/filter_empty_input (0.00s) --- PASS: TestSplitFilter/filter_not_splitted (0.00s) === RUN TestSplitMap === RUN TestSplitMap/uppercase_all === RUN TestSplitMap/filter_empty_parts,_uppercase_the_rest === RUN TestSplitMap/filter_all_parts === RUN TestSplitMap/encapsulate_even_empty_input === RUN TestSplitMap/uppercase_not_splitted --- PASS: TestSplitMap (0.00s) --- PASS: TestSplitMap/uppercase_all (0.00s) --- PASS: TestSplitMap/filter_empty_parts,_uppercase_the_rest (0.00s) --- PASS: TestSplitMap/filter_all_parts (0.00s) --- PASS: TestSplitMap/encapsulate_even_empty_input (0.00s) --- PASS: TestSplitMap/uppercase_not_splitted (0.00s) === RUN TestMatches === RUN TestMatches/equal_pattern_and_string_without_wildcards === RUN TestMatches/unequal_pattern_and_string_without_wildcards === RUN TestMatches/matching_pattern_with_one_question_mark === RUN TestMatches/matching_pattern_with_one_asterisk === RUN TestMatches/matching_pattern_with_char_group === RUN TestMatches/not-matching_pattern_with_char_group === RUN TestMatches/matching_pattern_with_char_range === RUN TestMatches/not-matching_pattern_with_char_range === RUN TestMatches/matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/not-matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/matching_pattern_with_escape === RUN TestMatches/not-matching_pattern_with_escape --- PASS: TestMatches (0.00s) --- PASS: TestMatches/equal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/unequal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/matching_pattern_with_one_question_mark (0.00s) --- PASS: TestMatches/matching_pattern_with_one_asterisk (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/matching_pattern_with_escape (0.00s) --- PASS: TestMatches/not-matching_pattern_with_escape (0.00s) PASS ok github.com/tideland/golib/stringex 0.107s === RUN TestTimeContainments --- PASS: TestTimeContainments (0.00s) === RUN TestBeginOf --- PASS: TestBeginOf (0.00s) === RUN TestEndOf --- PASS: TestEndOf (0.00s) === RUN TestCrontabKeep 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" stopped --- PASS: TestCrontabKeep (1.00s) === RUN TestCrontabRemove 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabRemove (0.50s) === RUN TestCrontabError 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2025-02-22 00:55:45 Z [ERROR] [github.com/tideland/golib/timex.(*Crontab).do] job "remove" removed after error: failed 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabError (0.50s) === RUN TestRetrySuccess --- PASS: TestRetrySuccess (0.21s) === RUN TestRetryFuncError --- PASS: TestRetryFuncError (0.00s) === RUN TestRetryTooLong --- PASS: TestRetryTooLong (0.06s) === RUN TestRetryTooOften --- PASS: TestRetryTooOften (0.08s) PASS ok github.com/tideland/golib/timex 2.427s === RUN TestNew version_test.go:98 TestNew(): new test #0: "1.2.3" version_test.go:98 TestNew(): new test #1: "1.0.3" version_test.go:98 TestNew(): new test #2: "1.2.3-alpha.2014-08-03" version_test.go:98 TestNew(): new test #3: "1.2.3-alphabeta.7.11" version_test.go:98 TestNew(): new test #4: "1.2.3+007.a" version_test.go:98 TestNew(): new test #5: "1.2.3-alpha+007.a" version_test.go:98 TestNew(): new test #6: "1.2.3-ALPHA+007.a" --- PASS: TestNew (0.00s) === RUN TestParse version_test.go:212 TestParse(): parse test #0: "1" version_test.go:212 TestParse(): parse test #1: "1.1" version_test.go:212 TestParse(): parse test #2: "1.2.3" version_test.go:212 TestParse(): parse test #3: "1.0.3" version_test.go:212 TestParse(): parse test #4: "1.2.3-alpha.2016-11-14" version_test.go:212 TestParse(): parse test #5: "1.2.3-alphabeta.7.11" version_test.go:212 TestParse(): parse test #6: "1.2.3+007.a" version_test.go:212 TestParse(): parse test #7: "1.2.3-alpha+007.a" version_test.go:212 TestParse(): parse test #8: "1.2.3-ALPHA+007.a" version_test.go:212 TestParse(): parse test #9: "" version_test.go:212 TestParse(): parse test #10: "a" version_test.go:212 TestParse(): parse test #11: "1.a" version_test.go:212 TestParse(): parse test #12: "1,1" version_test.go:212 TestParse(): parse test #13: "-1" version_test.go:212 TestParse(): parse test #14: "1.-1" version_test.go:212 TestParse(): parse test #15: "+" --- PASS: TestParse (0.00s) === RUN TestCompare version_test.go:320 TestCompare(): compare test #0: "1.2.3" <> "1.2.3" -> 0 / all version_test.go:320 TestCompare(): compare test #1: "1.2.3" <> "1.2.4" -> -1 / patch version_test.go:320 TestCompare(): compare test #2: "1.2.3" <> "1.3.3" -> -1 / minor version_test.go:320 TestCompare(): compare test #3: "1.2.3" <> "2.2.3" -> -1 / major version_test.go:320 TestCompare(): compare test #4: "3.2.1" <> "1.2.3" -> 1 / major version_test.go:320 TestCompare(): compare test #5: "1.2.3-alpha" <> "1.2.3" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> 1 / pre-release version_test.go:320 TestCompare(): compare test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> 0 / all version_test.go:320 TestCompare(): compare test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> 1 / pre-release --- PASS: TestCompare (0.00s) === RUN TestLess version_test.go:399 TestLess(): less test #0: "1.2.3" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #1: "1.2.3" <> "1.2.4" -> true version_test.go:399 TestLess(): less test #2: "1.2.3" <> "1.3.3" -> true version_test.go:399 TestLess(): less test #3: "1.2.3" <> "2.2.3" -> true version_test.go:399 TestLess(): less test #4: "3.2.1" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #5: "1.2.3-alpha" <> "1.2.3" -> true version_test.go:399 TestLess(): less test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> true version_test.go:399 TestLess(): less test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> true version_test.go:399 TestLess(): less test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> false version_test.go:399 TestLess(): less test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> true version_test.go:399 TestLess(): less test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> false version_test.go:399 TestLess(): less test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> false version_test.go:399 TestLess(): less test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> false version_test.go:399 TestLess(): less test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> true version_test.go:399 TestLess(): less test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> false --- PASS: TestLess (0.00s) PASS ok github.com/tideland/golib/version 0.062s make[1]: Leaving directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-tideland-golib-dev/ -O--buildsystem=golang dh_installdocs -O--buildsystem=golang dh_installchangelogs -O--buildsystem=golang dh_installinit -O--buildsystem=golang dh_installsystemduser -O--buildsystem=golang dh_perl -O--buildsystem=golang dh_link -O--buildsystem=golang dh_strip_nondeterminism -O--buildsystem=golang dh_compress -O--buildsystem=golang dh_fixperms -O--buildsystem=golang dh_missing -O--buildsystem=golang dh_installdeb -O--buildsystem=golang dh_golang -O--buildsystem=golang dh_gencontrol -O--buildsystem=golang dpkg-gencontrol: warning: Depends field of package golang-github-tideland-golib-dev: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=golang dh_builddeb -O--buildsystem=golang dpkg-deb: building package 'golang-github-tideland-golib-dev' in '../golang-github-tideland-golib-dev_4.24.2-2_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.buildinfo dpkg-genchanges --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration 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/2672076 and its subdirectories I: Current time: Fri Feb 21 12:56:32 -12 2025 I: pbuilder-time-stamp: 1740185792 Sat Feb 22 00:56:32 UTC 2025 I: Signing ./b1/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo as golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc Sat Feb 22 00:56:32 UTC 2025 I: Signed ./b1/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo as ./b1/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc Sat Feb 22 00:56:32 UTC 2025 - build #1 for golang-github-tideland-golib/unstable/amd64 on ionos1-amd64 done. Starting cleanup. All cleanup done. Sat Feb 22 00:56:32 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-H1wJO24y, removing. /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 00:56 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 00:50 b2 -rw-r--r-- 1 jenkins jenkins 2357 Feb 21 16:28 golang-github-tideland-golib_4.24.2-2.dsc -rw------- 1 jenkins jenkins 3609 Feb 22 00:50 rbuildlog.yOHMYYH /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b1: total 276 -rw-r--r-- 1 jenkins jenkins 113700 Feb 22 00:56 build.log -rw-r--r-- 1 jenkins jenkins 129344 Feb 22 00:56 golang-github-tideland-golib-dev_4.24.2-2_all.deb -rw-r--r-- 1 jenkins jenkins 4760 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2357 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2.dsc -rw-r--r-- 1 jenkins jenkins 4879 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 5761 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1560 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.changes -rw-r--r-- 1 jenkins jenkins 1741 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b2: total 0 Sat Feb 22 00:56:33 UTC 2025 I: Deleting $TMPDIR on ionos1-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Fri Feb 21 12:50:28 -12 2025 I: pbuilder-time-stamp: 1740185428 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [golang-github-tideland-golib_4.24.2-2.dsc] I: copying [./golang-github-tideland-golib_4.24.2.orig.tar.gz] I: copying [./golang-github-tideland-golib_4.24.2-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./golang-github-tideland-golib_4.24.2-2.dsc: unsupported subcommand dpkg-source: info: extracting golang-github-tideland-golib in golang-github-tideland-golib-4.24.2 dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2.orig.tar.gz dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying skip_tests_short_mode.patch dpkg-source: info: applying fix-ftbfs.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='e0264916899246b2af0588a5822418a3' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2672076' PS1='# ' PS2='> ' 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.sQU446RZ/pbuilderrc_8Q6u --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.sQU446RZ/b1 --logfile b1/build.log golang-github-tideland-golib_4.24.2-2.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dh-golang, golang-any dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19775 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-golang; however: Package dh-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-golang{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} golang-1.24-go{a} golang-1.24-src{a} golang-any{a} golang-go{a} golang-src{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx pkgconf wget 0 packages upgraded, 36 newly installed, 0 to remove and 0 not upgraded. Need to get 69.6 MB of archives. After unpacking 335 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-4 [92.4 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-5 [294 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-3 [539 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 dh-golang all 1.63 [24.4 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 golang-1.24-src all 1.24.0-1 [20.3 MB] Get: 33 http://deb.debian.org/debian unstable/main amd64 golang-1.24-go amd64 1.24.0-1 [28.6 MB] Get: 34 http://deb.debian.org/debian unstable/main amd64 golang-src all 2:1.24~2 [5136 B] Get: 35 http://deb.debian.org/debian unstable/main amd64 golang-go amd64 2:1.24~2 [44.3 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 golang-any amd64 2:1.24~2 [5216 B] Fetched 69.6 MB in 2s (34.4 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19775 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.23.1-1_amd64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-7_amd64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.4-4_amd64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-5_amd64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../23-libunistring5_1.3-1_amd64.deb ... Unpacking libunistring5:amd64 (1.3-1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../24-libicu72_72.1-6_amd64.deb ... Unpacking libicu72:amd64 (72.1-6) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../25-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.23.1-1_amd64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package dh-golang. Preparing to unpack .../30-dh-golang_1.63_all.deb ... Unpacking dh-golang (1.63) ... Selecting previously unselected package golang-1.24-src. Preparing to unpack .../31-golang-1.24-src_1.24.0-1_all.deb ... Unpacking golang-1.24-src (1.24.0-1) ... Selecting previously unselected package golang-1.24-go. Preparing to unpack .../32-golang-1.24-go_1.24.0-1_amd64.deb ... Unpacking golang-1.24-go (1.24.0-1) ... Selecting previously unselected package golang-src. Preparing to unpack .../33-golang-src_2%3a1.24~2_all.deb ... Unpacking golang-src (2:1.24~2) ... Selecting previously unselected package golang-go:amd64. Preparing to unpack .../34-golang-go_2%3a1.24~2_amd64.deb ... Unpacking golang-go:amd64 (2:1.24~2) ... Selecting previously unselected package golang-any:amd64. Preparing to unpack .../35-golang-any_2%3a1.24~2_amd64.deb ... Unpacking golang-any:amd64 (2:1.24~2) ... Setting up golang-1.24-src (1.24.0-1) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libicu72:amd64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libunistring5:amd64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up golang-1.24-go (1.24.0-1) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up golang-src (2:1.24~2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up golang-go:amd64 (2:1.24~2) ... Setting up golang-any:amd64 (2:1.24~2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Setting up dh-golang (1.63) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/golang-github-tideland-golib-4.24.2/ && 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 > ../golang-github-tideland-golib_4.24.2-2_source.changes dpkg-buildpackage: info: source package golang-github-tideland-golib dpkg-buildpackage: info: source version 4.24.2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jochen Sprickerhof dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=golang --with=golang dh_auto_clean -O--buildsystem=golang dh_autoreconf_clean -O--buildsystem=golang dh_clean -O--buildsystem=golang debian/rules binary dh binary --buildsystem=golang --with=golang dh_update_autotools_config -O--buildsystem=golang dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version internal/itoa math/bits internal/goarch crypto/internal/fips140/alias internal/unsafeheader cmp internal/msan unicode internal/godebugs sync/atomic internal/goos internal/cpu internal/coverage/rtcov internal/runtime/syscall internal/asan internal/runtime/atomic unicode/utf8 internal/byteorder internal/profilerecord internal/goexperiment crypto/internal/fips140/subtle crypto/internal/boring/sig internal/nettrace internal/abi internal/runtime/math internal/runtime/sys encoding container/list unicode/utf16 vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias log/internal internal/chacha8rand crypto/internal/fips140deps/byteorder internal/runtime/exithook internal/bytealg crypto/internal/fips140deps/cpu math internal/stringslite internal/race internal/sync internal/runtime/maps runtime sync internal/reflectlite iter crypto/subtle weak slices maps internal/bisect internal/testlog internal/singleflight unique runtime/cgo errors sort io strconv internal/godebug vendor/golang.org/x/net/dns/dnsmessage internal/oserror path math/rand/v2 bytes crypto/internal/randutil strings hash github.com/tideland/golib/sort syscall crypto/internal/fips140deps/godebug math/rand hash/crc32 hash/adler32 crypto net/netip reflect github.com/tideland/golib/mapreduce vendor/golang.org/x/text/transform crypto/internal/fips140 crypto/internal/impl bufio regexp/syntax html net/http/internal/ascii crypto/internal/fips140/sha256 crypto/tls/internal/fips140tls crypto/internal/fips140/sha512 crypto/internal/fips140/sha3 crypto/internal/fips140/hmac crypto/sha3 crypto/internal/fips140/check crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 crypto/internal/fips140/nistec/fiat crypto/internal/fips140/aes crypto/internal/fips140hash crypto/internal/fips140/tls13 regexp crypto/internal/fips140/edwards25519 internal/syscall/execenv internal/syscall/unix time crypto/internal/fips140/nistec internal/fmtsort encoding/binary io/fs context internal/poll internal/filepathlite vendor/golang.org/x/crypto/internal/poly1305 encoding/base64 os encoding/pem crypto/internal/sysrand fmt path/filepath io/ioutil vendor/golang.org/x/sys/cpu net crypto/internal/entropy crypto/internal/fips140/drbg crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/internal/fips140/ecdh crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 crypto/internal/fips140/mlkem crypto/internal/fips140/rsa crypto/rc4 crypto/md5 crypto/cipher crypto/des vendor/golang.org/x/crypto/chacha20 crypto/internal/boring github.com/tideland/golib/errors encoding/hex log math/big encoding/xml compress/flate net/url vendor/golang.org/x/net/http2/hpack mime vendor/golang.org/x/text/unicode/norm mime/quotedprintable net/http/internal encoding/json github.com/tideland/golib/numerics github.com/tideland/golib/collections github.com/tideland/golib/version crypto/aes crypto/sha1 crypto/ecdh crypto/sha512 crypto/hmac crypto/sha256 vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/text/unicode/bidi compress/gzip vendor/golang.org/x/text/secure/bidirule github.com/tideland/golib/sml github.com/tideland/golib/feed/utils vendor/golang.org/x/net/idna crypto/rand crypto/elliptic crypto/internal/boring/bbig encoding/asn1 crypto/dsa crypto/internal/hpke crypto/ed25519 crypto/rsa github.com/tideland/golib/audit vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix crypto/ecdsa github.com/tideland/golib/identifier log/syslog net/textproto crypto/x509 vendor/golang.org/x/net/http/httpproxy github.com/tideland/golib/logger vendor/golang.org/x/net/http/httpguts mime/multipart github.com/tideland/golib/loop github.com/tideland/golib/stringex github.com/tideland/golib/cache github.com/tideland/golib/monitoring github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/timex github.com/tideland/golib/etc github.com/tideland/golib/gjp github.com/tideland/golib/redis crypto/tls net/http/httptrace net/http github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' dh_auto_test -- -short cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 -short github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version === RUN TestAssertTrue asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) [should fail and be logged] --- PASS: TestAssertTrue (0.00s) === RUN TestAssertFalse asserts_test.go:485: testing assert "false" failed: 'true' (bool) <> 'false' (bool) [should fail and be logged] --- PASS: TestAssertFalse (0.00s) === RUN TestAssertNil asserts_test.go:485: testing assert "nil" failed: 'not nil' (string) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNil (0.00s) === RUN TestAssertNotNil asserts_test.go:485: testing assert "not nil" failed: '' (invalid) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNotNil (0.00s) === RUN TestAssertEqual asserts_test.go:485: testing assert "equal" failed: 'one' (string) <> '1' (int) [should fail and be logged] asserts_test.go:485: testing assert "equal" failed: 'two' (string) <> '2' (string) [should fail and be logged] --- PASS: TestAssertEqual (0.00s) === RUN TestAssertDifferent asserts_test.go:485: testing assert "different" failed: 'one' (string) <> 'one' (string) [should fail and be logged] asserts_test.go:485: testing assert "different" failed: '2' (int) <> '2' (int) [should fail and be logged] --- PASS: TestAssertDifferent (0.00s) === RUN TestAssertAbout asserts_test.go:485: testing assert "about" failed: '0.8' (float64) <> '1' (float64) [different, out of bounds of extent] asserts_test.go:485: testing assert "about" failed: '1.2' (float64) <> '1' (float64) [different, out of bounds of extent] --- PASS: TestAssertAbout (0.00s) === RUN TestAssertRange asserts_test.go:485: testing assert "range" failed: '1' (uint8) <> '&{10 20}' (ptr to audit.lowHigh) [byte out of range] asserts_test.go:485: testing assert "range" failed: '1' (int) <> '&{10 20}' (ptr to audit.lowHigh) [int out of range] asserts_test.go:485: testing assert "range" failed: '1' (float64) <> '&{10 20}' (ptr to audit.lowHigh) [float64 out of range] asserts_test.go:485: testing assert "range" failed: '97' (int32) <> '&{120 122}' (ptr to audit.lowHigh) [rune out of range] asserts_test.go:485: testing assert "range" failed: 'aaa' (string) <> '&{uuuuu zzzzz}' (ptr to audit.lowHigh) [string out of range] asserts_test.go:485: testing assert "range" failed: '2025-02-22 00:55:04.196609776 +0000 UTC m=+0.007112650' (struct Time) <> '&{{13971967083000891120 60007112650 0x6ef660} {13971970884046948080 3600007112650 0x6ef660}}' (ptr to audit.lowHigh) [time out of range] asserts_test.go:485: testing assert "range" failed: '1s' (int64) <> '&{60000000000 3600000000000}' (ptr to audit.lowHigh) [duration in range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (slice of int) <> '&{5 10}' (ptr to audit.lowHigh) [slice length out of range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (array of int) <> '&{5 10}' (ptr to audit.lowHigh) [array length out of range] asserts_test.go:485: testing assert "range" failed: 'map[1:3 2:2 3:1]' (map of int) <> '&{5 10}' (ptr to audit.lowHigh) [map length out of range] --- PASS: TestAssertRange (0.00s) === RUN TestAssertContents asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> 'foo' (string) asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> '[1 2 3 4711 5 6 7 8 9]' (slice of interface {}) asserts_test.go:485: testing assert "contents" failed: 'foobar' (string) <> '[116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116 104 101 32 108 97 122 121 32 100 111 103]' (slice of uint8) --- PASS: TestAssertContents (0.00s) === RUN TestAssertContentsPrint asserts_test.go:161 TestAssertContentsPrint(): printing of failing content tests -------------------------------------------------------------------------------- asserts_test.go:162: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: foobar Full.......: the quick brown fox jumps over the lazy dog Description: test fails but passes, just visualization -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:163: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: [102 111 111 98 97 114] Full.......: [116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 46 46 46] Description: test fails but passes, just visualization -------------------------------------------------------------------------------- --- PASS: TestAssertContentsPrint (0.00s) === RUN TestOffsetPrint -------------------------------------------------------------------------------- asserts_test.go:172: Assert failed! Function...: TestOffsetPrint() Description: should fail referencing line 172 -------------------------------------------------------------------------------- --- PASS: TestOffsetPrint (0.00s) === RUN TestAssertSubstring asserts_test.go:485: testing assert "substring" failed: 'foo' (string) <> 'this is assert test' (string) [should fail and be logged] asserts_test.go:485: testing assert "substring" failed: 'this is assert test' (string) <> 'this is assert test' (string) [should fail and be logged] --- PASS: TestAssertSubstring (0.00s) === RUN TestAssertCase asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'FOO' (string) [is mixed case] asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'foo' (string) [is mixed case] --- PASS: TestAssertCase (0.00s) === RUN TestAssertMatch asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'foo' (string) [should fail and be logged] asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'this*test' (string) [should fail and be logged] --- PASS: TestAssertMatch (0.00s) === RUN TestAssertErrorMatch asserts_test.go:485: testing assert "error match" failed: 'oops, an error' (ptr to errors.errorString) <> 'foo' (string) [should fail and be logged] --- PASS: TestAssertErrorMatch (0.00s) === RUN TestAssertImplementor asserts_test.go:485: testing assert "implementor" failed: 'string test' (string) <> '0xc00011f8d0' (ptr to error) [should fail and be logged] asserts_test.go:485: testing assert "implementor" failed: 'error test' (ptr to errors.errorString) <> '0xc00011f8e0' (ptr to io.Writer) [should fail and be logged] --- PASS: TestAssertImplementor (0.00s) === RUN TestAssertAssignable asserts_test.go:485: testing assert "assignable" failed: 'one' (string) <> '5' (int) [should fail and be logged] --- PASS: TestAssertAssignable (0.00s) === RUN TestAssertUnassignable asserts_test.go:485: testing assert "unassignable" failed: '1' (int) <> '5' (int) [should fail and be logged] --- PASS: TestAssertUnassignable (0.00s) === RUN TestAssertEmpty asserts_test.go:485: testing assert "empty" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "empty" failed: '3' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertEmpty (0.00s) === RUN TestAssertNotEmpty asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "not empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertNotEmpty (0.00s) === RUN TestAssertLength asserts_test.go:485: testing assert "length" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "length" failed: '3' (int) <> '10' (int) [should also fail and be logged] asserts_test.go:485: testing assert "length" failed: 'bool' (string) <> '1' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertLength (0.00s) === RUN TestAssertPanics asserts_test.go:485: testing assert "panics" failed: 'func ()' (string) <> '' (invalid) [should not panic] --- PASS: TestAssertPanics (0.00s) === RUN TestAssertPathExists asserts_test.go:485: testing assert "path exists" failed: '/this/path/will/hopefully/not/exist' (string) <> 'true' (bool) [illegal path] --- PASS: TestAssertPathExists (0.00s) === RUN TestAssertWait asserts_test.go:485: testing assert "wait" failed: 'false' (bool) <> 'true' (bool) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWait (0.21s) === RUN TestAssertWaitTested asserts_test.go:485: testing assert "nil" failed: 'illegal value' (ptr to errors.errorString) <> '' (invalid) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWaitTested (0.21s) === RUN TestAssertRetry asserts_test.go:485: testing assert "retry" failed: 'timeout after 136.018241ms and 10 retries' (string) <> 'successful call' (string) [should fail] --- PASS: TestAssertRetry (0.18s) === RUN TestAssertFail asserts_test.go:485: testing assert "fail" failed: '' (invalid) <> '' (invalid) [this should fail] --- PASS: TestAssertFail (0.00s) === RUN TestTestingAssertion -------------------------------------------------------------------------------- asserts_test.go:394: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: should fail (but not the test) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:395: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:396: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: this should fail too -------------------------------------------------------------------------------- --- PASS: TestTestingAssertion (0.00s) === RUN TestPanicAssert asserts_test.go:403: panic worked: 'assert 'assignable' failed: 'int' <> 'func ()' (should fail)' --- PASS: TestPanicAssert (0.00s) === RUN TestValidationAssertion asserts_test.go:430: [0] assert 'true' failed: 'false' (should fail) / [1] assert 'equal' failed: '1' <> '2' (should fail) --- PASS: TestValidationAssertion (0.00s) === RUN TestSetFailable === RUN TestSetFailable/success === RUN TestSetFailable/fail === NAME TestSetFailable asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) --- PASS: TestSetFailable (0.00s) --- PASS: TestSetFailable/success (0.00s) --- PASS: TestSetFailable/fail (0.00s) === RUN TestTempDirCreate --- PASS: TestTempDirCreate (0.00s) === RUN TestTempDirRestore --- PASS: TestTempDirRestore (0.00s) === RUN TestEnvVarsSet --- PASS: TestEnvVarsSet (0.00s) === RUN TestEnvVarsRestore --- PASS: TestEnvVarsRestore (0.00s) === RUN TestBuildDate --- PASS: TestBuildDate (0.00s) === RUN TestInts --- PASS: TestInts (0.00s) === RUN TestOneOf --- PASS: TestOneOf (0.00s) === RUN TestWords --- PASS: TestWords (0.03s) === RUN TestPattern --- PASS: TestPattern (0.01s) === RUN TestText --- PASS: TestText (1.03s) === RUN TestName --- PASS: TestName (8.61s) === RUN TestDomain --- PASS: TestDomain (0.00s) === RUN TestURL --- PASS: TestURL (2.70s) === RUN TestEMail --- PASS: TestEMail (2.38s) === RUN TestTimes --- PASS: TestTimes (5.48s) PASS ok github.com/tideland/golib/audit 20.924s === RUN TestNoLoader --- PASS: TestNoLoader (0.00s) === RUN TestLoader 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" stopped --- PASS: TestLoader (0.00s) === RUN TestLoading 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" stopped --- PASS: TestLoading (0.07s) === RUN TestConcurrentLoading 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" starts cache_test.go:118 func1(): Goroutine 98 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 99 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 9 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 10 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 11 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 12 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 13 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 14 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 15 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 16 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 17 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 18 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 19 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 20 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 21 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 22 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 23 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 24 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 25 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 26 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 27 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 28 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 29 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 30 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 31 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 32 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 33 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 34 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 35 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 36 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 37 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 38 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 39 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 40 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 41 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 42 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 43 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 44 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 45 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 46 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 47 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 48 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 49 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 50 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 51 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 52 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 53 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 54 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 55 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 56 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 57 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 58 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 59 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 60 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 61 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 62 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 63 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 64 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 65 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 66 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 67 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 68 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 69 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 70 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 71 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 72 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 73 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 74 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 75 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 76 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 77 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 78 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 79 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 80 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 81 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 82 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 83 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 84 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 85 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 86 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 87 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 88 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 89 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 90 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 91 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 92 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 93 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 94 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 95 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 96 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 97 loaded "/concurrent" 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" stopped --- PASS: TestConcurrentLoading (0.05s) === RUN TestOutdatingFail 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" stopped --- PASS: TestOutdatingFail (0.05s) === RUN TestOutdatingReload 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" stopped --- PASS: TestOutdatingReload (0.10s) === RUN TestOutdatingReloadError 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" stopped --- PASS: TestOutdatingReloadError (0.11s) === RUN TestDiscarding 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" starts 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" stopped --- PASS: TestDiscarding (0.21s) === RUN TestCleanup 2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" starts cache_test.go:247 TestCleanup(): 1st: 9 > 2nd: 0 2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" stopped --- PASS: TestCleanup (3.19s) === RUN TestClear 2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" starts cache_test.go:271 TestClear(): 1st: 50 > 2nd: 0 2025-02-22 00:55:21 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" stopped --- PASS: TestClear (2.63s) === RUN TestFileLoader loader_test.go:57 TestFileLoader(): test #0: fa with size 1 mb loader_test.go:57 TestFileLoader(): test #1: fb with size 2 mb loader_test.go:57 TestFileLoader(): test #2: fc with size 3 mb loader_test.go:57 TestFileLoader(): test #3: fd with size 4 mb loader_test.go:57 TestFileLoader(): test #4: fe with size 5 mb --- PASS: TestFileLoader (3.39s) PASS ok github.com/tideland/golib/cache 9.892s === RUN TestRingBufferPush --- PASS: TestRingBufferPush (0.00s) === RUN TestRingBufferPop --- PASS: TestRingBufferPop (0.00s) === RUN TestRingBufferGrow --- PASS: TestRingBufferGrow (0.00s) === RUN TestSetsAddRemove --- PASS: TestSetsAddRemove (0.00s) === RUN TestSetsFindAll --- PASS: TestSetsFindAll (0.00s) === RUN TestSetsDoAll --- PASS: TestSetsDoAll (0.00s) === RUN TestStringSetsAddRemove --- PASS: TestStringSetsAddRemove (0.00s) === RUN TestStringSetsFindAll --- PASS: TestStringSetsFindAll (0.00s) === RUN TestStringSetsDoAll --- PASS: TestStringSetsDoAll (0.00s) === RUN TestStackPushPop --- PASS: TestStackPushPop (0.00s) === RUN TestStackAll --- PASS: TestStackAll (0.00s) === RUN TestStringStackPushPop --- PASS: TestStringStackPushPop (0.00s) === RUN TestTreeCreate --- PASS: TestTreeCreate (0.00s) === RUN TestTreeRemove --- PASS: TestTreeRemove (0.00s) === RUN TestTreeSetValue --- PASS: TestTreeSetValue (0.00s) === RUN TestTreeFind --- PASS: TestTreeFind (0.00s) === RUN TestTreeDo --- PASS: TestTreeDo (0.00s) === RUN TestTreeCopy --- PASS: TestTreeCopy (0.00s) === RUN TestStringTreeCreate --- PASS: TestStringTreeCreate (0.00s) === RUN TestStringTreeRemove --- PASS: TestStringTreeRemove (0.00s) === RUN TestStringTreeSetValue --- PASS: TestStringTreeSetValue (0.00s) === RUN TestStringTreeFind --- PASS: TestStringTreeFind (0.00s) === RUN TestStringTreeDo --- PASS: TestStringTreeDo (0.00s) === RUN TestStringTreeCopy --- PASS: TestStringTreeCopy (0.00s) === RUN TestKeyValueTreeCreate --- PASS: TestKeyValueTreeCreate (0.00s) === RUN TestKeyValueTreeRemove --- PASS: TestKeyValueTreeRemove (0.00s) === RUN TestKeyValueTreeSetKey --- PASS: TestKeyValueTreeSetKey (0.00s) === RUN TestKeyValueTreeSetValue --- PASS: TestKeyValueTreeSetValue (0.00s) === RUN TestKeyValueTreeFind --- PASS: TestKeyValueTreeFind (0.01s) === RUN TestKeyValueTreeDo --- PASS: TestKeyValueTreeDo (0.00s) === RUN TestKeyValueTreeCopy --- PASS: TestKeyValueTreeCopy (0.00s) === RUN TestKeyStringValueTreeCreate --- PASS: TestKeyStringValueTreeCreate (0.00s) === RUN TestKeyStringValueTreeRemove --- PASS: TestKeyStringValueTreeRemove (0.00s) === RUN TestKeyStringValueTreeSetKey --- PASS: TestKeyStringValueTreeSetKey (0.00s) === RUN TestKeyStringValueTreeSetValue --- PASS: TestKeyStringValueTreeSetValue (0.00s) === RUN TestKeyStringValueTreeFind --- PASS: TestKeyStringValueTreeFind (0.00s) === RUN TestKeyStringValueTreeDo --- PASS: TestKeyStringValueTreeDo (0.00s) === RUN TestKeyStringValueTreeCopy --- PASS: TestKeyStringValueTreeCopy (0.00s) PASS ok github.com/tideland/golib/collections 0.093s === RUN TestIsError --- PASS: TestIsError (0.00s) === RUN TestValidation --- PASS: TestValidation (0.00s) === RUN TestAnnotation --- PASS: TestAnnotation (0.00s) === RUN TestCollection --- PASS: TestCollection (0.00s) === RUN TestDoAll --- PASS: TestDoAll (0.00s) PASS ok github.com/tideland/golib/errors 0.068s === RUN TestRead --- PASS: TestRead (0.00s) === RUN TestReadFile --- PASS: TestReadFile (0.00s) === RUN TestWrite --- PASS: TestWrite (0.00s) === RUN TestTemplates --- PASS: TestTemplates (0.00s) === RUN TestHasPath --- PASS: TestHasPath (0.00s) === RUN TestDo --- PASS: TestDo (0.00s) === RUN TestValueSuccess --- PASS: TestValueSuccess (0.00s) === RUN TestGetFail --- PASS: TestGetFail (0.00s) === RUN TestSplit --- PASS: TestSplit (0.01s) === RUN TestDump --- PASS: TestDump (0.00s) === RUN TestApply --- PASS: TestApply (0.00s) === RUN TestContext --- PASS: TestContext (0.00s) PASS ok github.com/tideland/golib/etc 0.084s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestGet atom_test.go:77: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/atom 0.088s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestValidate --- PASS: TestValidate (0.00s) === RUN TestGet rss_test.go:123: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/rss 0.137s === RUN TestStripTags --- PASS: TestStripTags (0.01s) PASS ok github.com/tideland/golib/feed/utils 0.073s === RUN TestParseError --- PASS: TestParseError (0.00s) === RUN TestClear --- PASS: TestClear (0.00s) === RUN TestLength --- PASS: TestLength (0.00s) === RUN TestProcessing gjp_test.go:82 func1(): path 01 => "/A" = "Level One" gjp_test.go:82 func1(): path 02 => "/B/0/S/0" = "red" gjp_test.go:82 func1(): path 03 => "/B/0/S/1" = "green" gjp_test.go:82 func1(): path 04 => "/B/0/S/2" = "1" gjp_test.go:82 func1(): path 05 => "/B/0/S/3" = "2.2" gjp_test.go:82 func1(): path 06 => "/B/0/S/4" = "true" gjp_test.go:82 func1(): path 07 => "/B/0/A" = "Level Two - 0" gjp_test.go:82 func1(): path 08 => "/B/0/B" = "100" gjp_test.go:82 func1(): path 09 => "/B/0/C" = "true" gjp_test.go:82 func1(): path 10 => "/B/0/D/A" = "Level Three - 0" gjp_test.go:82 func1(): path 11 => "/B/0/D/B" = "10.1" gjp_test.go:82 func1(): path 12 => "/B/1/A" = "Level Two - 1" gjp_test.go:82 func1(): path 13 => "/B/1/B" = "200" gjp_test.go:82 func1(): path 14 => "/B/1/C" = "false" gjp_test.go:82 func1(): path 15 => "/B/1/D/B" = "20.2" gjp_test.go:82 func1(): path 16 => "/B/1/D/A" = "Level Three - 1" gjp_test.go:82 func1(): path 17 => "/B/1/S/0" = "orange" gjp_test.go:82 func1(): path 18 => "/B/1/S/1" = "blue" gjp_test.go:82 func1(): path 19 => "/B/1/S/2" = "white" gjp_test.go:82 func1(): path 20 => "/B/2/A" = "Level Two - 2" gjp_test.go:82 func1(): path 21 => "/B/2/B" = "300" gjp_test.go:82 func1(): path 22 => "/B/2/C" = "true" gjp_test.go:82 func1(): path 23 => "/B/2/D/A" = "Level Three - 2" gjp_test.go:82 func1(): path 24 => "/B/2/D/B" = "30.3" gjp_test.go:82 func1(): path 25 => "/B/2/S" = "" gjp_test.go:82 func1(): path 26 => "/D" = "5000000000" gjp_test.go:82 func1(): path 27 => "/T" = "2017-04-29T20:30:00Z" --- PASS: TestProcessing (0.00s) === RUN TestSeparator --- PASS: TestSeparator (0.00s) === RUN TestCompare --- PASS: TestCompare (0.01s) === RUN TestString --- PASS: TestString (0.00s) === RUN TestInt --- PASS: TestInt (0.00s) === RUN TestFloat64 --- PASS: TestFloat64 (0.00s) === RUN TestBool --- PASS: TestBool (0.00s) === RUN TestQuery --- PASS: TestQuery (0.00s) === RUN TestBuilding --- PASS: TestBuilding (0.00s) === RUN TestMarshalJSON --- PASS: TestMarshalJSON (0.00s) PASS ok github.com/tideland/golib/gjp 0.103s === RUN TestTypeAsIdentifierPart --- PASS: TestTypeAsIdentifierPart (0.00s) === RUN TestIdentifier --- PASS: TestIdentifier (0.00s) === RUN TestSepIdentifier --- PASS: TestSepIdentifier (0.00s) === RUN TestStandardUUID --- PASS: TestStandardUUID (14.99s) === RUN TestUUIDVersions uuid_test.go:62 TestUUIDVersions(): UUID V1: 8b4c8fc7-b7f0-1f01-8b18-ab4f23e56b92 uuid_test.go:67 TestUUIDVersions(): UUID V3: c4d91d8a-0d3e-3e3f-8dd6-924b8cc71909 uuid_test.go:72 TestUUIDVersions(): UUID V4: 3eccf792-4228-49d6-8f5e-f6aa26007e18 uuid_test.go:77 TestUUIDVersions(): UUID V5: 479b560a-cc70-5da7-9009-dcda1e772b01 --- PASS: TestUUIDVersions (0.00s) === RUN TestUUIDByHex --- PASS: TestUUIDByHex (0.00s) PASS ok github.com/tideland/golib/identifier 15.056s === RUN TestGetSetLevel --- PASS: TestGetSetLevel (0.00s) === RUN TestGetSetLevelString --- PASS: TestGetSetLevelString (0.00s) === RUN TestFiltering --- PASS: TestFiltering (0.00s) === RUN TestGoLogger 2025/02/22 00:55:43 [DEBUG] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:146) Debug. 2025/02/22 00:55:43 [INFO] [github.com/tideland/golib/logger_test] Info. 2025/02/22 00:55:43 [WARNING] [github.com/tideland/golib/logger_test] Warning. 2025/02/22 00:55:43 [ERROR] [github.com/tideland/golib/logger_test] Error. 2025/02/22 00:55:43 [CRITICAL] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:150) Critical. --- PASS: TestGoLogger (0.00s) === RUN TestSysLogger logger_test.go:156: Network test skipped in short mode --- SKIP: TestSysLogger (0.00s) === RUN TestFatalExit --- PASS: TestFatalExit (0.00s) PASS ok github.com/tideland/golib/logger 0.069s === RUN TestSimpleStop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" stopped --- PASS: TestSimpleStop (0.00s) === RUN TestLogging --- PASS: TestLogging (0.00s) === RUN TestSimpleRestart 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped --- PASS: TestSimpleRestart (0.00s) === RUN TestSimpleKill 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-kill" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "simple-kill" stopped with error: ouch --- PASS: TestSimpleKill (0.00s) === RUN TestError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "error" stopped with error: internal loop error --- PASS: TestError (0.00s) === RUN TestDeferredError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "deferred-error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "deferred-error" stopped with error: deferred error --- PASS: TestDeferredError (0.00s) === RUN TestStopRecoverings 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "stop-recoverings" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" recovered 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" stopped --- PASS: TestStopRecoverings (0.00s) === RUN TestEndRecoverings 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" stopped --- PASS: TestEndRecoverings (0.00s) === RUN TestRecoveringsPanic 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" stopped with error: too many panics --- PASS: TestRecoveringsPanic (0.00s) === RUN TestRecoveringsError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-error" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" tries to recover 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" stopped with error: error --- PASS: TestRecoveringsError (0.00s) === RUN TestDescription 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "two::three::four" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "two::three::four" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "two::three::four" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" stopped --- PASS: TestDescription (0.00s) === RUN TestSimpleSentinel 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" stopped --- PASS: TestSimpleSentinel (0.00s) === RUN TestSentinelStoppingLoop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" stopped --- PASS: TestSentinelStoppingLoop (0.00s) === RUN TestSentineForget 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::d" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::d" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::d" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" stopped --- PASS: TestSentineForget (0.00s) === RUN TestSentinelKillingLoopNoHandler 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-no-handler" kills all observables after error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" stopped with error: [LOOP:002] error handling for "loop::b" failed: bang! --- PASS: TestSentinelKillingLoopNoHandler (0.00s) === RUN TestSentinelKillingLoopHandlerRestarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" stopped --- PASS: TestSentinelKillingLoopHandlerRestarts (0.00s) === RUN TestSentinelKillingLoopHandlerStops 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-with-stops" kills all observables after error: oh no! 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" stopped with error: [LOOP:002] error handling for "loop::b" failed: oh no! --- PASS: TestSentinelKillingLoopHandlerStops (0.02s) === RUN TestSentinelKillingLoopHandlerRestartAll 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::c" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" stopped --- PASS: TestSentinelKillingLoopHandlerRestartAll (0.00s) === RUN TestNestedSentinelKill 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "nested-sentinel-kill::nested" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::nested" stops observable "loop::b" 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" stopped with error: bang! 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] sentinel "nested-sentinel-kill::nested" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" restarts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "nested-sentinel-kill::nested" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" stopped --- PASS: TestNestedSentinelKill (0.00s) === RUN TestSentinelSwitch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-switch::b" stops observable "loop::a" 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" stopped --- PASS: TestSentinelSwitch (0.00s) PASS ok github.com/tideland/golib/loop 0.106s === RUN TestMapReduce --- PASS: TestMapReduce (12.30s) PASS ok github.com/tideland/golib/mapreduce 12.380s === RUN TestETMMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestETMMonitor (0.09s) === RUN TestSSIMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped --- PASS: TestSSIMonitor (0.00s) === RUN TestDSRMonitor 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: runtime error: integer divide by zero 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestDSRMonitor (0.00s) === RUN TestInternalPanic 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: ouch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestInternalPanic (0.00s) === RUN TestBackendSwitch 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestBackendSwitch (0.06s) PASS ok github.com/tideland/golib/monitoring 0.250s === RUN TestSimplePoint --- PASS: TestSimplePoint (0.00s) === RUN TestSimplePointArray --- PASS: TestSimplePointArray (0.00s) === RUN TestSimplePolynomialFunction --- PASS: TestSimplePolynomialFunction (0.00s) === RUN TestPolynomialFunctionPrinting --- PASS: TestPolynomialFunctionPrinting (0.00s) === RUN TestQuadraticPolynomialFunction --- PASS: TestQuadraticPolynomialFunction (0.00s) === RUN TestPolynomialFunctionDifferentiation --- PASS: TestPolynomialFunctionDifferentiation (0.00s) === RUN TestInterpolation --- PASS: TestInterpolation (0.00s) === RUN TestPointsEvaluation --- PASS: TestPointsEvaluation (0.00s) === RUN TestLeastSquaresFunction --- PASS: TestLeastSquaresFunction (0.00s) PASS ok github.com/tideland/golib/numerics 0.076s === RUN TestSimpleKeyOperations commands_test.go:29: Redis test skipped in short mode --- SKIP: TestSimpleKeyOperations (0.00s) === RUN TestScan commands_test.go:90: Redis test skipped in short mode --- SKIP: TestScan (0.00s) === RUN TestHash commands_test.go:131: Redis test skipped in short mode --- SKIP: TestHash (0.00s) === RUN TestHScan commands_test.go:172: Redis test skipped in short mode --- SKIP: TestHScan (0.00s) === RUN TestList commands_test.go:215: Redis test skipped in short mode --- SKIP: TestList (0.00s) === RUN TestSet commands_test.go:233: Redis test skipped in short mode --- SKIP: TestSet (0.00s) === RUN TestSScan commands_test.go:258: Redis test skipped in short mode --- SKIP: TestSScan (0.00s) === RUN TestSortedSet commands_test.go:298: Redis test skipped in short mode --- SKIP: TestSortedSet (0.00s) === RUN TestZScan commands_test.go:324: Redis test skipped in short mode --- SKIP: TestZScan (0.00s) === RUN TestTransactionConnection commands_test.go:367: Redis test skipped in short mode --- SKIP: TestTransactionConnection (0.00s) === RUN TestTransactionPipeline commands_test.go:426: Redis test skipped in short mode --- SKIP: TestTransactionPipeline (0.00s) === RUN TestTransactionPipelineWatch commands_test.go:464: Redis test skipped in short mode --- SKIP: TestTransactionPipelineWatch (0.00s) === RUN TestScripting commands_test.go:499: Redis test skipped in short mode --- SKIP: TestScripting (0.00s) === RUN TestPubSub commands_test.go:540: Redis test skipped in short mode --- SKIP: TestPubSub (0.00s) === RUN TestUnixSocketConnection redis_test.go:29: Redis test skipped in short mode --- SKIP: TestUnixSocketConnection (0.00s) === RUN TestTcpConnection redis_test.go:58: Redis test skipped in short mode --- SKIP: TestTcpConnection (0.00s) === RUN TestPipelining redis_test.go:87: Redis test skipped in short mode --- SKIP: TestPipelining (0.00s) === RUN TestOptions 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "redis::tmp-redis-sock::0" starts --- PASS: TestOptions (0.00s) === RUN TestConcurrency redis_test.go:145: Redis test skipped in short mode --- SKIP: TestConcurrency (0.00s) PASS ok github.com/tideland/golib/redis 0.100s === RUN TestSimpleNoTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" stopped --- PASS: TestSimpleNoTimeout (0.00s) === RUN TestAccessAfterStopping 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" stopped --- PASS: TestAccessAfterStopping (0.00s) === RUN TestCleanupNoError 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" stopped --- PASS: TestCleanupNoError (0.00s) === RUN TestCleanupWithErrors 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" stopped with error: [SCENE:005] cleanup of property "bar" failed: ouch --- PASS: TestCleanupWithErrors (0.00s) === RUN TestSimpleInactivityTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" stopped with error: [SCENE:002] scene inactivity timeout reached at 2025-02-22 00:55:44.120916591 +0000 UTC m=+0.101952923 --- PASS: TestSimpleInactivityTimeout (0.11s) === RUN TestSimpleAbsoluteTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.376611649 +0000 UTC m=+0.357647991 --- PASS: TestSimpleAbsoluteTimeout (0.25s) === RUN TestCleanupAfterTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.481644507 +0000 UTC m=+0.462680841 --- PASS: TestCleanupAfterTimeout (0.25s) === RUN TestAbort 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" starts 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" stopped with error: aborted --- PASS: TestAbort (0.00s) === RUN TestFlagNoTimeout 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" starts 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" stopped --- PASS: TestFlagNoTimeout (0.35s) === RUN TestNoFlagDueToStop 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" stopped --- PASS: TestNoFlagDueToStop (0.10s) === RUN TestStoreAndFlag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" stopped --- PASS: TestStoreAndFlag (0.10s) === RUN TestEarlyFlag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" stopped --- PASS: TestEarlyFlag (0.10s) === RUN TestFlagTimeout 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" stopped --- PASS: TestFlagTimeout (0.10s) === RUN TestFlagUnflag 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" stopped --- PASS: TestFlagUnflag (0.06s) PASS ok github.com/tideland/golib/scene 1.511s === RUN TestScroller scroller_test.go:173 TestScroller(): test #1/10: no lines existing; initially no lines scrolled 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #2/10: no lines existing; initially five lines scrolled 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #3/10: ten lines existing; initially no lines scrolled 2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #4/10: ten lines existing; initially five lines scrolled 2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #5/10: ten lines existing; initially twenty lines scrolled 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #6/10: ten lines existing; initially twenty lines scrolled; buffer smaller than lines 2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #7/10: ten lines existing; initially three lines scrolled; filter lines with special prefix 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #8/10: ten lines existing; initially five lines scrolled; error after further 25 lines 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:54 Z [ERROR] [github.com/tideland/golib/loop] loop "scroller" stopped with error: ouch scroller_test.go:173 TestScroller(): test #9/10: ten lines existing; initially five lines scrolled; simply stop after 25 lines 2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #10/10: unterminated last line is not scrolled 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped --- PASS: TestScroller (11.08s) PASS ok github.com/tideland/golib/scroller 11.203s === RUN TestTagValidation --- PASS: TestTagValidation (0.00s) === RUN TestCreating --- PASS: TestCreating (0.00s) === RUN TestWriterProcessing sml_test.go:86 TestWriterProcessing(): ===== WITH INDENT ===== sml_test.go:87 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #} } {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^. } } {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw. } } sml_test.go:88 TestWriterProcessing(): ===== WITHOUT INDENT ===== sml_test.go:89 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #}} {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^.}} {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw.}} sml_test.go:90 TestWriterProcessing(): ===== DONE ===== --- PASS: TestWriterProcessing (0.00s) === RUN TestPositiveNodeReading sml_test.go:112 TestPositiveNodeReading(): ===== PARSED SML ===== sml_test.go:113 TestPositiveNodeReading(): {foo:main {bar:1:first Yadda ^{Test^} 1 } {! Raw: }} { ! ^^^ !} {between } {bar:2:last Yadda {test ^^ } 2 } } sml_test.go:114 TestPositiveNodeReading(): ===== DONE ===== --- PASS: TestPositiveNodeReading (0.00s) === RUN TestNegativeNodeReading --- PASS: TestNegativeNodeReading (0.00s) === RUN TestPositiveTreeReading sml_test.go:135 TestPositiveTreeReading(): [config = '' [foo = '1'][bar = '2'][yadda = '' [up = 'down'][down = 'up']]] --- PASS: TestPositiveTreeReading (0.00s) === RUN TestNegativeTreeReading --- PASS: TestNegativeTreeReading (0.00s) === RUN TestSML2XML sml_test.go:178 TestSML2XML(): ===== XML ===== sml_test.go:179 TestSML2XML(): A test document

A test document

The is a simple sentence with an emphasized and a strong text. We'll see how it renders.

  • It should be nice.
  • It should be error free.
  • It should be fast.
for foo := 0; foo < 42; foo++ {
	println(foo)
}
  
sml_test.go:180 TestSML2XML(): ===== DONE ===== --- PASS: TestSML2XML (0.00s) PASS ok github.com/tideland/golib/sml 0.060s === RUN TestPivot --- PASS: TestPivot (0.00s) PASS ok github.com/tideland/golib/sort 0.056s === RUN TestAsString defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 0: value 'foo' without error and default bar defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 1: value 'foo' with error and default bar 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsString) value returned with error: foo --- PASS: TestAsString (0.00s) === RUN TestAsStringSlice defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 0: value 'a/b/c' without error and default [a] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 1: value 'a/b/c' with error and default [a] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 2: value 'a/b/c' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 3: value 'a/b/c' with error and default [] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 4: value '' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 5: value '' with error and default [foo] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 6: value 'a/b/c' without error and default [a] --- PASS: TestAsStringSlice (0.00s) === RUN TestAsStringMap defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 0: value 'a:1/b:2' without error and default map[a:1] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 1: value 'a:1/b:2' with error and default map[a:1] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 2: value 'a:1/b:2' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 3: value 'a:1/b:2' with error and default map[] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 4: value '' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 5: value '' with error and default map[a:1] 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 6: value 'a:1/b:2' without error and default map[] --- PASS: TestAsStringMap (0.00s) === RUN TestAsBool defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 0: value '1' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 1: value 't' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 2: value 'T' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 3: value 'TRUE' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 4: value 'true' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 5: value 'True' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 6: value 'wahr' without error and default true 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "wahr": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 7: value '' with error and default true 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 8: value '0' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 9: value 'f' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 10: value 'F' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 11: value 'FALSE' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 12: value 'false' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 13: value 'False' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 14: value 'falsch' without error and default false 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "falsch": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 15: value '' with error and default false 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: --- PASS: TestAsBool (0.00s) === RUN TestAsInt defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 0: value '0' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 1: value '1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 2: value '-1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 5: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 6: value '-999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 7: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 8: value '1' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: 1 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 9: value '-1' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: -1 --- PASS: TestAsInt (0.00s) === RUN TestAsInt64 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 0: value '0' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 1: value '1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 2: value '-1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 5: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 6: value '-999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 7: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 8: value '1' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: 1 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 9: value '-1' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: -1 --- PASS: TestAsInt64 (0.00s) === RUN TestAsUint defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 0: value '0' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 1: value '1' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 3: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 4: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 5: value '-1' with error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value returned with error: -1 --- PASS: TestAsUint (0.00s) === RUN TestAsUInt64 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 0: value '0' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 1: value '1' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 3: value '999999999999999999999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 4: value 'one two three' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 5: value '-1' with error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value returned with error: -1 --- PASS: TestAsUInt64 (0.00s) === RUN TestAsFloat64 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 0: value '0.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 1: value '1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 2: value '-1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 3: value '1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 4: value '-1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 5: value '9e+999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 6: value '-9e+999' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "-9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 7: value 'one.two' without error and default 1 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "one.two": invalid syntax defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 8: value '1.0' with error and default 2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: 1.0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 9: value '-1.0' with error and default -2 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: -1.0 --- PASS: TestAsFloat64 (0.00s) === RUN TestAsTime defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 0: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 1: value '2025-02-22T00:55:44.052734541Z' with error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value returned with error: 2025-02-22T00:55:44.052734541Z defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 2: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "2025-02-22T00:55:44.052734541Z" as "any false layout": cannot parse "2025-02-22T00:55:44.052734541Z" as "any false layout" defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 3: value '' without error and default 2000-01-01 00:00:00 +0000 UTC 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" --- PASS: TestAsTime (0.03s) === RUN TestAsDuration defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 0: value '1s' without error and default 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 1: value '1s' with error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value returned with error: 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 2: value '2' without error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: missing unit in duration "2" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 3: value '1 hour' without error and default 1m0s 2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: unknown unit " hour" in duration "1 hour" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 4: value '4711h' without error and default 1m0s --- PASS: TestAsDuration (0.00s) === RUN TestDefaulterString --- PASS: TestDefaulterString (0.00s) === RUN TestWrapping --- PASS: TestWrapping (0.00s) === RUN TestSplitMapProcessor --- PASS: TestSplitMapProcessor (0.00s) === RUN TestSubstringProcessor --- PASS: TestSubstringProcessor (0.00s) === RUN TestMatchProcessor --- PASS: TestMatchProcessor (0.00s) === RUN TestTrimmingProcessors --- PASS: TestTrimmingProcessors (0.00s) === RUN TestUpperLowerProcessor --- PASS: TestUpperLowerProcessor (0.00s) === RUN TestProcessorScenario --- PASS: TestProcessorScenario (0.00s) === RUN TestSplitFilter === RUN TestSplitFilter/all_fine === RUN TestSplitFilter/filter_empty_parts === RUN TestSplitFilter/filter_all_parts === RUN TestSplitFilter/filter_empty_input === RUN TestSplitFilter/filter_not_splitted --- PASS: TestSplitFilter (0.00s) --- PASS: TestSplitFilter/all_fine (0.00s) --- PASS: TestSplitFilter/filter_empty_parts (0.00s) --- PASS: TestSplitFilter/filter_all_parts (0.00s) --- PASS: TestSplitFilter/filter_empty_input (0.00s) --- PASS: TestSplitFilter/filter_not_splitted (0.00s) === RUN TestSplitMap === RUN TestSplitMap/uppercase_all === RUN TestSplitMap/filter_empty_parts,_uppercase_the_rest === RUN TestSplitMap/filter_all_parts === RUN TestSplitMap/encapsulate_even_empty_input === RUN TestSplitMap/uppercase_not_splitted --- PASS: TestSplitMap (0.00s) --- PASS: TestSplitMap/uppercase_all (0.00s) --- PASS: TestSplitMap/filter_empty_parts,_uppercase_the_rest (0.00s) --- PASS: TestSplitMap/filter_all_parts (0.00s) --- PASS: TestSplitMap/encapsulate_even_empty_input (0.00s) --- PASS: TestSplitMap/uppercase_not_splitted (0.00s) === RUN TestMatches === RUN TestMatches/equal_pattern_and_string_without_wildcards === RUN TestMatches/unequal_pattern_and_string_without_wildcards === RUN TestMatches/matching_pattern_with_one_question_mark === RUN TestMatches/matching_pattern_with_one_asterisk === RUN TestMatches/matching_pattern_with_char_group === RUN TestMatches/not-matching_pattern_with_char_group === RUN TestMatches/matching_pattern_with_char_range === RUN TestMatches/not-matching_pattern_with_char_range === RUN TestMatches/matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/not-matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/matching_pattern_with_escape === RUN TestMatches/not-matching_pattern_with_escape --- PASS: TestMatches (0.00s) --- PASS: TestMatches/equal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/unequal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/matching_pattern_with_one_question_mark (0.00s) --- PASS: TestMatches/matching_pattern_with_one_asterisk (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/matching_pattern_with_escape (0.00s) --- PASS: TestMatches/not-matching_pattern_with_escape (0.00s) PASS ok github.com/tideland/golib/stringex 0.107s === RUN TestTimeContainments --- PASS: TestTimeContainments (0.00s) === RUN TestBeginOf --- PASS: TestBeginOf (0.00s) === RUN TestEndOf --- PASS: TestEndOf (0.00s) === RUN TestCrontabKeep 2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" stopped --- PASS: TestCrontabKeep (1.00s) === RUN TestCrontabRemove 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabRemove (0.50s) === RUN TestCrontabError 2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2025-02-22 00:55:45 Z [ERROR] [github.com/tideland/golib/timex.(*Crontab).do] job "remove" removed after error: failed 2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabError (0.50s) === RUN TestRetrySuccess --- PASS: TestRetrySuccess (0.21s) === RUN TestRetryFuncError --- PASS: TestRetryFuncError (0.00s) === RUN TestRetryTooLong --- PASS: TestRetryTooLong (0.06s) === RUN TestRetryTooOften --- PASS: TestRetryTooOften (0.08s) PASS ok github.com/tideland/golib/timex 2.427s === RUN TestNew version_test.go:98 TestNew(): new test #0: "1.2.3" version_test.go:98 TestNew(): new test #1: "1.0.3" version_test.go:98 TestNew(): new test #2: "1.2.3-alpha.2014-08-03" version_test.go:98 TestNew(): new test #3: "1.2.3-alphabeta.7.11" version_test.go:98 TestNew(): new test #4: "1.2.3+007.a" version_test.go:98 TestNew(): new test #5: "1.2.3-alpha+007.a" version_test.go:98 TestNew(): new test #6: "1.2.3-ALPHA+007.a" --- PASS: TestNew (0.00s) === RUN TestParse version_test.go:212 TestParse(): parse test #0: "1" version_test.go:212 TestParse(): parse test #1: "1.1" version_test.go:212 TestParse(): parse test #2: "1.2.3" version_test.go:212 TestParse(): parse test #3: "1.0.3" version_test.go:212 TestParse(): parse test #4: "1.2.3-alpha.2016-11-14" version_test.go:212 TestParse(): parse test #5: "1.2.3-alphabeta.7.11" version_test.go:212 TestParse(): parse test #6: "1.2.3+007.a" version_test.go:212 TestParse(): parse test #7: "1.2.3-alpha+007.a" version_test.go:212 TestParse(): parse test #8: "1.2.3-ALPHA+007.a" version_test.go:212 TestParse(): parse test #9: "" version_test.go:212 TestParse(): parse test #10: "a" version_test.go:212 TestParse(): parse test #11: "1.a" version_test.go:212 TestParse(): parse test #12: "1,1" version_test.go:212 TestParse(): parse test #13: "-1" version_test.go:212 TestParse(): parse test #14: "1.-1" version_test.go:212 TestParse(): parse test #15: "+" --- PASS: TestParse (0.00s) === RUN TestCompare version_test.go:320 TestCompare(): compare test #0: "1.2.3" <> "1.2.3" -> 0 / all version_test.go:320 TestCompare(): compare test #1: "1.2.3" <> "1.2.4" -> -1 / patch version_test.go:320 TestCompare(): compare test #2: "1.2.3" <> "1.3.3" -> -1 / minor version_test.go:320 TestCompare(): compare test #3: "1.2.3" <> "2.2.3" -> -1 / major version_test.go:320 TestCompare(): compare test #4: "3.2.1" <> "1.2.3" -> 1 / major version_test.go:320 TestCompare(): compare test #5: "1.2.3-alpha" <> "1.2.3" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> 1 / pre-release version_test.go:320 TestCompare(): compare test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> 0 / all version_test.go:320 TestCompare(): compare test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> 1 / pre-release --- PASS: TestCompare (0.00s) === RUN TestLess version_test.go:399 TestLess(): less test #0: "1.2.3" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #1: "1.2.3" <> "1.2.4" -> true version_test.go:399 TestLess(): less test #2: "1.2.3" <> "1.3.3" -> true version_test.go:399 TestLess(): less test #3: "1.2.3" <> "2.2.3" -> true version_test.go:399 TestLess(): less test #4: "3.2.1" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #5: "1.2.3-alpha" <> "1.2.3" -> true version_test.go:399 TestLess(): less test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> true version_test.go:399 TestLess(): less test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> true version_test.go:399 TestLess(): less test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> false version_test.go:399 TestLess(): less test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> true version_test.go:399 TestLess(): less test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> false version_test.go:399 TestLess(): less test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> false version_test.go:399 TestLess(): less test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> false version_test.go:399 TestLess(): less test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> true version_test.go:399 TestLess(): less test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> false --- PASS: TestLess (0.00s) PASS ok github.com/tideland/golib/version 0.062s make[1]: Leaving directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-tideland-golib-dev/ -O--buildsystem=golang dh_installdocs -O--buildsystem=golang dh_installchangelogs -O--buildsystem=golang dh_installinit -O--buildsystem=golang dh_installsystemduser -O--buildsystem=golang dh_perl -O--buildsystem=golang dh_link -O--buildsystem=golang dh_strip_nondeterminism -O--buildsystem=golang dh_compress -O--buildsystem=golang dh_fixperms -O--buildsystem=golang dh_missing -O--buildsystem=golang dh_installdeb -O--buildsystem=golang dh_golang -O--buildsystem=golang dh_gencontrol -O--buildsystem=golang dpkg-gencontrol: warning: Depends field of package golang-github-tideland-golib-dev: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=golang dh_builddeb -O--buildsystem=golang dpkg-deb: building package 'golang-github-tideland-golib-dev' in '../golang-github-tideland-golib-dev_4.24.2-2_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.buildinfo dpkg-genchanges --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration 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/2672076 and its subdirectories I: Current time: Fri Feb 21 12:56:32 -12 2025 I: pbuilder-time-stamp: 1740185792 Sat Feb 22 00:56:34 UTC 2025 I: 1st build successful. Starting 2nd build on remote node ionos15-amd64.debian.net. Sat Feb 22 00:56:34 UTC 2025 I: Preparing to do remote build '2' on ionos15-amd64.debian.net. Sat Feb 22 00:56:34 UTC 2025 - checking /var/lib/jenkins/offline_nodes if ionos15-amd64.debian.net is marked as down. Sat Feb 22 00:56:34 UTC 2025 - checking via ssh if ionos15-amd64.debian.net is up. removed '/tmp/read-only-fs-test-Xk24X2' ==================================================================================== Fri Mar 27 07:19:35 UTC 2026 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos15-amd64, called using "2 golang-github-tideland-golib unstable /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ 4.24.2-2" as arguments. Fri Mar 27 07:19:35 UTC 2026 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-rQyGupqh" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Mar 27 07:19:35 UTC 2026 I: Downloading source for unstable/golang-github-tideland-golib=4.24.2-2 Reading package lists... NOTICE: 'golang-github-tideland-golib' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 156 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (dsc) [2357 B] Get:2 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (tar) [149 kB] Get:3 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (diff) [4760 B] Fetched 156 kB in 0s (8205 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'golang-github-tideland-golib' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-tideland-golib.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 156 kB of source archives. Get:1 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (dsc) [2357 B] Get:2 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (tar) [149 kB] Get:3 http://deb.debian.org/debian unstable/main golang-github-tideland-golib 4.24.2-2 (diff) [4760 B] Fetched 156 kB in 0s (8205 kB/s) Download complete and in download only mode ============================================================================= Re-Building golang-github-tideland-golib in unstable on amd64 on ionos15-amd64 now. Date: Fri Mar 27 07:19:35 UTC 2026 Date UTC: Fri Mar 27 07:19:35 UTC 2026 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/pbuilderrc_N3J2 + case ${ARCH} in + case $ARCH in + locale=et_EE + language=et + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' golang-github-tideland-golib = debian-installer -o golang-github-tideland-golib = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' golang-github-tideland-golib = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo 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.sQU446RZ/pbuilderrc_N3J2 --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.sQU446RZ/b2 --logfile b2/build.log golang-github-tideland-golib_4.24.2-2.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Fri Mar 27 21:19:35 +14 2026 I: pbuilder-time-stamp: 1774595975 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [golang-github-tideland-golib_4.24.2-2.dsc] I: copying [./golang-github-tideland-golib_4.24.2.orig.tar.gz] I: copying [./golang-github-tideland-golib_4.24.2-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./golang-github-tideland-golib_4.24.2-2.dsc: unsupported subcommand dpkg-source: info: extracting golang-github-tideland-golib in golang-github-tideland-golib-4.24.2 dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2.orig.tar.gz dpkg-source: info: unpacking golang-github-tideland-golib_4.24.2-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying skip_tests_short_mode.patch dpkg-source: info: applying fix-ftbfs.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D01_modify_environment starting debug: Running on ionos15-amd64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Mar 27 07: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/2140041/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=0e257a51bba249f9b099cee1a0ecc052 LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=2140041 PS4='+ ' 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.sQU446RZ/pbuilderrc_N3J2 --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.sQU446RZ/b2 --logfile b2/build.log golang-github-tideland-golib_4.24.2-2.dsc' SUDO_GID=111 SUDO_UID=106 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 i-capture-the-hostname 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dh-golang, golang-any dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19775 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-golang; however: Package dh-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-golang{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} golang-1.24-go{a} golang-1.24-src{a} golang-any{a} golang-go{a} golang-src{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx pkgconf wget 0 packages upgraded, 36 newly installed, 0 to remove and 0 not upgraded. Need to get 69.6 MB of archives. After unpacking 335 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-4 [92.4 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-5 [294 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-3 [539 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 22 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 dh-golang all 1.63 [24.4 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 golang-1.24-src all 1.24.0-1 [20.3 MB] Get: 33 http://deb.debian.org/debian unstable/main amd64 golang-1.24-go amd64 1.24.0-1 [28.6 MB] Get: 34 http://deb.debian.org/debian unstable/main amd64 golang-src all 2:1.24~2 [5136 B] Get: 35 http://deb.debian.org/debian unstable/main amd64 golang-go amd64 2:1.24~2 [44.3 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 golang-any amd64 2:1.24~2 [5216 B] Fetched 69.6 MB in 1s (51.5 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19775 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.23.1-1_amd64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-7_amd64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.4-4_amd64.deb ... Unpacking bsdextrautils (2.40.4-4) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../08-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-5_amd64.deb ... Unpacking m4 (1.4.19-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../11-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../13-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.5.4-3_all.deb ... Unpacking libtool (2.5.4-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../17-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../18-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../19-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../21-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../23-libunistring5_1.3-1_amd64.deb ... Unpacking libunistring5:amd64 (1.3-1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../24-libicu72_72.1-6_amd64.deb ... Unpacking libicu72:amd64 (72.1-6) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../25-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../26-gettext_0.23.1-1_amd64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../29-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package dh-golang. Preparing to unpack .../30-dh-golang_1.63_all.deb ... Unpacking dh-golang (1.63) ... Selecting previously unselected package golang-1.24-src. Preparing to unpack .../31-golang-1.24-src_1.24.0-1_all.deb ... Unpacking golang-1.24-src (1.24.0-1) ... Selecting previously unselected package golang-1.24-go. Preparing to unpack .../32-golang-1.24-go_1.24.0-1_amd64.deb ... Unpacking golang-1.24-go (1.24.0-1) ... Selecting previously unselected package golang-src. Preparing to unpack .../33-golang-src_2%3a1.24~2_all.deb ... Unpacking golang-src (2:1.24~2) ... Selecting previously unselected package golang-go:amd64. Preparing to unpack .../34-golang-go_2%3a1.24~2_amd64.deb ... Unpacking golang-go:amd64 (2:1.24~2) ... Selecting previously unselected package golang-any:amd64. Preparing to unpack .../35-golang-any_2%3a1.24~2_amd64.deb ... Unpacking golang-any:amd64 (2:1.24~2) ... Setting up golang-1.24-src (1.24.0-1) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libicu72:amd64 (72.1-6) ... Setting up bsdextrautils (2.40.4-4) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-5) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up libunistring5:amd64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up golang-1.24-go (1.24.0-1) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up golang-src (2:1.24~2) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-3) ... Setting up golang-go:amd64 (2:1.24~2) ... Setting up golang-any:amd64 (2:1.24~2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up groff-base (1.23.0-7) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.24.1) ... Setting up dh-golang (1.63) ... Processing triggers for libc-bin (2.40-7) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/golang-github-tideland-golib-4.24.2/ && 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 > ../golang-github-tideland-golib_4.24.2-2_source.changes dpkg-buildpackage: info: source package golang-github-tideland-golib dpkg-buildpackage: info: source version 4.24.2-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jochen Sprickerhof dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=golang --with=golang dh_auto_clean -O--buildsystem=golang dh_autoreconf_clean -O--buildsystem=golang dh_clean -O--buildsystem=golang debian/rules binary dh binary --buildsystem=golang --with=golang dh_update_autotools_config -O--buildsystem=golang dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version internal/profilerecord internal/unsafeheader math/bits crypto/internal/fips140/alias unicode/utf8 internal/itoa internal/coverage/rtcov unicode cmp internal/godebugs internal/byteorder internal/goos encoding internal/runtime/syscall internal/nettrace internal/asan crypto/internal/boring/sig internal/runtime/atomic sync/atomic internal/msan internal/goarch internal/cpu internal/goexperiment vendor/golang.org/x/crypto/internal/alias unicode/utf16 container/list log/internal vendor/golang.org/x/crypto/cryptobyte/asn1 crypto/internal/fips140/subtle internal/runtime/math internal/runtime/sys internal/abi crypto/internal/fips140deps/byteorder internal/chacha8rand crypto/internal/fips140deps/cpu internal/bytealg math internal/runtime/exithook internal/stringslite internal/race internal/sync internal/runtime/maps runtime crypto/subtle weak internal/reflectlite iter sync maps slices errors sort internal/singleflight internal/bisect internal/testlog unique internal/oserror path io vendor/golang.org/x/net/dns/dnsmessage math/rand/v2 strconv runtime/cgo syscall internal/godebug bytes github.com/tideland/golib/sort hash crypto/internal/randutil strings hash/adler32 hash/crc32 crypto net/netip crypto/internal/fips140deps/godebug math/rand reflect github.com/tideland/golib/mapreduce vendor/golang.org/x/text/transform net/http/internal/ascii crypto/internal/fips140 crypto/internal/impl bufio regexp/syntax html crypto/internal/fips140/sha256 crypto/tls/internal/fips140tls crypto/internal/fips140/sha3 crypto/internal/fips140/sha512 crypto/sha3 crypto/internal/fips140/hmac crypto/internal/fips140/check crypto/internal/fips140hash internal/syscall/execenv internal/syscall/unix time crypto/internal/fips140/tls12 crypto/internal/fips140/hkdf crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod crypto/internal/fips140/aes crypto/internal/fips140/nistec/fiat crypto/internal/fips140/tls13 crypto/internal/fips140/edwards25519 regexp io/fs context internal/poll internal/filepathlite crypto/internal/fips140/nistec internal/fmtsort encoding/binary os encoding/base64 vendor/golang.org/x/crypto/internal/poly1305 encoding/pem path/filepath crypto/internal/sysrand fmt io/ioutil vendor/golang.org/x/sys/cpu net crypto/internal/entropy crypto/internal/fips140/drbg crypto/internal/fips140only crypto/internal/fips140/ecdh crypto/internal/fips140/ed25519 crypto/internal/fips140/ecdsa crypto/internal/fips140/mlkem crypto/internal/fips140/aes/gcm crypto/internal/fips140/rsa crypto/rc4 crypto/md5 crypto/cipher encoding/hex github.com/tideland/golib/errors log net/url net/http/internal encoding/xml mime/quotedprintable compress/flate mime vendor/golang.org/x/net/http2/hpack github.com/tideland/golib/numerics encoding/json vendor/golang.org/x/text/unicode/norm math/big crypto/internal/boring vendor/golang.org/x/crypto/chacha20 crypto/des crypto/sha1 crypto/aes crypto/ecdh crypto/hmac crypto/sha512 crypto/sha256 github.com/tideland/golib/version github.com/tideland/golib/collections vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/text/unicode/bidi compress/gzip vendor/golang.org/x/text/secure/bidirule vendor/golang.org/x/net/idna github.com/tideland/golib/feed/utils github.com/tideland/golib/sml crypto/rand crypto/internal/boring/bbig crypto/dsa crypto/elliptic encoding/asn1 crypto/ed25519 crypto/internal/hpke github.com/tideland/golib/audit crypto/rsa crypto/x509/pkix vendor/golang.org/x/crypto/cryptobyte crypto/ecdsa log/syslog vendor/golang.org/x/net/http/httpproxy net/textproto github.com/tideland/golib/identifier crypto/x509 github.com/tideland/golib/logger vendor/golang.org/x/net/http/httpguts mime/multipart github.com/tideland/golib/loop github.com/tideland/golib/stringex github.com/tideland/golib/cache github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/timex github.com/tideland/golib/monitoring github.com/tideland/golib/etc github.com/tideland/golib/gjp github.com/tideland/golib/redis crypto/tls net/http/httptrace net/http github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' dh_auto_test -- -short cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 -short github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version === RUN TestAssertTrue asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) [should fail and be logged] --- PASS: TestAssertTrue (0.00s) === RUN TestAssertFalse asserts_test.go:485: testing assert "false" failed: 'true' (bool) <> 'false' (bool) [should fail and be logged] --- PASS: TestAssertFalse (0.00s) === RUN TestAssertNil asserts_test.go:485: testing assert "nil" failed: 'not nil' (string) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNil (0.00s) === RUN TestAssertNotNil asserts_test.go:485: testing assert "not nil" failed: '' (invalid) <> '' (invalid) [should fail and be logged] --- PASS: TestAssertNotNil (0.00s) === RUN TestAssertEqual asserts_test.go:485: testing assert "equal" failed: 'one' (string) <> '1' (int) [should fail and be logged] asserts_test.go:485: testing assert "equal" failed: 'two' (string) <> '2' (string) [should fail and be logged] --- PASS: TestAssertEqual (0.00s) === RUN TestAssertDifferent asserts_test.go:485: testing assert "different" failed: 'one' (string) <> 'one' (string) [should fail and be logged] asserts_test.go:485: testing assert "different" failed: '2' (int) <> '2' (int) [should fail and be logged] --- PASS: TestAssertDifferent (0.00s) === RUN TestAssertAbout asserts_test.go:485: testing assert "about" failed: '0.8' (float64) <> '1' (float64) [different, out of bounds of extent] asserts_test.go:485: testing assert "about" failed: '1.2' (float64) <> '1' (float64) [different, out of bounds of extent] --- PASS: TestAssertAbout (0.00s) === RUN TestAssertRange asserts_test.go:485: testing assert "range" failed: '1' (uint8) <> '&{10 20}' (ptr to audit.lowHigh) [byte out of range] asserts_test.go:485: testing assert "range" failed: '1' (int) <> '&{10 20}' (ptr to audit.lowHigh) [int out of range] asserts_test.go:485: testing assert "range" failed: '1' (float64) <> '&{10 20}' (ptr to audit.lowHigh) [float64 out of range] asserts_test.go:485: testing assert "range" failed: '97' (int32) <> '&{120 122}' (ptr to audit.lowHigh) [rune out of range] asserts_test.go:485: testing assert "range" failed: 'aaa' (string) <> '&{uuuuu zzzzz}' (ptr to audit.lowHigh) [string out of range] asserts_test.go:485: testing assert "range" failed: '2026-03-27 07:20:18.181893961 +0000 UTC m=+0.000953459' (struct Time) <> '&{{14008914876304948041 60000953459 0x6ef660} {14008918677351005001 3600000953459 0x6ef660}}' (ptr to audit.lowHigh) [time out of range] asserts_test.go:485: testing assert "range" failed: '1s' (int64) <> '&{60000000000 3600000000000}' (ptr to audit.lowHigh) [duration in range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (slice of int) <> '&{5 10}' (ptr to audit.lowHigh) [slice length out of range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (array of int) <> '&{5 10}' (ptr to audit.lowHigh) [array length out of range] asserts_test.go:485: testing assert "range" failed: 'map[1:3 2:2 3:1]' (map of int) <> '&{5 10}' (ptr to audit.lowHigh) [map length out of range] --- PASS: TestAssertRange (0.00s) === RUN TestAssertContents asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> 'foo' (string) asserts_test.go:485: testing assert "contents" failed: '4711' (int) <> '[1 2 3 4711 5 6 7 8 9]' (slice of interface {}) asserts_test.go:485: testing assert "contents" failed: 'foobar' (string) <> '[116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 102 111 120 32 106 117 109 112 115 32 111 118 101 114 32 116 104 101 32 108 97 122 121 32 100 111 103]' (slice of uint8) --- PASS: TestAssertContents (0.00s) === RUN TestAssertContentsPrint asserts_test.go:161 TestAssertContentsPrint(): printing of failing content tests -------------------------------------------------------------------------------- asserts_test.go:162: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: foobar Full.......: the quick brown fox jumps over the lazy dog Description: test fails but passes, just visualization -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:163: Assert 'contents' failed! Function...: TestAssertContentsPrint() Part.......: [102 111 111 98 97 114] Full.......: [116 104 101 32 113 117 105 99 107 32 98 114 111 119 110 32 46 46 46] Description: test fails but passes, just visualization -------------------------------------------------------------------------------- --- PASS: TestAssertContentsPrint (0.00s) === RUN TestOffsetPrint -------------------------------------------------------------------------------- asserts_test.go:172: Assert failed! Function...: TestOffsetPrint() Description: should fail referencing line 172 -------------------------------------------------------------------------------- --- PASS: TestOffsetPrint (0.00s) === RUN TestAssertSubstring asserts_test.go:485: testing assert "substring" failed: 'foo' (string) <> 'this is assert test' (string) [should fail and be logged] asserts_test.go:485: testing assert "substring" failed: 'this is assert test' (string) <> 'this is assert test' (string) [should fail and be logged] --- PASS: TestAssertSubstring (0.00s) === RUN TestAssertCase asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'FOO' (string) [is mixed case] asserts_test.go:485: testing assert "case" failed: 'Foo' (string) <> 'foo' (string) [is mixed case] --- PASS: TestAssertCase (0.00s) === RUN TestAssertMatch asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'foo' (string) [should fail and be logged] asserts_test.go:485: testing assert "match" failed: 'this is assert test' (string) <> 'this*test' (string) [should fail and be logged] --- PASS: TestAssertMatch (0.00s) === RUN TestAssertErrorMatch asserts_test.go:485: testing assert "error match" failed: 'oops, an error' (ptr to errors.errorString) <> 'foo' (string) [should fail and be logged] --- PASS: TestAssertErrorMatch (0.00s) === RUN TestAssertImplementor asserts_test.go:485: testing assert "implementor" failed: 'string test' (string) <> '0xc00011f8d0' (ptr to error) [should fail and be logged] asserts_test.go:485: testing assert "implementor" failed: 'error test' (ptr to errors.errorString) <> '0xc00011f8e0' (ptr to io.Writer) [should fail and be logged] --- PASS: TestAssertImplementor (0.00s) === RUN TestAssertAssignable asserts_test.go:485: testing assert "assignable" failed: 'one' (string) <> '5' (int) [should fail and be logged] --- PASS: TestAssertAssignable (0.00s) === RUN TestAssertUnassignable asserts_test.go:485: testing assert "unassignable" failed: '1' (int) <> '5' (int) [should fail and be logged] --- PASS: TestAssertUnassignable (0.00s) === RUN TestAssertEmpty asserts_test.go:485: testing assert "empty" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "empty" failed: '3' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertEmpty (0.00s) === RUN TestAssertNotEmpty asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "not empty" failed: '0' (int) <> '0' (int) [should also fail and be logged] asserts_test.go:485: testing assert "not empty" failed: 'bool' (string) <> '0' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertNotEmpty (0.00s) === RUN TestAssertLength asserts_test.go:485: testing assert "length" failed: '9' (int) <> '0' (int) [should fail and be logged] asserts_test.go:485: testing assert "length" failed: '3' (int) <> '10' (int) [should also fail and be logged] asserts_test.go:485: testing assert "length" failed: 'bool' (string) <> '1' (int) [obtained bool is no array, chan, map, slice, string or understands Len()] --- PASS: TestAssertLength (0.00s) === RUN TestAssertPanics asserts_test.go:485: testing assert "panics" failed: 'func ()' (string) <> '' (invalid) [should not panic] --- PASS: TestAssertPanics (0.00s) === RUN TestAssertPathExists asserts_test.go:485: testing assert "path exists" failed: '/this/path/will/hopefully/not/exist' (string) <> 'true' (bool) [illegal path] --- PASS: TestAssertPathExists (0.00s) === RUN TestAssertWait asserts_test.go:485: testing assert "wait" failed: 'false' (bool) <> 'true' (bool) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWait (0.20s) === RUN TestAssertWaitTested asserts_test.go:485: testing assert "nil" failed: 'illegal value' (ptr to errors.errorString) <> '' (invalid) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] --- PASS: TestAssertWaitTested (0.20s) === RUN TestAssertRetry asserts_test.go:485: testing assert "retry" failed: 'timeout after 107.774508ms and 10 retries' (string) <> 'successful call' (string) [should fail] --- PASS: TestAssertRetry (0.15s) === RUN TestAssertFail asserts_test.go:485: testing assert "fail" failed: '' (invalid) <> '' (invalid) [this should fail] --- PASS: TestAssertFail (0.00s) === RUN TestTestingAssertion -------------------------------------------------------------------------------- asserts_test.go:394: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: should fail (but not the test) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:395: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- asserts_test.go:396: Assert 'assignable' failed! Function...: TestTestingAssertion() Obtained...: func () Expected...: int Description: this should fail too -------------------------------------------------------------------------------- --- PASS: TestTestingAssertion (0.00s) === RUN TestPanicAssert asserts_test.go:403: panic worked: 'assert 'assignable' failed: 'int' <> 'func ()' (should fail)' --- PASS: TestPanicAssert (0.00s) === RUN TestValidationAssertion asserts_test.go:430: [0] assert 'true' failed: 'false' (should fail) / [1] assert 'equal' failed: '1' <> '2' (should fail) --- PASS: TestValidationAssertion (0.00s) === RUN TestSetFailable === RUN TestSetFailable/success === RUN TestSetFailable/fail === NAME TestSetFailable asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) --- PASS: TestSetFailable (0.00s) --- PASS: TestSetFailable/success (0.00s) --- PASS: TestSetFailable/fail (0.00s) === RUN TestTempDirCreate --- PASS: TestTempDirCreate (0.00s) === RUN TestTempDirRestore --- PASS: TestTempDirRestore (0.00s) === RUN TestEnvVarsSet --- PASS: TestEnvVarsSet (0.00s) === RUN TestEnvVarsRestore --- PASS: TestEnvVarsRestore (0.00s) === RUN TestBuildDate --- PASS: TestBuildDate (0.00s) === RUN TestInts --- PASS: TestInts (0.00s) === RUN TestOneOf --- PASS: TestOneOf (0.00s) === RUN TestWords --- PASS: TestWords (0.01s) === RUN TestPattern --- PASS: TestPattern (0.00s) === RUN TestText --- PASS: TestText (0.20s) === RUN TestName --- PASS: TestName (0.66s) === RUN TestDomain --- PASS: TestDomain (0.00s) === RUN TestURL --- PASS: TestURL (0.19s) === RUN TestEMail --- PASS: TestEMail (0.14s) === RUN TestTimes --- PASS: TestTimes (3.19s) PASS ok github.com/tideland/golib/audit 4.954s === RUN TestNoLoader --- PASS: TestNoLoader (0.00s) === RUN TestLoader 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" starts 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" stopped --- PASS: TestLoader (0.00s) === RUN TestLoading 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" starts 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" stopped --- PASS: TestLoading (0.06s) === RUN TestConcurrentLoading 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" starts cache_test.go:118 func1(): Goroutine 95 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 30 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 45 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 37 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 34 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 28 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 99 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 29 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 74 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 19 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 81 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 38 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 66 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 60 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 68 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 49 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 93 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 18 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 39 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 40 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 41 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 42 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 43 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 44 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 31 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 32 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 33 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 70 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 71 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 69 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 72 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 73 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 46 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 47 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 36 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 75 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 26 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 35 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 50 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 76 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 20 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 77 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 21 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 27 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 22 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 78 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 23 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 25 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 79 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 54 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 24 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 48 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 80 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 51 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 82 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 52 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 53 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 9 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 85 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 55 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 86 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 10 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 57 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 87 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 58 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 88 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 11 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 56 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 59 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 89 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 94 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 12 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 91 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 67 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 13 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 92 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 14 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 97 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 61 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 98 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 96 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 15 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 62 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 63 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 16 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 90 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 83 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 17 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 64 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 84 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 65 loaded "/concurrent" 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" stopped --- PASS: TestConcurrentLoading (0.05s) === RUN TestOutdatingFail 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" starts 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" stopped --- PASS: TestOutdatingFail (0.05s) === RUN TestOutdatingReload 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" starts 2026-03-27 07:20:19 Z--- PASS: TestOutdatingReload (0.10s) [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" stopped === RUN TestOutdatingReloadError 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" starts 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" stopped --- PASS: TestOutdatingReloadError (0.10s) === RUN TestDiscarding 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" starts 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" stopped --- PASS: TestDiscarding (0.20s) === RUN TestCleanup 2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" starts cache_test.go:247 TestCleanup(): 1st: 6 > 2nd: 0 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" stopped --- PASS: TestCleanup (3.03s) === RUN TestClear 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" starts cache_test.go:271 TestClear(): 1st: 50 > 2nd: 0 2026-03-27 07:20:25 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" stopped --- PASS: TestClear (2.52s) === RUN TestFileLoader loader_test.go:57 TestFileLoader(): test #0: fa with size 1 mb loader_test.go:57 TestFileLoader(): test #1: fb with size 2 mb loader_test.go:57 TestFileLoader(): test #2: fc with size 3 mb loader_test.go:57 TestFileLoader(): test #3: fd with size 4 mb loader_test.go:57 TestFileLoader(): test #4: fe with size 5 mb --- PASS: TestFileLoader (0.17s) PASS ok github.com/tideland/golib/cache 6.297s === RUN TestRingBufferPush --- PASS: TestRingBufferPush (0.00s) === RUN TestRingBufferPop --- PASS: TestRingBufferPop (0.00s) === RUN TestRingBufferGrow --- PASS: TestRingBufferGrow (0.00s) === RUN TestSetsAddRemove --- PASS: TestSetsAddRemove (0.00s) === RUN TestSetsFindAll --- PASS: TestSetsFindAll (0.00s) === RUN TestSetsDoAll --- PASS: TestSetsDoAll (0.00s) === RUN TestStringSetsAddRemove --- PASS: TestStringSetsAddRemove (0.00s) === RUN TestStringSetsFindAll --- PASS: TestStringSetsFindAll (0.00s) === RUN TestStringSetsDoAll --- PASS: TestStringSetsDoAll (0.00s) === RUN TestStackPushPop --- PASS: TestStackPushPop (0.00s) === RUN TestStackAll --- PASS: TestStackAll (0.00s) === RUN TestStringStackPushPop --- PASS: TestStringStackPushPop (0.00s) === RUN TestTreeCreate --- PASS: TestTreeCreate (0.00s) === RUN TestTreeRemove --- PASS: TestTreeRemove (0.00s) === RUN TestTreeSetValue --- PASS: TestTreeSetValue (0.00s) === RUN TestTreeFind --- PASS: TestTreeFind (0.00s) === RUN TestTreeDo --- PASS: TestTreeDo (0.00s) === RUN TestTreeCopy --- PASS: TestTreeCopy (0.00s) === RUN TestStringTreeCreate --- PASS: TestStringTreeCreate (0.00s) === RUN TestStringTreeRemove --- PASS: TestStringTreeRemove (0.00s) === RUN TestStringTreeSetValue --- PASS: TestStringTreeSetValue (0.00s) === RUN TestStringTreeFind --- PASS: TestStringTreeFind (0.00s) === RUN TestStringTreeDo --- PASS: TestStringTreeDo (0.00s) === RUN TestStringTreeCopy --- PASS: TestStringTreeCopy (0.00s) === RUN TestKeyValueTreeCreate --- PASS: TestKeyValueTreeCreate (0.00s) === RUN TestKeyValueTreeRemove --- PASS: TestKeyValueTreeRemove (0.00s) === RUN TestKeyValueTreeSetKey --- PASS: TestKeyValueTreeSetKey (0.00s) === RUN TestKeyValueTreeSetValue --- PASS: TestKeyValueTreeSetValue (0.00s) === RUN TestKeyValueTreeFind --- PASS: TestKeyValueTreeFind (0.00s) === RUN TestKeyValueTreeDo --- PASS: TestKeyValueTreeDo (0.00s) === RUN TestKeyValueTreeCopy --- PASS: TestKeyValueTreeCopy (0.00s) === RUN TestKeyStringValueTreeCreate --- PASS: TestKeyStringValueTreeCreate (0.00s) === RUN TestKeyStringValueTreeRemove --- PASS: TestKeyStringValueTreeRemove (0.00s) === RUN TestKeyStringValueTreeSetKey --- PASS: TestKeyStringValueTreeSetKey (0.00s) === RUN TestKeyStringValueTreeSetValue --- PASS: TestKeyStringValueTreeSetValue (0.00s) === RUN TestKeyStringValueTreeFind --- PASS: TestKeyStringValueTreeFind (0.00s) === RUN TestKeyStringValueTreeDo --- PASS: TestKeyStringValueTreeDo (0.00s) === RUN TestKeyStringValueTreeCopy --- PASS: TestKeyStringValueTreeCopy (0.00s) PASS ok github.com/tideland/golib/collections 0.006s === RUN TestIsError --- PASS: TestIsError (0.00s) === RUN TestValidation --- PASS: TestValidation (0.00s) === RUN TestAnnotation --- PASS: TestAnnotation (0.00s) === RUN TestCollection --- PASS: TestCollection (0.00s) === RUN TestDoAll --- PASS: TestDoAll (0.00s) PASS ok github.com/tideland/golib/errors 0.003s === RUN TestRead --- PASS: TestRead (0.00s) === RUN TestReadFile --- PASS: TestReadFile (0.00s) === RUN TestWrite --- PASS: TestWrite (0.00s) === RUN TestTemplates --- PASS: TestTemplates (0.00s) === RUN TestHasPath --- PASS: TestHasPath (0.00s) === RUN TestDo --- PASS: TestDo (0.00s) === RUN TestValueSuccess --- PASS: TestValueSuccess (0.00s) === RUN TestGetFail --- PASS: TestGetFail (0.00s) === RUN TestSplit --- PASS: TestSplit (0.00s) === RUN TestDump --- PASS: TestDump (0.00s) === RUN TestApply --- PASS: TestApply (0.00s) === RUN TestContext --- PASS: TestContext (0.00s) PASS ok github.com/tideland/golib/etc 0.007s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestGet atom_test.go:77: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/atom 0.006s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode --- PASS: TestEncodeDecode (0.00s) === RUN TestValidate --- PASS: TestValidate (0.00s) === RUN TestGet rss_test.go:123: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS ok github.com/tideland/golib/feed/rss 0.006s === RUN TestStripTags --- PASS: TestStripTags (0.00s) PASS ok github.com/tideland/golib/feed/utils 0.004s === RUN TestParseError --- PASS: TestParseError (0.00s) === RUN TestClear --- PASS: TestClear (0.00s) === RUN TestLength --- PASS: TestLength (0.00s) === RUN TestProcessing gjp_test.go:82 func1(): path 01 => "/A" = "Level One" gjp_test.go:82 func1(): path 02 => "/B/0/C" = "true" gjp_test.go:82 func1(): path 03 => "/B/0/D/B" = "10.1" gjp_test.go:82 func1(): path 04 => "/B/0/D/A" = "Level Three - 0" gjp_test.go:82 func1(): path 05 => "/B/0/S/0" = "red" gjp_test.go:82 func1(): path 06 => "/B/0/S/1" = "green" gjp_test.go:82 func1(): path 07 => "/B/0/S/2" = "1" gjp_test.go:82 func1(): path 08 => "/B/0/S/3" = "2.2" gjp_test.go:82 func1(): path 09 => "/B/0/S/4" = "true" gjp_test.go:82 func1(): path 10 => "/B/0/A" = "Level Two - 0" gjp_test.go:82 func1(): path 11 => "/B/0/B" = "100" gjp_test.go:82 func1(): path 12 => "/B/1/C" = "false" gjp_test.go:82 func1(): path 13 => "/B/1/D/A" = "Level Three - 1" gjp_test.go:82 func1(): path 14 => "/B/1/D/B" = "20.2" gjp_test.go:82 func1(): path 15 => "/B/1/S/0" = "orange" gjp_test.go:82 func1(): path 16 => "/B/1/S/1" = "blue" gjp_test.go:82 func1(): path 17 => "/B/1/S/2" = "white" gjp_test.go:82 func1(): path 18 => "/B/1/A" = "Level Two - 1" gjp_test.go:82 func1(): path 19 => "/B/1/B" = "200" gjp_test.go:82 func1(): path 20 => "/B/2/C" = "true" gjp_test.go:82 func1(): path 21 => "/B/2/D/A" = "Level Three - 2" gjp_test.go:82 func1(): path 22 => "/B/2/D/B" = "30.3" gjp_test.go:82 func1(): path 23 => "/B/2/S" = "" gjp_test.go:82 func1(): path 24 => "/B/2/A" = "Level Two - 2" gjp_test.go:82 func1(): path 25 => "/B/2/B" = "300" gjp_test.go:82 func1(): path 26 => "/D" = "5000000000" gjp_test.go:82 func1(): path 27 => "/T" = "2017-04-29T20:30:00Z" --- PASS: TestProcessing (0.00s) === RUN TestSeparator --- PASS: TestSeparator (0.00s) === RUN TestCompare --- PASS: TestCompare (0.00s) === RUN TestString --- PASS: TestString (0.00s) === RUN TestInt --- PASS: TestInt (0.00s) === RUN TestFloat64 --- PASS: TestFloat64 (0.00s) === RUN TestBool --- PASS: TestBool (0.00s) === RUN TestQuery --- PASS: TestQuery (0.00s) === RUN TestBuilding --- PASS: TestBuilding (0.00s) === RUN TestMarshalJSON --- PASS: TestMarshalJSON (0.00s) PASS ok github.com/tideland/golib/gjp 0.007s === RUN TestTypeAsIdentifierPart --- PASS: TestTypeAsIdentifierPart (0.00s) === RUN TestIdentifier --- PASS: TestIdentifier (0.00s) === RUN TestSepIdentifier --- PASS: TestSepIdentifier (0.00s) === RUN TestStandardUUID --- PASS: TestStandardUUID (1.37s) === RUN TestUUIDVersions uuid_test.go:62 TestUUIDVersions(): UUID V1: c51b606b-ad29-1101-862c-8dc424fef744 uuid_test.go:67 TestUUIDVersions(): UUID V3: c4d91d8a-0d3e-3e3f-8dd6-924b8cc71909 uuid_test.go:72 TestUUIDVersions(): UUID V4: 4d3923ea-6916-479e-8587-c7c11b4272f6 uuid_test.go:77 TestUUIDVersions(): UUID V5: 479b560a-cc70-5da7-9009-dcda1e772b01 --- PASS: TestUUIDVersions (0.00s) === RUN TestUUIDByHex --- PASS: TestUUIDByHex (0.00s) PASS ok github.com/tideland/golib/identifier 1.381s === RUN TestGetSetLevel --- PASS: TestGetSetLevel (0.00s) === RUN TestGetSetLevelString --- PASS: TestGetSetLevelString (0.00s) === RUN TestFiltering --- PASS: TestFiltering (0.00s) === RUN TestGoLogger 2026/03/27 07:20:21 [DEBUG] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:146) Debug. 2026/03/27 07:20:21 [INFO] [github.com/tideland/golib/logger_test] Info. 2026/03/27 07:20:21 [WARNING] [github.com/tideland/golib/logger_test] Warning. 2026/03/27 07:20:21 [ERROR] [github.com/tideland/golib/logger_test] Error. 2026/03/27 07:20:21 [CRITICAL] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:150) Critical. --- PASS: TestGoLogger (0.00s) === RUN TestSysLogger logger_test.go:156: Network test skipped in short mode --- SKIP: TestSysLogger (0.00s) === RUN TestFatalExit --- PASS: TestFatalExit (0.00s) PASS ok github.com/tideland/golib/logger 0.005s === RUN TestSimpleStop 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" stopped --- PASS: TestSimpleStop (0.00s) === RUN TestLogging --- PASS: TestLogging (0.00s) === RUN TestSimpleRestart 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" restarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped --- PASS: TestSimpleRestart (0.00s) === RUN TestSimpleKill 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-kill" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "simple-kill" stopped with error: ouch --- PASS: TestSimpleKill (0.00s) === RUN TestError 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "error" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "error" stopped with error: internal loop error --- PASS: TestError (0.00s) === RUN TestDeferredError 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "deferred-error" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "deferred-error" stopped with error: deferred error --- PASS: TestDeferredError (0.00s) === RUN TestStopRecoverings 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "stop-recoverings" tries to recover 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" recovered 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" stopped --- PASS: TestStopRecoverings (0.00s) === RUN TestEndRecoverings 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" stopped --- PASS: TestEndRecoverings (0.00s) === RUN TestRecoveringsPanic 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" stopped with error: too many panics --- PASS: TestRecoveringsPanic (0.00s) === RUN TestRecoveringsError 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-error" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" tries to recover 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" stopped with error: error --- PASS: TestRecoveringsError (0.00s) === RUN TestDescription 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "one" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "two::three::four" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "two::three::four" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "two::three::four" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "one" stopped --- PASS: TestDescription (0.00s) === RUN TestSimpleSentinel 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" stopped --- PASS: TestSimpleSentinel (0.00s) === RUN TestSentinelStoppingLoop 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped --- PASS: TestSentinelStoppingLoop (0.00s) === RUN TestSentineForget 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::d" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::d" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::d" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" stopped --- PASS: TestSentineForget (0.00s) === RUN TestSentinelKillingLoopNoHandler 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-no-handler" kills all observables after error: bang! 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" stopped with error: [LOOP:002] error handling for "loop::b" failed: bang! --- PASS: TestSentinelKillingLoopNoHandler (0.00s) === RUN TestSentinelKillingLoopHandlerRestarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" stopped --- PASS: TestSentinelKillingLoopHandlerRestarts (0.00s) === RUN TestSentinelKillingLoopHandlerStops 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-with-stops" kills all observables after error: oh no! 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" stopped with error: [LOOP:002] error handling for "loop::b" failed: oh no! --- PASS: TestSentinelKillingLoopHandlerStops (0.00s) === RUN TestSentinelKillingLoopHandlerRestartAll 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::c" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" stopped --- PASS: TestSentinelKillingLoopHandlerRestartAll (0.00s) === RUN TestNestedSentinelKill 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "nested-sentinel-kill::nested" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::nested" stops observable "loop::b" 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" stopped with error: bang! 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] sentinel "nested-sentinel-kill::nested" restarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" restarts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "nested-sentinel-kill::nested" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" stopped --- PASS: TestNestedSentinelKill (0.00s) === RUN TestSentinelSwitch 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-switch::b" stops observable "loop::a" 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" stopped --- PASS: TestSentinelSwitch (0.00s) PASS ok github.com/tideland/golib/loop 0.012s === RUN TestMapReduce --- PASS: TestMapReduce (1.40s) PASS ok github.com/tideland/golib/mapreduce 1.405s === RUN TestETMMonitor 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestETMMonitor (0.06s) === RUN TestSSIMonitor 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped --- PASS: TestSSIMonitor (0.00s) === RUN TestDSRMonitor 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2026-03-27 07:20:21 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: runtime error: integer divide by zero 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestDSRMonitor (0.00s) === RUN TestInternalPanic 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover 2026-03-27 07:20:21 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: ouch 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestInternalPanic (0.00s) === RUN TestBackendSwitch 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts --- PASS: TestBackendSwitch (0.05s) PASS ok github.com/tideland/golib/monitoring 0.118s === RUN TestSimplePoint --- PASS: TestSimplePoint (0.00s) === RUN TestSimplePointArray --- PASS: TestSimplePointArray (0.00s) === RUN TestSimplePolynomialFunction --- PASS: TestSimplePolynomialFunction (0.00s) === RUN TestPolynomialFunctionPrinting --- PASS: TestPolynomialFunctionPrinting (0.00s) === RUN TestQuadraticPolynomialFunction --- PASS: TestQuadraticPolynomialFunction (0.00s) === RUN TestPolynomialFunctionDifferentiation --- PASS: TestPolynomialFunctionDifferentiation (0.00s) === RUN TestInterpolation --- PASS: TestInterpolation (0.00s) === RUN TestPointsEvaluation --- PASS: TestPointsEvaluation (0.00s) === RUN TestLeastSquaresFunction --- PASS: TestLeastSquaresFunction (0.00s) PASS ok github.com/tideland/golib/numerics 0.004s === RUN TestSimpleKeyOperations commands_test.go:29: Redis test skipped in short mode --- SKIP: TestSimpleKeyOperations (0.00s) === RUN TestScan commands_test.go:90: Redis test skipped in short mode --- SKIP: TestScan (0.00s) === RUN TestHash commands_test.go:131: Redis test skipped in short mode --- SKIP: TestHash (0.00s) === RUN TestHScan commands_test.go:172: Redis test skipped in short mode --- SKIP: TestHScan (0.00s) === RUN TestList commands_test.go:215: Redis test skipped in short mode --- SKIP: TestList (0.00s) === RUN TestSet commands_test.go:233: Redis test skipped in short mode --- SKIP: TestSet (0.00s) === RUN TestSScan commands_test.go:258: Redis test skipped in short mode --- SKIP: TestSScan (0.00s) === RUN TestSortedSet commands_test.go:298: Redis test skipped in short mode --- SKIP: TestSortedSet (0.00s) === RUN TestZScan commands_test.go:324: Redis test skipped in short mode --- SKIP: TestZScan (0.00s) === RUN TestTransactionConnection commands_test.go:367: Redis test skipped in short mode --- SKIP: TestTransactionConnection (0.00s) === RUN TestTransactionPipeline commands_test.go:426: Redis test skipped in short mode --- SKIP: TestTransactionPipeline (0.00s) === RUN TestTransactionPipelineWatch commands_test.go:464: Redis test skipped in short mode --- SKIP: TestTransactionPipelineWatch (0.00s) === RUN TestScripting commands_test.go:499: Redis test skipped in short mode --- SKIP: TestScripting (0.00s) === RUN TestPubSub commands_test.go:540: Redis test skipped in short mode --- SKIP: TestPubSub (0.00s) === RUN TestUnixSocketConnection redis_test.go:29: Redis test skipped in short mode --- SKIP: TestUnixSocketConnection (0.00s) === RUN TestTcpConnection redis_test.go:58: Redis test skipped in short mode --- SKIP: TestTcpConnection (0.00s) === RUN TestPipelining redis_test.go:87: Redis test skipped in short mode --- SKIP: TestPipelining (0.00s) === RUN TestOptions 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "redis::tmp-redis-sock::0" starts --- PASS: TestOptions (0.00s) === RUN TestConcurrency redis_test.go:145: Redis test skipped in short mode --- SKIP: TestConcurrency (0.00s) PASS ok github.com/tideland/golib/redis 0.007s === RUN TestSimpleNoTimeout 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fe0e5908-a9b7-4ddd-9f88-2f8dc2d2bae6" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fe0e5908-a9b7-4ddd-9f88-2f8dc2d2bae6" stopped --- PASS: TestSimpleNoTimeout (0.00s) === RUN TestAccessAfterStopping 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::c64d2de2-1cc1-40e4-8347-615b321ff00b" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::c64d2de2-1cc1-40e4-8347-615b321ff00b" stopped --- PASS: TestAccessAfterStopping (0.00s) === RUN TestCleanupNoError 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fff5bce4-a33f-4020-9477-fffb110c432e" starts 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fff5bce4-a33f-4020-9477-fffb110c432e" stopped --- PASS: TestCleanupNoError (0.00s) === RUN TestCleanupWithErrors 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::cdc12baa-0a9d-4b48-8f8c-b5bb33b4cf5a" starts 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::cdc12baa-0a9d-4b48-8f8c-b5bb33b4cf5a" stopped with error: [SCENE:005] cleanup of property "yadda" failed: ouch --- PASS: TestCleanupWithErrors (0.00s) === RUN TestSimpleInactivityTimeout 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::682b5ab0-e5a5-454a-8cb6-b70c53c8cf20" starts 2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::682b5ab0-e5a5-454a-8cb6-b70c53c8cf20" stopped with error: [SCENE:002] scene inactivity timeout reached at 2026-03-27 07:20:22.004807738 +0000 UTC m=+0.102362106 --- PASS: TestSimpleInactivityTimeout (0.10s) === RUN TestSimpleAbsoluteTimeout 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fde9d44c-a0e0-4d16-83ec-346f8df1b8c3" starts --- PASS: TestSimpleAbsoluteTimeout (0.25s) 2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::fde9d44c-a0e0-4d16-83ec-346f8df1b8c3" stopped with error: [SCENE:002] scene absolute timeout reached at 2026-03-27 07:20:22.255870082 +0000 UTC m=+0.353424452 === RUN TestCleanupAfterTimeout 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::244ab5d6-75e6-4b42-9ad5-c1bdc19653f3" starts 2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::244ab5d6-75e6-4b42-9ad5-c1bdc19653f3" stopped with error: [SCENE:002] scene absolute timeout reached at 2026-03-27 07:20:22.356113603 +0000 UTC m=+0.453667971 --- PASS: TestCleanupAfterTimeout (0.25s) === RUN TestAbort 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::bee40f51-f83b-4126-9bf4-e69d09a1cd49" starts 2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::bee40f51-f83b-4126-9bf4-e69d09a1cd49" stopped with error: aborted --- PASS: TestAbort (0.00s) === RUN TestFlagNoTimeout 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a3b3f4a8-7c1c-4972-8556-598d46ac873b" starts 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a3b3f4a8-7c1c-4972-8556-598d46ac873b" stopped --- PASS: TestFlagNoTimeout (0.35s) === RUN TestNoFlagDueToStop 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4b01e876-b82f-474f-909f-6e1e04cc30a1" starts 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4b01e876-b82f-474f-909f-6e1e04cc30a1" stopped --- PASS: TestNoFlagDueToStop (0.10s) === RUN TestStoreAndFlag 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9888919e-bf10-47b4-82f2-e75ea48329d9" starts 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9888919e-bf10-47b4-82f2-e75ea48329d9" stopped --- PASS: TestStoreAndFlag (0.10s) === RUN TestEarlyFlag 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8fe39d2-e1b7-423b-850b-1f423194e1cc" starts 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8fe39d2-e1b7-423b-850b-1f423194e1cc" stopped --- PASS: TestEarlyFlag (0.10s) === RUN TestFlagTimeout 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::5c82a35b-b246-4e5a-9150-9cc777f0c240" starts 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::5c82a35b-b246-4e5a-9150-9cc777f0c240" stopped --- PASS: TestFlagTimeout (0.10s) === RUN TestFlagUnflag 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::805b1bf1-a383-483e-9f52-c25fa2f80b60" starts 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::805b1bf1-a383-483e-9f52-c25fa2f80b60" stopped --- PASS: TestFlagUnflag (0.05s) PASS ok github.com/tideland/golib/scene 1.415s === RUN TestScroller scroller_test.go:173 TestScroller(): test #1/10: no lines existing; initially no lines scrolled 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:24 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #2/10: no lines existing; initially five lines scrolled 2026-03-27 07:20:24 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:27 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #3/10: ten lines existing; initially no lines scrolled 2026-03-27 07:20:27 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #4/10: ten lines existing; initially five lines scrolled 2026-03-27 07:20:29 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped 2026-03-27 07:20:29 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #5/10: ten lines existing; initially twenty lines scrolled 2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped 2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #6/10: ten lines existing; initially twenty lines scrolled; buffer smaller than lines 2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #7/10: ten lines existing; initially three lines scrolled; filter lines with special prefix 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #8/10: ten lines existing; initially five lines scrolled; error after further 25 lines 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:31 Z [ERROR] [github.com/tideland/golib/loop] loop "scroller" stopped with error: ouch scroller_test.go:173 TestScroller(): test #9/10: ten lines existing; initially five lines scrolled; simply stop after 25 lines 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #10/10: unterminated last line is not scrolled 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts 2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped --- PASS: TestScroller (9.70s) PASS ok github.com/tideland/golib/scroller 9.701s === RUN TestTagValidation --- PASS: TestTagValidation (0.00s) === RUN TestCreating --- PASS: TestCreating (0.00s) === RUN TestWriterProcessing sml_test.go:86 TestWriterProcessing(): ===== WITH INDENT ===== sml_test.go:87 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #} } {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^. } } {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw. } } sml_test.go:88 TestWriterProcessing(): ===== WITHOUT INDENT ===== sml_test.go:89 TestWriterProcessing(): {root Text A Text B {# A first comment. #} {sub-a:1st:important Text A.A {# A second comment. #}} {sub-b:2nd Text B.A {text Any text with the special characters ^{, ^}, and ^^.}} {sub-c Before raw. {! func Test(i int) { println(i) } !} After raw.}} sml_test.go:90 TestWriterProcessing(): ===== DONE ===== --- PASS: TestWriterProcessing (0.00s) === RUN TestPositiveNodeReading sml_test.go:112 TestPositiveNodeReading(): ===== PARSED SML ===== sml_test.go:113 TestPositiveNodeReading(): {foo:main {bar:1:first Yadda ^{Test^} 1 } {! Raw: }} { ! ^^^ !} {between } {bar:2:last Yadda {test ^^ } 2 } } sml_test.go:114 TestPositiveNodeReading(): ===== DONE ===== --- PASS: TestPositiveNodeReading (0.00s) === RUN TestNegativeNodeReading --- PASS: TestNegativeNodeReading (0.00s) === RUN TestPositiveTreeReading sml_test.go:135 TestPositiveTreeReading(): [config = '' [foo = '1'][bar = '2'][yadda = '' [up = 'down'][down = 'up']]] --- PASS: TestPositiveTreeReading (0.00s) === RUN TestNegativeTreeReading --- PASS: TestNegativeTreeReading (0.00s) === RUN TestSML2XML sml_test.go:178 TestSML2XML(): ===== XML ===== sml_test.go:179 TestSML2XML(): A test document

A test document

The is a simple sentence with an emphasized and a strong text. We'll see how it renders.

  • It should be nice.
  • It should be error free.
  • It should be fast.
for foo := 0; foo < 42; foo++ {
	println(foo)
}
  
sml_test.go:180 TestSML2XML(): ===== DONE ===== --- PASS: TestSML2XML (0.00s) PASS ok github.com/tideland/golib/sml 0.004s === RUN TestPivot --- PASS: TestPivot (0.00s) PASS ok github.com/tideland/golib/sort 0.004s === RUN TestAsString defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 0: value 'foo' without error and default bar defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 1: value 'foo' with error and default bar 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsString) value returned with error: foo --- PASS: TestAsString (0.00s) === RUN TestAsStringSlice defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 0: value 'a/b/c' without error and default [a] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 1: value 'a/b/c' with error and default [a] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 2: value 'a/b/c' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 3: value 'a/b/c' with error and default [] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 4: value '' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 5: value '' with error and default [foo] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 6: value 'a/b/c' without error and default [a] --- PASS: TestAsStringSlice (0.00s) === RUN TestAsStringMap defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 0: value 'a:1/b:2' without error and default map[a:1] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 1: value 'a:1/b:2' with error and default map[a:1] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 2: value 'a:1/b:2' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 3: value 'a:1/b:2' with error and default map[] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 4: value '' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 5: value '' with error and default map[a:1] 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 6: value 'a:1/b:2' without error and default map[] --- PASS: TestAsStringMap (0.00s) === RUN TestAsBool defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 0: value '1' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 1: value 't' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 2: value 'T' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 3: value 'TRUE' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 4: value 'true' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 5: value 'True' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 6: value 'wahr' without error and default true 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "wahr": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 7: value '' with error and default true 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 8: value '0' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 9: value 'f' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 10: value 'F' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 11: value 'FALSE' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 12: value 'false' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 13: value 'False' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 14: value 'falsch' without error and default false 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "falsch": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 15: value '' with error and default false 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: --- PASS: TestAsBool (0.00s) === RUN TestAsInt defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 0: value '0' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 1: value '1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 2: value '-1' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 5: value '999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 6: value '-999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 7: value 'one two three' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 8: value '1' with error and default 2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: 1 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 9: value '-1' with error and default -2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: -1 --- PASS: TestAsInt (0.00s) === RUN TestAsInt64 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 0: value '0' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 1: value '1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 2: value '-1' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 5: value '999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 6: value '-999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 7: value 'one two three' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 8: value '1' with error and default 2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: 1 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 9: value '-1' with error and default -2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: -1 --- PASS: TestAsInt64 (0.00s) === RUN TestAsUint defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 0: value '0' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 1: value '1' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 3: value '999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 4: value 'one two three' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 5: value '-1' with error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value returned with error: -1 --- PASS: TestAsUint (0.00s) === RUN TestAsUInt64 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 0: value '0' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 1: value '1' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 3: value '999999999999999999999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 4: value 'one two three' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 5: value '-1' with error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value returned with error: -1 --- PASS: TestAsUInt64 (0.00s) === RUN TestAsFloat64 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 0: value '0.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 1: value '1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 2: value '-1.0' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 3: value '1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 4: value '-1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 5: value '9e+999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 6: value '-9e+999' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "-9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 7: value 'one.two' without error and default 1 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "one.two": invalid syntax defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 8: value '1.0' with error and default 2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: 1.0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 9: value '-1.0' with error and default -2 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: -1.0 --- PASS: TestAsFloat64 (0.00s) === RUN TestAsTime defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 0: value '2026-03-27T07:20:21.906656818Z' without error and default 2000-01-01 00:00:00 +0000 UTC defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 1: value '2026-03-27T07:20:21.906656818Z' with error and default 2000-01-01 00:00:00 +0000 UTC 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value returned with error: 2026-03-27T07:20:21.906656818Z defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 2: value '2026-03-27T07:20:21.906656818Z' without error and default 2000-01-01 00:00:00 +0000 UTC 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "2026-03-27T07:20:21.906656818Z" as "any false layout": cannot parse "2026-03-27T07:20:21.906656818Z" as "any false layout" defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 3: value '' without error and default 2000-01-01 00:00:00 +0000 UTC 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" --- PASS: TestAsTime (0.00s) === RUN TestAsDuration defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 0: value '1s' without error and default 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 1: value '1s' with error and default 1m0s 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value returned with error: 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 2: value '2' without error and default 1m0s 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: missing unit in duration "2" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 3: value '1 hour' without error and default 1m0s 2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: unknown unit " hour" in duration "1 hour" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 4: value '4711h' without error and default 1m0s --- PASS: TestAsDuration (0.00s) === RUN TestDefaulterString --- PASS: TestDefaulterString (0.00s) === RUN TestWrapping --- PASS: TestWrapping (0.00s) === RUN TestSplitMapProcessor --- PASS: TestSplitMapProcessor (0.00s) === RUN TestSubstringProcessor --- PASS: TestSubstringProcessor (0.00s) === RUN TestMatchProcessor --- PASS: TestMatchProcessor (0.00s) === RUN TestTrimmingProcessors --- PASS: TestTrimmingProcessors (0.00s) === RUN TestUpperLowerProcessor --- PASS: TestUpperLowerProcessor (0.00s) === RUN TestProcessorScenario --- PASS: TestProcessorScenario (0.00s) === RUN TestSplitFilter === RUN TestSplitFilter/all_fine === RUN TestSplitFilter/filter_empty_parts === RUN TestSplitFilter/filter_all_parts === RUN TestSplitFilter/filter_empty_input === RUN TestSplitFilter/filter_not_splitted --- PASS: TestSplitFilter (0.00s) --- PASS: TestSplitFilter/all_fine (0.00s) --- PASS: TestSplitFilter/filter_empty_parts (0.00s) --- PASS: TestSplitFilter/filter_all_parts (0.00s) --- PASS: TestSplitFilter/filter_empty_input (0.00s) --- PASS: TestSplitFilter/filter_not_splitted (0.00s) === RUN TestSplitMap === RUN TestSplitMap/uppercase_all === RUN TestSplitMap/filter_empty_parts,_uppercase_the_rest === RUN TestSplitMap/filter_all_parts === RUN TestSplitMap/encapsulate_even_empty_input === RUN TestSplitMap/uppercase_not_splitted --- PASS: TestSplitMap (0.00s) --- PASS: TestSplitMap/uppercase_all (0.00s) --- PASS: TestSplitMap/filter_empty_parts,_uppercase_the_rest (0.00s) --- PASS: TestSplitMap/filter_all_parts (0.00s) --- PASS: TestSplitMap/encapsulate_even_empty_input (0.00s) --- PASS: TestSplitMap/uppercase_not_splitted (0.00s) === RUN TestMatches === RUN TestMatches/equal_pattern_and_string_without_wildcards === RUN TestMatches/unequal_pattern_and_string_without_wildcards === RUN TestMatches/matching_pattern_with_one_question_mark === RUN TestMatches/matching_pattern_with_one_asterisk === RUN TestMatches/matching_pattern_with_char_group === RUN TestMatches/not-matching_pattern_with_char_group === RUN TestMatches/matching_pattern_with_char_range === RUN TestMatches/not-matching_pattern_with_char_range === RUN TestMatches/matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/not-matching_pattern_with_char_group_not_ignoring_care === RUN TestMatches/matching_pattern_with_escape === RUN TestMatches/not-matching_pattern_with_escape --- PASS: TestMatches (0.00s) --- PASS: TestMatches/equal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/unequal_pattern_and_string_without_wildcards (0.00s) --- PASS: TestMatches/matching_pattern_with_one_question_mark (0.00s) --- PASS: TestMatches/matching_pattern_with_one_asterisk (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group (0.00s) --- PASS: TestMatches/matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_range (0.00s) --- PASS: TestMatches/matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/not-matching_pattern_with_char_group_not_ignoring_care (0.00s) --- PASS: TestMatches/matching_pattern_with_escape (0.00s) --- PASS: TestMatches/not-matching_pattern_with_escape (0.00s) PASS ok github.com/tideland/golib/stringex 0.009s === RUN TestTimeContainments --- PASS: TestTimeContainments (0.00s) === RUN TestBeginOf --- PASS: TestBeginOf (0.00s) === RUN TestEndOf --- PASS: TestEndOf (0.00s) === RUN TestCrontabKeep 2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" starts 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" stopped --- PASS: TestCrontabKeep (1.00s) === RUN TestCrontabRemove 2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabRemove (0.50s) === RUN TestCrontabError 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts 2026-03-27 07:20:23 Z [ERROR] [github.com/tideland/golib/timex.(*Crontab).do] job "remove" removed after error: failed 2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabError (0.50s) === RUN TestRetrySuccess --- PASS: TestRetrySuccess (0.20s) === RUN TestRetryFuncError --- PASS: TestRetryFuncError (0.00s) === RUN TestRetryTooLong --- PASS: TestRetryTooLong (0.05s) === RUN TestRetryTooOften --- PASS: TestRetryTooOften (0.08s) PASS ok github.com/tideland/golib/timex 2.339s === RUN TestNew version_test.go:98 TestNew(): new test #0: "1.2.3" version_test.go:98 TestNew(): new test #1: "1.0.3" version_test.go:98 TestNew(): new test #2: "1.2.3-alpha.2014-08-03" version_test.go:98 TestNew(): new test #3: "1.2.3-alphabeta.7.11" version_test.go:98 TestNew(): new test #4: "1.2.3+007.a" version_test.go:98 TestNew(): new test #5: "1.2.3-alpha+007.a" version_test.go:98 TestNew(): new test #6: "1.2.3-ALPHA+007.a" --- PASS: TestNew (0.00s) === RUN TestParse version_test.go:212 TestParse(): parse test #0: "1" version_test.go:212 TestParse(): parse test #1: "1.1" version_test.go:212 TestParse(): parse test #2: "1.2.3" version_test.go:212 TestParse(): parse test #3: "1.0.3" version_test.go:212 TestParse(): parse test #4: "1.2.3-alpha.2016-11-14" version_test.go:212 TestParse(): parse test #5: "1.2.3-alphabeta.7.11" version_test.go:212 TestParse(): parse test #6: "1.2.3+007.a" version_test.go:212 TestParse(): parse test #7: "1.2.3-alpha+007.a" version_test.go:212 TestParse(): parse test #8: "1.2.3-ALPHA+007.a" version_test.go:212 TestParse(): parse test #9: "" version_test.go:212 TestParse(): parse test #10: "a" version_test.go:212 TestParse(): parse test #11: "1.a" version_test.go:212 TestParse(): parse test #12: "1,1" version_test.go:212 TestParse(): parse test #13: "-1" version_test.go:212 TestParse(): parse test #14: "1.-1" version_test.go:212 TestParse(): parse test #15: "+" --- PASS: TestParse (0.00s) === RUN TestCompare version_test.go:320 TestCompare(): compare test #0: "1.2.3" <> "1.2.3" -> 0 / all version_test.go:320 TestCompare(): compare test #1: "1.2.3" <> "1.2.4" -> -1 / patch version_test.go:320 TestCompare(): compare test #2: "1.2.3" <> "1.3.3" -> -1 / minor version_test.go:320 TestCompare(): compare test #3: "1.2.3" <> "2.2.3" -> -1 / major version_test.go:320 TestCompare(): compare test #4: "3.2.1" <> "1.2.3" -> 1 / major version_test.go:320 TestCompare(): compare test #5: "1.2.3-alpha" <> "1.2.3" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> 1 / pre-release version_test.go:320 TestCompare(): compare test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> 0 / all version_test.go:320 TestCompare(): compare test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> 0 / all version_test.go:320 TestCompare(): compare test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> -1 / pre-release version_test.go:320 TestCompare(): compare test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> 1 / pre-release --- PASS: TestCompare (0.00s) === RUN TestLess version_test.go:399 TestLess(): less test #0: "1.2.3" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #1: "1.2.3" <> "1.2.4" -> true version_test.go:399 TestLess(): less test #2: "1.2.3" <> "1.3.3" -> true version_test.go:399 TestLess(): less test #3: "1.2.3" <> "2.2.3" -> true version_test.go:399 TestLess(): less test #4: "3.2.1" <> "1.2.3" -> false version_test.go:399 TestLess(): less test #5: "1.2.3-alpha" <> "1.2.3" -> true version_test.go:399 TestLess(): less test #6: "1.2.3-alpha.1" <> "1.2.3-alpha" -> true version_test.go:399 TestLess(): less test #7: "1.2.3-alpha.1" <> "1.2.3-alpha.2" -> true version_test.go:399 TestLess(): less test #8: "1.2.3-alpha.4711" <> "1.2.3-alpha.471" -> false version_test.go:399 TestLess(): less test #9: "1.2.3-alpha.48" <> "1.2.3-alpha.4711" -> true version_test.go:399 TestLess(): less test #10: "1.2.3+alpha.1" <> "1.2.3+alpha.2" -> false version_test.go:399 TestLess(): less test #11: "1.2.3+alpha.2" <> "1.2.3+alpha.1" -> false version_test.go:399 TestLess(): less test #12: "1.2.3-alpha+alpha.2" <> "1.2.3-alpha+alpha.1" -> false version_test.go:399 TestLess(): less test #13: "1.2.3-alpha.48+alpha.2" <> "1.2.3-alpha.4711+alpha.1" -> true version_test.go:399 TestLess(): less test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> false --- PASS: TestLess (0.00s) PASS ok github.com/tideland/golib/version 0.006s make[1]: Leaving directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-tideland-golib-dev/ -O--buildsystem=golang dh_installdocs -O--buildsystem=golang dh_installchangelogs -O--buildsystem=golang dh_installinit -O--buildsystem=golang dh_installsystemduser -O--buildsystem=golang dh_perl -O--buildsystem=golang dh_link -O--buildsystem=golang dh_strip_nondeterminism -O--buildsystem=golang dh_compress -O--buildsystem=golang dh_fixperms -O--buildsystem=golang dh_missing -O--buildsystem=golang dh_installdeb -O--buildsystem=golang dh_golang -O--buildsystem=golang dh_gencontrol -O--buildsystem=golang dpkg-gencontrol: warning: Depends field of package golang-github-tideland-golib-dev: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -O--buildsystem=golang dh_builddeb -O--buildsystem=golang dpkg-deb: building package 'golang-github-tideland-golib-dev' in '../golang-github-tideland-golib-dev_4.24.2-2_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.buildinfo dpkg-genchanges --build=binary -O../golang-github-tideland-golib_4.24.2-2_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . 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/2140041/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/2140041/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/2140041 and its subdirectories I: Current time: Fri Mar 27 21:20:37 +14 2026 I: pbuilder-time-stamp: 1774596037 + false + set +x Fri Mar 27 07:20:37 UTC 2026 I: Signing ./b2/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo as golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc Fri Mar 27 07:20:37 UTC 2026 I: Signed ./b2/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo as ./b2/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc Fri Mar 27 07:20:37 UTC 2026 - build #2 for golang-github-tideland-golib/unstable/amd64 on ionos15-amd64 done. Starting cleanup. All cleanup done. Fri Mar 27 07:20:37 UTC 2026 - reproducible_build.sh stopped running as /tmp/jenkins-script-rQyGupqh, removing. /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ: total 132 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 00:56 b1 drwxr-xr-x 2 jenkins jenkins 4096 Feb 22 00:57 b2 -rw-r--r-- 1 jenkins jenkins 2357 Feb 21 16:28 golang-github-tideland-golib_4.24.2-2.dsc -rw------- 1 jenkins jenkins 117597 Feb 22 00:56 rbuildlog.yOHMYYH /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b1: total 284 -rw-r--r-- 1 jenkins jenkins 113700 Feb 22 00:56 build.log -rw-r--r-- 1 jenkins jenkins 129344 Feb 22 00:56 golang-github-tideland-golib-dev_4.24.2-2_all.deb -rw-r--r-- 1 jenkins jenkins 4760 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2357 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2.dsc -rw-r--r-- 1 jenkins jenkins 4879 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 5761 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1560 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_amd64.changes -rw-r--r-- 1 jenkins jenkins 1741 Feb 22 00:56 golang-github-tideland-golib_4.24.2-2_source.changes /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b2: total 280 -rw-r--r-- 1 jenkins jenkins 115639 Feb 22 00:57 build.log -rw-r--r-- 1 jenkins jenkins 129344 Feb 22 00:57 golang-github-tideland-golib-dev_4.24.2-2_all.deb -rw-r--r-- 1 jenkins jenkins 4760 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2357 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2.dsc -rw-r--r-- 1 jenkins jenkins 4888 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 5770 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1560 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2_amd64.changes -rw-r--r-- 1 jenkins jenkins 1741 Feb 22 00:57 golang-github-tideland-golib_4.24.2-2_source.changes Sat Feb 22 00:57:37 UTC 2025 I: Deleting $TMPDIR on ionos15-amd64.debian.net. Sat Feb 22 00:57:38 UTC 2025 I: golang-github-tideland-golib_4.24.2-2_amd64.changes: Format: 1.8 Date: Fri, 21 Feb 2025 17:15:56 +0100 Source: golang-github-tideland-golib Binary: golang-github-tideland-golib-dev Architecture: all Version: 4.24.2-2 Distribution: unstable Urgency: medium Maintainer: Debian Go Packaging Team Changed-By: Jochen Sprickerhof Description: golang-github-tideland-golib-dev - collection of misc Go packages Changes: golang-github-tideland-golib (4.24.2-2) unstable; urgency=medium . * Team upload. . [ Alexandre Viau ] * point Vcs-* urls to salsa.debian.org . [ Debian Janitor ] * Bump debhelper from old 10 to 12. * Set debhelper-compat version in Build-Depends. * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse. . [ Jochen Sprickerhof ] * d/control: Section: golang Checksums-Sha1: 056407e3a7b68b5063ccdba03e1c4b95f06ff8d6 129344 golang-github-tideland-golib-dev_4.24.2-2_all.deb 5a132aa62d95d5e3d7be291833c8b8d8032c429e 4879 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo Checksums-Sha256: bf5b217d0fe0221cffbf9c84177bd8383181f84f50db9324591189b00a2574cf 129344 golang-github-tideland-golib-dev_4.24.2-2_all.deb e53a0b283e62c4c27632a8ef7800c7bbbce0e8f2ac7eb5a36b9680c4e6ea2e5c 4879 golang-github-tideland-golib_4.24.2-2_amd64.buildinfo Files: 3c4f1f4258de4627f81797d71ee8fe93 129344 golang optional golang-github-tideland-golib-dev_4.24.2-2_all.deb 712408398a4c31f37fc1251e8f26b7eb 4879 golang optional golang-github-tideland-golib_4.24.2-2_amd64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/golang-github-tideland-golib_4.24.2-1.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/golang-github-tideland-golib_4.24.2-1.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/amd64/golang-github-tideland-golib_4.24.2-1.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/unstable/amd64/golang-github-tideland-golib_4.24.2-1.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/unstable/amd64/golang-github-tideland-golib_4.24.2-1_amd64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/golang-github-tideland-golib_4.24.2-1.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2025-02-22 00:56:33.623622523 +0000 +++ b2/build.log 2025-02-22 00:57:37.864706242 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Feb 21 12:50:28 -12 2025 -I: pbuilder-time-stamp: 1740185428 +I: Current time: Fri Mar 27 21:19:35 +14 2026 +I: pbuilder-time-stamp: 1774595975 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: applying fix-ftbfs.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 27 07: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/2140041/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='e0264916899246b2af0588a5822418a3' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='2672076' - PS1='# ' - PS2='> ' + INVOCATION_ID=0e257a51bba249f9b099cee1a0ecc052 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2140041 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.sQU446RZ/pbuilderrc_8Q6u --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.sQU446RZ/b1 --logfile b1/build.log golang-github-tideland-golib_4.24.2-2.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://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.sQU446RZ/pbuilderrc_N3J2 --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.sQU446RZ/b2 --logfile b2/build.log golang-github-tideland-golib_4.24.2-2.dsc' + SUDO_GID=111 + SUDO_UID=106 + 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 ionos1-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2672076/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -146,7 +178,7 @@ Get: 34 http://deb.debian.org/debian unstable/main amd64 golang-src all 2:1.24~2 [5136 B] Get: 35 http://deb.debian.org/debian unstable/main amd64 golang-go amd64 2:1.24~2 [44.3 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 golang-any amd64 2:1.24~2 [5216 B] -Fetched 69.6 MB in 2s (34.4 MB/s) +Fetched 69.6 MB in 1s (51.5 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19775 files and directories currently installed.) @@ -310,7 +342,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/golang-github-tideland-golib-4.24.2/ && 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 > ../golang-github-tideland-golib_4.24.2-2_source.changes +I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2140041/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-tideland-golib-4.24.2/ && 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 > ../golang-github-tideland-golib_4.24.2-2_source.changes dpkg-buildpackage: info: source package golang-github-tideland-golib dpkg-buildpackage: info: source version 4.24.2-2 dpkg-buildpackage: info: source distribution unstable @@ -328,200 +364,200 @@ dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version -internal/itoa + cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version +internal/profilerecord +internal/unsafeheader math/bits -internal/goarch crypto/internal/fips140/alias -internal/unsafeheader -cmp -internal/msan +unicode/utf8 +internal/itoa +internal/coverage/rtcov unicode +cmp internal/godebugs -sync/atomic +internal/byteorder internal/goos -internal/cpu -internal/coverage/rtcov +encoding internal/runtime/syscall +internal/nettrace internal/asan +crypto/internal/boring/sig internal/runtime/atomic -unicode/utf8 -internal/byteorder -internal/profilerecord +sync/atomic +internal/msan +internal/goarch +internal/cpu internal/goexperiment +vendor/golang.org/x/crypto/internal/alias +unicode/utf16 +container/list +log/internal +vendor/golang.org/x/crypto/cryptobyte/asn1 crypto/internal/fips140/subtle -crypto/internal/boring/sig -internal/nettrace -internal/abi internal/runtime/math internal/runtime/sys -encoding -container/list -unicode/utf16 -vendor/golang.org/x/crypto/cryptobyte/asn1 -vendor/golang.org/x/crypto/internal/alias -log/internal -internal/chacha8rand +internal/abi crypto/internal/fips140deps/byteorder -internal/runtime/exithook -internal/bytealg +internal/chacha8rand crypto/internal/fips140deps/cpu +internal/bytealg math +internal/runtime/exithook internal/stringslite internal/race internal/sync internal/runtime/maps runtime -sync -internal/reflectlite -iter crypto/subtle weak -slices +internal/reflectlite +iter +sync maps +slices +errors +sort +internal/singleflight internal/bisect internal/testlog -internal/singleflight unique -runtime/cgo -errors -sort -io -strconv -internal/godebug -vendor/golang.org/x/net/dns/dnsmessage internal/oserror path +io +vendor/golang.org/x/net/dns/dnsmessage math/rand/v2 +strconv +runtime/cgo +syscall +internal/godebug bytes +github.com/tideland/golib/sort +hash crypto/internal/randutil strings -hash -github.com/tideland/golib/sort -syscall -crypto/internal/fips140deps/godebug -math/rand -hash/crc32 hash/adler32 +hash/crc32 crypto net/netip +crypto/internal/fips140deps/godebug +math/rand reflect github.com/tideland/golib/mapreduce vendor/golang.org/x/text/transform +net/http/internal/ascii crypto/internal/fips140 crypto/internal/impl bufio regexp/syntax html -net/http/internal/ascii crypto/internal/fips140/sha256 crypto/tls/internal/fips140tls -crypto/internal/fips140/sha512 crypto/internal/fips140/sha3 -crypto/internal/fips140/hmac +crypto/internal/fips140/sha512 crypto/sha3 +crypto/internal/fips140/hmac crypto/internal/fips140/check +crypto/internal/fips140hash +internal/syscall/execenv +internal/syscall/unix +time +crypto/internal/fips140/tls12 +crypto/internal/fips140/hkdf crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod -crypto/internal/fips140/hkdf -crypto/internal/fips140/tls12 -crypto/internal/fips140/nistec/fiat crypto/internal/fips140/aes -crypto/internal/fips140hash +crypto/internal/fips140/nistec/fiat crypto/internal/fips140/tls13 -regexp crypto/internal/fips140/edwards25519 -internal/syscall/execenv -internal/syscall/unix -time -crypto/internal/fips140/nistec -internal/fmtsort -encoding/binary +regexp io/fs context internal/poll internal/filepathlite -vendor/golang.org/x/crypto/internal/poly1305 -encoding/base64 +crypto/internal/fips140/nistec +internal/fmtsort +encoding/binary os +encoding/base64 +vendor/golang.org/x/crypto/internal/poly1305 encoding/pem +path/filepath crypto/internal/sysrand fmt -path/filepath io/ioutil vendor/golang.org/x/sys/cpu net crypto/internal/entropy crypto/internal/fips140/drbg -crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/internal/fips140/ecdh -crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 +crypto/internal/fips140/ecdsa crypto/internal/fips140/mlkem +crypto/internal/fips140/aes/gcm crypto/internal/fips140/rsa crypto/rc4 crypto/md5 crypto/cipher -crypto/des -vendor/golang.org/x/crypto/chacha20 -crypto/internal/boring -github.com/tideland/golib/errors encoding/hex +github.com/tideland/golib/errors log -math/big +net/url +net/http/internal encoding/xml +mime/quotedprintable compress/flate -net/url -vendor/golang.org/x/net/http2/hpack mime -vendor/golang.org/x/text/unicode/norm -mime/quotedprintable -net/http/internal -encoding/json +vendor/golang.org/x/net/http2/hpack github.com/tideland/golib/numerics -github.com/tideland/golib/collections -github.com/tideland/golib/version -crypto/aes +encoding/json +vendor/golang.org/x/text/unicode/norm +math/big +crypto/internal/boring +vendor/golang.org/x/crypto/chacha20 +crypto/des crypto/sha1 +crypto/aes crypto/ecdh -crypto/sha512 crypto/hmac +crypto/sha512 crypto/sha256 +github.com/tideland/golib/version +github.com/tideland/golib/collections vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/text/unicode/bidi compress/gzip vendor/golang.org/x/text/secure/bidirule -github.com/tideland/golib/sml -github.com/tideland/golib/feed/utils vendor/golang.org/x/net/idna +github.com/tideland/golib/feed/utils +github.com/tideland/golib/sml crypto/rand -crypto/elliptic crypto/internal/boring/bbig -encoding/asn1 crypto/dsa -crypto/internal/hpke +crypto/elliptic +encoding/asn1 crypto/ed25519 -crypto/rsa +crypto/internal/hpke github.com/tideland/golib/audit -vendor/golang.org/x/crypto/cryptobyte +crypto/rsa crypto/x509/pkix +vendor/golang.org/x/crypto/cryptobyte crypto/ecdsa -github.com/tideland/golib/identifier log/syslog +vendor/golang.org/x/net/http/httpproxy net/textproto +github.com/tideland/golib/identifier crypto/x509 -vendor/golang.org/x/net/http/httpproxy github.com/tideland/golib/logger vendor/golang.org/x/net/http/httpguts mime/multipart github.com/tideland/golib/loop github.com/tideland/golib/stringex github.com/tideland/golib/cache -github.com/tideland/golib/monitoring github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/timex +github.com/tideland/golib/monitoring github.com/tideland/golib/etc github.com/tideland/golib/gjp github.com/tideland/golib/redis @@ -533,7 +569,7 @@ debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' dh_auto_test -- -short - cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 -short github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version + cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 -short github.com/tideland/golib/audit github.com/tideland/golib/cache github.com/tideland/golib/collections github.com/tideland/golib/errors github.com/tideland/golib/etc github.com/tideland/golib/feed/atom github.com/tideland/golib/feed/rss github.com/tideland/golib/feed/utils github.com/tideland/golib/gjp github.com/tideland/golib/identifier github.com/tideland/golib/logger github.com/tideland/golib/loop github.com/tideland/golib/mapreduce github.com/tideland/golib/monitoring github.com/tideland/golib/numerics github.com/tideland/golib/redis github.com/tideland/golib/scene github.com/tideland/golib/scroller github.com/tideland/golib/sml github.com/tideland/golib/sort github.com/tideland/golib/stringex github.com/tideland/golib/timex github.com/tideland/golib/version === RUN TestAssertTrue asserts_test.go:485: testing assert "true" failed: 'false' (bool) <> 'true' (bool) [should fail and be logged] --- PASS: TestAssertTrue (0.00s) @@ -564,7 +600,7 @@ asserts_test.go:485: testing assert "range" failed: '1' (float64) <> '&{10 20}' (ptr to audit.lowHigh) [float64 out of range] asserts_test.go:485: testing assert "range" failed: '97' (int32) <> '&{120 122}' (ptr to audit.lowHigh) [rune out of range] asserts_test.go:485: testing assert "range" failed: 'aaa' (string) <> '&{uuuuu zzzzz}' (ptr to audit.lowHigh) [string out of range] - asserts_test.go:485: testing assert "range" failed: '2025-02-22 00:55:04.196609776 +0000 UTC m=+0.007112650' (struct Time) <> '&{{13971967083000891120 60007112650 0x6ef660} {13971970884046948080 3600007112650 0x6ef660}}' (ptr to audit.lowHigh) [time out of range] + asserts_test.go:485: testing assert "range" failed: '2026-03-27 07:20:18.181893961 +0000 UTC m=+0.000953459' (struct Time) <> '&{{14008914876304948041 60000953459 0x6ef660} {14008918677351005001 3600000953459 0x6ef660}}' (ptr to audit.lowHigh) [time out of range] asserts_test.go:485: testing assert "range" failed: '1s' (int64) <> '&{60000000000 3600000000000}' (ptr to audit.lowHigh) [duration in range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (slice of int) <> '&{5 10}' (ptr to audit.lowHigh) [slice length out of range] asserts_test.go:485: testing assert "range" failed: '[1 2 3]' (array of int) <> '&{5 10}' (ptr to audit.lowHigh) [array length out of range] @@ -651,14 +687,14 @@ === RUN TestAssertWait asserts_test.go:485: testing assert "wait" failed: 'false' (bool) <> 'true' (bool) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] ---- PASS: TestAssertWait (0.21s) +--- PASS: TestAssertWait (0.20s) === RUN TestAssertWaitTested asserts_test.go:485: testing assert "nil" failed: 'illegal value' (ptr to errors.errorString) <> '' (invalid) [should be false] asserts_test.go:485: testing assert "wait" failed: 'timeout 100ms' (string) <> 'signal true' (string) [should timeout] ---- PASS: TestAssertWaitTested (0.21s) +--- PASS: TestAssertWaitTested (0.20s) === RUN TestAssertRetry - asserts_test.go:485: testing assert "retry" failed: 'timeout after 136.018241ms and 10 retries' (string) <> 'successful call' (string) [should fail] ---- PASS: TestAssertRetry (0.18s) + asserts_test.go:485: testing assert "retry" failed: 'timeout after 107.774508ms and 10 retries' (string) <> 'successful call' (string) [should fail] +--- PASS: TestAssertRetry (0.15s) === RUN TestAssertFail asserts_test.go:485: testing assert "fail" failed: '' (invalid) <> '' (invalid) [this should fail] --- PASS: TestAssertFail (0.00s) @@ -719,163 +755,163 @@ === RUN TestOneOf --- PASS: TestOneOf (0.00s) === RUN TestWords ---- PASS: TestWords (0.03s) +--- PASS: TestWords (0.01s) === RUN TestPattern ---- PASS: TestPattern (0.01s) +--- PASS: TestPattern (0.00s) === RUN TestText ---- PASS: TestText (1.03s) +--- PASS: TestText (0.20s) === RUN TestName ---- PASS: TestName (8.61s) +--- PASS: TestName (0.66s) === RUN TestDomain --- PASS: TestDomain (0.00s) === RUN TestURL ---- PASS: TestURL (2.70s) +--- PASS: TestURL (0.19s) === RUN TestEMail ---- PASS: TestEMail (2.38s) +--- PASS: TestEMail (0.14s) === RUN TestTimes ---- PASS: TestTimes (5.48s) +--- PASS: TestTimes (3.19s) PASS -ok github.com/tideland/golib/audit 20.924s +ok github.com/tideland/golib/audit 4.954s === RUN TestNoLoader --- PASS: TestNoLoader (0.00s) === RUN TestLoader -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" stopped +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" starts +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loader" stopped --- PASS: TestLoader (0.00s) === RUN TestLoading -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" stopped ---- PASS: TestLoading (0.07s) +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" starts +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::loading" stopped +--- PASS: TestLoading (0.06s) === RUN TestConcurrentLoading -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" starts -cache_test.go:118 func1(): Goroutine 98 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 99 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 9 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 10 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 11 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 12 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 13 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 14 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 15 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 16 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 17 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 18 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 19 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 20 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 21 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 22 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 23 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 24 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 25 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 26 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 27 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 28 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 29 loaded "/concurrent" +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" starts +cache_test.go:118 func1(): Goroutine 95 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 30 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 31 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 32 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 33 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 34 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 35 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 36 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 45 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 37 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 34 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 28 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 99 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 29 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 74 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 19 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 81 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 38 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 66 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 60 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 68 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 49 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 93 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 18 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 39 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 40 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 41 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 42 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 43 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 44 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 45 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 46 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 47 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 48 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 49 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 50 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 51 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 52 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 53 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 54 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 55 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 56 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 57 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 58 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 59 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 60 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 61 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 62 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 63 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 64 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 65 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 66 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 67 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 68 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 69 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 31 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 32 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 33 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 70 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 71 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 69 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 72 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 73 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 74 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 46 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 47 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 36 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 75 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 26 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 35 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 50 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 76 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 20 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 77 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 21 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 27 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 22 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 78 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 23 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 25 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 79 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 54 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 24 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 48 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 80 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 81 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 51 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 82 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 83 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 84 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 52 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 53 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 9 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 85 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 55 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 86 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 10 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 57 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 87 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 58 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 88 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 11 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 56 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 59 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 89 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 90 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 94 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 12 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 91 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 67 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 13 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 92 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 93 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 94 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 95 loaded "/concurrent" -cache_test.go:118 func1(): Goroutine 96 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 14 loaded "/concurrent" cache_test.go:118 func1(): Goroutine 97 loaded "/concurrent" -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" stopped +cache_test.go:118 func1(): Goroutine 61 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 98 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 96 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 15 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 62 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 63 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 16 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 90 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 83 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 17 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 64 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 84 loaded "/concurrent" +cache_test.go:118 func1(): Goroutine 65 loaded "/concurrent" +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::concurrent-loading" stopped --- PASS: TestConcurrentLoading (0.05s) === RUN TestOutdatingFail -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" stopped +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" starts +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-fail" stopped --- PASS: TestOutdatingFail (0.05s) === RUN TestOutdatingReload -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" stopped ---- PASS: TestOutdatingReload (0.10s) +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" starts +2026-03-27 07:20:19 Z--- PASS: TestOutdatingReload (0.10s) + [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload" stopped === RUN TestOutdatingReloadError -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" stopped ---- PASS: TestOutdatingReloadError (0.11s) +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" starts +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::outdating-reload-error" stopped +--- PASS: TestOutdatingReloadError (0.10s) === RUN TestDiscarding -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" starts -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" stopped ---- PASS: TestDiscarding (0.21s) +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" starts +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::discarding" stopped +--- PASS: TestDiscarding (0.20s) === RUN TestCleanup -2025-02-22 00:55:15 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" starts -cache_test.go:247 TestCleanup(): 1st: 9 > 2nd: 0 -2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" stopped ---- PASS: TestCleanup (3.19s) +2026-03-27 07:20:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" starts +cache_test.go:247 TestCleanup(): 1st: 6 > 2nd: 0 +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "cache::cleanup" stopped +--- PASS: TestCleanup (3.03s) === RUN TestClear -2025-02-22 00:55:19 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" starts +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" starts cache_test.go:271 TestClear(): 1st: 50 > 2nd: 0 -2025-02-22 00:55:21 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" stopped ---- PASS: TestClear (2.63s) +2026-03-27 07:20:25 Z [INFO] [github.com/tideland/golib/loop] loop "cache::clear" stopped +--- PASS: TestClear (2.52s) === RUN TestFileLoader loader_test.go:57 TestFileLoader(): test #0: fa with size 1 mb loader_test.go:57 TestFileLoader(): test #1: fb with size 2 mb loader_test.go:57 TestFileLoader(): test #2: fc with size 3 mb loader_test.go:57 TestFileLoader(): test #3: fd with size 4 mb loader_test.go:57 TestFileLoader(): test #4: fe with size 5 mb ---- PASS: TestFileLoader (3.39s) +--- PASS: TestFileLoader (0.17s) PASS -ok github.com/tideland/golib/cache 9.892s +ok github.com/tideland/golib/cache 6.297s === RUN TestRingBufferPush --- PASS: TestRingBufferPush (0.00s) === RUN TestRingBufferPop @@ -933,7 +969,7 @@ === RUN TestKeyValueTreeSetValue --- PASS: TestKeyValueTreeSetValue (0.00s) === RUN TestKeyValueTreeFind ---- PASS: TestKeyValueTreeFind (0.01s) +--- PASS: TestKeyValueTreeFind (0.00s) === RUN TestKeyValueTreeDo --- PASS: TestKeyValueTreeDo (0.00s) === RUN TestKeyValueTreeCopy @@ -953,7 +989,7 @@ === RUN TestKeyStringValueTreeCopy --- PASS: TestKeyStringValueTreeCopy (0.00s) PASS -ok github.com/tideland/golib/collections 0.093s +ok github.com/tideland/golib/collections 0.006s === RUN TestIsError --- PASS: TestIsError (0.00s) === RUN TestValidation @@ -965,7 +1001,7 @@ === RUN TestDoAll --- PASS: TestDoAll (0.00s) PASS -ok github.com/tideland/golib/errors 0.068s +ok github.com/tideland/golib/errors 0.003s === RUN TestRead --- PASS: TestRead (0.00s) === RUN TestReadFile @@ -983,7 +1019,7 @@ === RUN TestGetFail --- PASS: TestGetFail (0.00s) === RUN TestSplit ---- PASS: TestSplit (0.01s) +--- PASS: TestSplit (0.00s) === RUN TestDump --- PASS: TestDump (0.00s) === RUN TestApply @@ -991,7 +1027,7 @@ === RUN TestContext --- PASS: TestContext (0.00s) PASS -ok github.com/tideland/golib/etc 0.084s +ok github.com/tideland/golib/etc 0.007s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode @@ -1000,7 +1036,7 @@ atom_test.go:77: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS -ok github.com/tideland/golib/feed/atom 0.088s +ok github.com/tideland/golib/feed/atom 0.006s === RUN TestParseComposeTime --- PASS: TestParseComposeTime (0.00s) === RUN TestEncodeDecode @@ -1011,11 +1047,11 @@ rss_test.go:123: Network test skipped in short mode --- SKIP: TestGet (0.00s) PASS -ok github.com/tideland/golib/feed/rss 0.137s +ok github.com/tideland/golib/feed/rss 0.006s === RUN TestStripTags ---- PASS: TestStripTags (0.01s) +--- PASS: TestStripTags (0.00s) PASS -ok github.com/tideland/golib/feed/utils 0.073s +ok github.com/tideland/golib/feed/utils 0.004s === RUN TestParseError --- PASS: TestParseError (0.00s) === RUN TestClear @@ -1024,37 +1060,37 @@ --- PASS: TestLength (0.00s) === RUN TestProcessing gjp_test.go:82 func1(): path 01 => "/A" = "Level One" -gjp_test.go:82 func1(): path 02 => "/B/0/S/0" = "red" -gjp_test.go:82 func1(): path 03 => "/B/0/S/1" = "green" -gjp_test.go:82 func1(): path 04 => "/B/0/S/2" = "1" -gjp_test.go:82 func1(): path 05 => "/B/0/S/3" = "2.2" -gjp_test.go:82 func1(): path 06 => "/B/0/S/4" = "true" -gjp_test.go:82 func1(): path 07 => "/B/0/A" = "Level Two - 0" -gjp_test.go:82 func1(): path 08 => "/B/0/B" = "100" -gjp_test.go:82 func1(): path 09 => "/B/0/C" = "true" -gjp_test.go:82 func1(): path 10 => "/B/0/D/A" = "Level Three - 0" -gjp_test.go:82 func1(): path 11 => "/B/0/D/B" = "10.1" -gjp_test.go:82 func1(): path 12 => "/B/1/A" = "Level Two - 1" -gjp_test.go:82 func1(): path 13 => "/B/1/B" = "200" -gjp_test.go:82 func1(): path 14 => "/B/1/C" = "false" -gjp_test.go:82 func1(): path 15 => "/B/1/D/B" = "20.2" -gjp_test.go:82 func1(): path 16 => "/B/1/D/A" = "Level Three - 1" -gjp_test.go:82 func1(): path 17 => "/B/1/S/0" = "orange" -gjp_test.go:82 func1(): path 18 => "/B/1/S/1" = "blue" -gjp_test.go:82 func1(): path 19 => "/B/1/S/2" = "white" -gjp_test.go:82 func1(): path 20 => "/B/2/A" = "Level Two - 2" -gjp_test.go:82 func1(): path 21 => "/B/2/B" = "300" -gjp_test.go:82 func1(): path 22 => "/B/2/C" = "true" -gjp_test.go:82 func1(): path 23 => "/B/2/D/A" = "Level Three - 2" -gjp_test.go:82 func1(): path 24 => "/B/2/D/B" = "30.3" -gjp_test.go:82 func1(): path 25 => "/B/2/S" = "" +gjp_test.go:82 func1(): path 02 => "/B/0/C" = "true" +gjp_test.go:82 func1(): path 03 => "/B/0/D/B" = "10.1" +gjp_test.go:82 func1(): path 04 => "/B/0/D/A" = "Level Three - 0" +gjp_test.go:82 func1(): path 05 => "/B/0/S/0" = "red" +gjp_test.go:82 func1(): path 06 => "/B/0/S/1" = "green" +gjp_test.go:82 func1(): path 07 => "/B/0/S/2" = "1" +gjp_test.go:82 func1(): path 08 => "/B/0/S/3" = "2.2" +gjp_test.go:82 func1(): path 09 => "/B/0/S/4" = "true" +gjp_test.go:82 func1(): path 10 => "/B/0/A" = "Level Two - 0" +gjp_test.go:82 func1(): path 11 => "/B/0/B" = "100" +gjp_test.go:82 func1(): path 12 => "/B/1/C" = "false" +gjp_test.go:82 func1(): path 13 => "/B/1/D/A" = "Level Three - 1" +gjp_test.go:82 func1(): path 14 => "/B/1/D/B" = "20.2" +gjp_test.go:82 func1(): path 15 => "/B/1/S/0" = "orange" +gjp_test.go:82 func1(): path 16 => "/B/1/S/1" = "blue" +gjp_test.go:82 func1(): path 17 => "/B/1/S/2" = "white" +gjp_test.go:82 func1(): path 18 => "/B/1/A" = "Level Two - 1" +gjp_test.go:82 func1(): path 19 => "/B/1/B" = "200" +gjp_test.go:82 func1(): path 20 => "/B/2/C" = "true" +gjp_test.go:82 func1(): path 21 => "/B/2/D/A" = "Level Three - 2" +gjp_test.go:82 func1(): path 22 => "/B/2/D/B" = "30.3" +gjp_test.go:82 func1(): path 23 => "/B/2/S" = "" +gjp_test.go:82 func1(): path 24 => "/B/2/A" = "Level Two - 2" +gjp_test.go:82 func1(): path 25 => "/B/2/B" = "300" gjp_test.go:82 func1(): path 26 => "/D" = "5000000000" gjp_test.go:82 func1(): path 27 => "/T" = "2017-04-29T20:30:00Z" --- PASS: TestProcessing (0.00s) === RUN TestSeparator --- PASS: TestSeparator (0.00s) === RUN TestCompare ---- PASS: TestCompare (0.01s) +--- PASS: TestCompare (0.00s) === RUN TestString --- PASS: TestString (0.00s) === RUN TestInt @@ -1070,7 +1106,7 @@ === RUN TestMarshalJSON --- PASS: TestMarshalJSON (0.00s) PASS -ok github.com/tideland/golib/gjp 0.103s +ok github.com/tideland/golib/gjp 0.007s === RUN TestTypeAsIdentifierPart --- PASS: TestTypeAsIdentifierPart (0.00s) === RUN TestIdentifier @@ -1078,17 +1114,17 @@ === RUN TestSepIdentifier --- PASS: TestSepIdentifier (0.00s) === RUN TestStandardUUID ---- PASS: TestStandardUUID (14.99s) +--- PASS: TestStandardUUID (1.37s) === RUN TestUUIDVersions -uuid_test.go:62 TestUUIDVersions(): UUID V1: 8b4c8fc7-b7f0-1f01-8b18-ab4f23e56b92 +uuid_test.go:62 TestUUIDVersions(): UUID V1: c51b606b-ad29-1101-862c-8dc424fef744 uuid_test.go:67 TestUUIDVersions(): UUID V3: c4d91d8a-0d3e-3e3f-8dd6-924b8cc71909 -uuid_test.go:72 TestUUIDVersions(): UUID V4: 3eccf792-4228-49d6-8f5e-f6aa26007e18 +uuid_test.go:72 TestUUIDVersions(): UUID V4: 4d3923ea-6916-479e-8587-c7c11b4272f6 uuid_test.go:77 TestUUIDVersions(): UUID V5: 479b560a-cc70-5da7-9009-dcda1e772b01 --- PASS: TestUUIDVersions (0.00s) === RUN TestUUIDByHex --- PASS: TestUUIDByHex (0.00s) PASS -ok github.com/tideland/golib/identifier 15.056s +ok github.com/tideland/golib/identifier 1.381s === RUN TestGetSetLevel --- PASS: TestGetSetLevel (0.00s) === RUN TestGetSetLevelString @@ -1096,11 +1132,11 @@ === RUN TestFiltering --- PASS: TestFiltering (0.00s) === RUN TestGoLogger -2025/02/22 00:55:43 [DEBUG] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:146) Debug. -2025/02/22 00:55:43 [INFO] [github.com/tideland/golib/logger_test] Info. -2025/02/22 00:55:43 [WARNING] [github.com/tideland/golib/logger_test] Warning. -2025/02/22 00:55:43 [ERROR] [github.com/tideland/golib/logger_test] Error. -2025/02/22 00:55:43 [CRITICAL] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:150) Critical. +2026/03/27 07:20:21 [DEBUG] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:146) Debug. +2026/03/27 07:20:21 [INFO] [github.com/tideland/golib/logger_test] Info. +2026/03/27 07:20:21 [WARNING] [github.com/tideland/golib/logger_test] Warning. +2026/03/27 07:20:21 [ERROR] [github.com/tideland/golib/logger_test] Error. +2026/03/27 07:20:21 [CRITICAL] [github.com/tideland/golib/logger_test] (logger_test.go:TestGoLogger:150) Critical. --- PASS: TestGoLogger (0.00s) === RUN TestSysLogger logger_test.go:156: Network test skipped in short mode @@ -1108,235 +1144,235 @@ === RUN TestFatalExit --- PASS: TestFatalExit (0.00s) PASS -ok github.com/tideland/golib/logger 0.069s +ok github.com/tideland/golib/logger 0.005s === RUN TestSimpleStop -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-stop" stopped --- PASS: TestSimpleStop (0.00s) === RUN TestLogging --- PASS: TestLogging (0.00s) === RUN TestSimpleRestart -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" restarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" restarts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-restart" stopped --- PASS: TestSimpleRestart (0.00s) === RUN TestSimpleKill -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-kill" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "simple-kill" stopped with error: ouch +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-kill" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "simple-kill" stopped with error: ouch --- PASS: TestSimpleKill (0.00s) === RUN TestError -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "error" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "error" stopped with error: internal loop error +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "error" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "error" stopped with error: internal loop error --- PASS: TestError (0.00s) === RUN TestDeferredError -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "deferred-error" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "deferred-error" stopped with error: deferred error +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "deferred-error" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "deferred-error" stopped with error: deferred error --- PASS: TestDeferredError (0.00s) === RUN TestStopRecoverings -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "stop-recoverings" tries to recover -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" recovered -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "stop-recoverings" tries to recover +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" recovered +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "stop-recoverings" stopped --- PASS: TestStopRecoverings (0.00s) === RUN TestEndRecoverings -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "end-recoverings" stopped --- PASS: TestEndRecoverings (0.00s) === RUN TestRecoveringsPanic -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" stopped with error: too many panics +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-panic" recovered +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" tries to recover +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-panic" stopped with error: too many panics --- PASS: TestRecoveringsPanic (0.00s) === RUN TestRecoveringsError -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-error" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" tries to recover -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" stopped with error: error +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "recoverings-error" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" tries to recover +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "recoverings-error" stopped with error: error --- PASS: TestRecoveringsError (0.00s) === RUN TestDescription -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "two::three::four" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "two::three::four" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "two::three::four" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "one" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "one" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "two::three::four" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "two::three::four" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "two::three::four" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "one" stops observable "" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "one" stopped --- PASS: TestDescription (0.00s) === RUN TestSimpleSentinel -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "simple-sentinel" stops observable "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "simple-sentinel" stopped --- PASS: TestSimpleSentinel (0.00s) === RUN TestSentinelStoppingLoop -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-stopping-loop" stops observable "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-stopping-loop" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped --- PASS: TestSentinelStoppingLoop (0.00s) === RUN TestSentineForget -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::d" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::d" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::d" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::d" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::d" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-forget" stops observable "loop::d" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-forget" stopped --- PASS: TestSentineForget (0.00s) === RUN TestSentinelKillingLoopNoHandler -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-no-handler" kills all observables after error: bang! -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" stopped with error: [LOOP:002] error handling for "loop::b" failed: bang! +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-no-handler" kills all observables after error: bang! +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-no-handler" stopped with error: [LOOP:002] error handling for "loop::b" failed: bang! --- PASS: TestSentinelKillingLoopNoHandler (0.00s) === RUN TestSentinelKillingLoopHandlerRestarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-handler-restarts" stops observable "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-handler-restarts" stopped --- PASS: TestSentinelKillingLoopHandlerRestarts (0.00s) === RUN TestSentinelKillingLoopHandlerStops -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-with-stops" kills all observables after error: oh no! -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" stopped with error: [LOOP:002] error handling for "loop::b" failed: oh no! ---- PASS: TestSentinelKillingLoopHandlerStops (0.02s) +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] sentinel "sentinel-killing-loop-with-stops" kills all observables after error: oh no! +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::a" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::b" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop.(*sentinel).backendLoop] killing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-with-stops" stopped with error: [LOOP:002] error handling for "loop::b" failed: oh no! +--- PASS: TestSentinelKillingLoopHandlerStops (0.00s) === RUN TestSentinelKillingLoopHandlerRestartAll -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::c" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::c" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::c" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "loop::b" stopped with error: bang! +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" restarts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-killing-loop-restarting-all" stops observable "loop::c" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-killing-loop-restarting-all" stopped --- PASS: TestSentinelKillingLoopHandlerRestartAll (0.00s) === RUN TestNestedSentinelKill -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "nested-sentinel-kill::nested" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::nested" stops observable "loop::b" -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" stopped with error: bang! -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] sentinel "nested-sentinel-kill::nested" restarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" restarts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "nested-sentinel-kill::nested" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "nested-sentinel-kill::nested" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::nested" stops observable "loop::b" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" stopped with error: bang! +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] sentinel "nested-sentinel-kill::nested" restarts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::nested" restarts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::b" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::b" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "nested-sentinel-kill::top" stops observable "nested-sentinel-kill::nested" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "nested-sentinel-kill::top" stopped --- PASS: TestNestedSentinelKill (0.00s) === RUN TestSentinelSwitch -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-switch::b" stops observable "loop::a" -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "loop::a" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] stopped observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] started observing "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::a" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop.(*sentinel).backendLoop] sentinel "sentinel-switch::b" stops observable "loop::a" +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "sentinel-switch::b" stopped --- PASS: TestSentinelSwitch (0.00s) PASS -ok github.com/tideland/golib/loop 0.106s +ok github.com/tideland/golib/loop 0.012s === RUN TestMapReduce ---- PASS: TestMapReduce (12.30s) +--- PASS: TestMapReduce (1.40s) PASS -ok github.com/tideland/golib/mapreduce 12.380s +ok github.com/tideland/golib/mapreduce 1.405s === RUN TestETMMonitor -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts ---- PASS: TestETMMonitor (0.09s) +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +--- PASS: TestETMMonitor (0.06s) === RUN TestSSIMonitor -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped --- PASS: TestSSIMonitor (0.00s) === RUN TestDSRMonitor -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover -2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: runtime error: integer divide by zero -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover +2026-03-27 07:20:21 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: runtime error: integer divide by zero +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestDSRMonitor (0.00s) === RUN TestInternalPanic -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover -2025-02-22 00:55:44 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: ouch -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "monitoring-backend" tries to recover +2026-03-27 07:20:21 Z [WARNING] [github.com/tideland/golib/monitoring] standard monitor recovered: ouch +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" recovered --- PASS: TestInternalPanic (0.00s) === RUN TestBackendSwitch -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts ---- PASS: TestBackendSwitch (0.06s) +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "monitoring-backend" starts +--- PASS: TestBackendSwitch (0.05s) PASS -ok github.com/tideland/golib/monitoring 0.250s +ok github.com/tideland/golib/monitoring 0.118s === RUN TestSimplePoint --- PASS: TestSimplePoint (0.00s) === RUN TestSimplePointArray @@ -1356,7 +1392,7 @@ === RUN TestLeastSquaresFunction --- PASS: TestLeastSquaresFunction (0.00s) PASS -ok github.com/tideland/golib/numerics 0.076s +ok github.com/tideland/golib/numerics 0.004s === RUN TestSimpleKeyOperations commands_test.go:29: Redis test skipped in short mode --- SKIP: TestSimpleKeyOperations (0.00s) @@ -1409,105 +1445,105 @@ redis_test.go:87: Redis test skipped in short mode --- SKIP: TestPipelining (0.00s) === RUN TestOptions -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "redis::tmp-redis-sock::0" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "redis::tmp-redis-sock::0" starts --- PASS: TestOptions (0.00s) === RUN TestConcurrency redis_test.go:145: Redis test skipped in short mode --- SKIP: TestConcurrency (0.00s) PASS -ok github.com/tideland/golib/redis 0.100s +ok github.com/tideland/golib/redis 0.007s === RUN TestSimpleNoTimeout -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::726965d6-6749-4ac7-8eb6-5b9ae02f3085" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fe0e5908-a9b7-4ddd-9f88-2f8dc2d2bae6" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fe0e5908-a9b7-4ddd-9f88-2f8dc2d2bae6" stopped --- PASS: TestSimpleNoTimeout (0.00s) === RUN TestAccessAfterStopping -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9391a6c4-67d1-4052-996a-36d90220930a" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::c64d2de2-1cc1-40e4-8347-615b321ff00b" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::c64d2de2-1cc1-40e4-8347-615b321ff00b" stopped --- PASS: TestAccessAfterStopping (0.00s) === RUN TestCleanupNoError -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::15117363-8a5b-4615-9fb2-954b44745d19" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fff5bce4-a33f-4020-9477-fffb110c432e" starts +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fff5bce4-a33f-4020-9477-fffb110c432e" stopped --- PASS: TestCleanupNoError (0.00s) === RUN TestCleanupWithErrors -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ee0223a6-2f5e-40d2-9aab-247e39f12546" stopped with error: [SCENE:005] cleanup of property "bar" failed: ouch +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::cdc12baa-0a9d-4b48-8f8c-b5bb33b4cf5a" starts +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::cdc12baa-0a9d-4b48-8f8c-b5bb33b4cf5a" stopped with error: [SCENE:005] cleanup of property "yadda" failed: ouch --- PASS: TestCleanupWithErrors (0.00s) === RUN TestSimpleInactivityTimeout -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::4e1e714c-48e2-456b-945c-8d59a95fc06a" stopped with error: [SCENE:002] scene inactivity timeout reached at 2025-02-22 00:55:44.120916591 +0000 UTC m=+0.101952923 ---- PASS: TestSimpleInactivityTimeout (0.11s) +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scene::682b5ab0-e5a5-454a-8cb6-b70c53c8cf20" starts +2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::682b5ab0-e5a5-454a-8cb6-b70c53c8cf20" stopped with error: [SCENE:002] scene inactivity timeout reached at 2026-03-27 07:20:22.004807738 +0000 UTC m=+0.102362106 +--- PASS: TestSimpleInactivityTimeout (0.10s) === RUN TestSimpleAbsoluteTimeout -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::a190871f-dcfd-471d-8cfa-63ced86992c6" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.376611649 +0000 UTC m=+0.357647991 +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::fde9d44c-a0e0-4d16-83ec-346f8df1b8c3" starts --- PASS: TestSimpleAbsoluteTimeout (0.25s) +2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::fde9d44c-a0e0-4d16-83ec-346f8df1b8c3" stopped with error: [SCENE:002] scene absolute timeout reached at 2026-03-27 07:20:22.255870082 +0000 UTC m=+0.353424452 === RUN TestCleanupAfterTimeout -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::60bde5ad-49ae-4376-919b-7f08128b4622" stopped with error: [SCENE:002] scene absolute timeout reached at 2025-02-22 00:55:44.481644507 +0000 UTC m=+0.462680841 +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::244ab5d6-75e6-4b42-9ad5-c1bdc19653f3" starts +2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::244ab5d6-75e6-4b42-9ad5-c1bdc19653f3" stopped with error: [SCENE:002] scene absolute timeout reached at 2026-03-27 07:20:22.356113603 +0000 UTC m=+0.453667971 --- PASS: TestCleanupAfterTimeout (0.25s) === RUN TestAbort -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" starts -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::ff7ea8b3-e91d-4f06-8f7d-95f09307b855" stopped with error: aborted +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::bee40f51-f83b-4126-9bf4-e69d09a1cd49" starts +2026-03-27 07:20:22 Z [ERROR] [github.com/tideland/golib/loop] loop "scene::bee40f51-f83b-4126-9bf4-e69d09a1cd49" stopped with error: aborted --- PASS: TestAbort (0.00s) === RUN TestFlagNoTimeout -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" starts -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::68f9dbbe-8078-4337-80d9-b2c0d872fcc2" stopped +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a3b3f4a8-7c1c-4972-8556-598d46ac873b" starts +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::a3b3f4a8-7c1c-4972-8556-598d46ac873b" stopped --- PASS: TestFlagNoTimeout (0.35s) === RUN TestNoFlagDueToStop -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8dc7ef1-74e2-485a-9091-21e532bca671" stopped +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4b01e876-b82f-474f-909f-6e1e04cc30a1" starts +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::4b01e876-b82f-474f-909f-6e1e04cc30a1" stopped --- PASS: TestNoFlagDueToStop (0.10s) === RUN TestStoreAndFlag -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::1a41bd24-9ac3-48f1-8f41-83d78055b015" stopped +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9888919e-bf10-47b4-82f2-e75ea48329d9" starts +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::9888919e-bf10-47b4-82f2-e75ea48329d9" stopped --- PASS: TestStoreAndFlag (0.10s) === RUN TestEarlyFlag -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::e32e9637-ddb6-4675-9e49-9ec8b7a606a4" stopped +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8fe39d2-e1b7-423b-850b-1f423194e1cc" starts +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::b8fe39d2-e1b7-423b-850b-1f423194e1cc" stopped --- PASS: TestEarlyFlag (0.10s) === RUN TestFlagTimeout -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::8a8e6112-c5e0-48a9-8bae-2f3a0b538a16" stopped +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::5c82a35b-b246-4e5a-9150-9cc777f0c240" starts +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::5c82a35b-b246-4e5a-9150-9cc777f0c240" stopped --- PASS: TestFlagTimeout (0.10s) === RUN TestFlagUnflag -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "scene::acd91602-6297-4dcb-9ece-eab114c060dd" stopped ---- PASS: TestFlagUnflag (0.06s) +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::805b1bf1-a383-483e-9f52-c25fa2f80b60" starts +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "scene::805b1bf1-a383-483e-9f52-c25fa2f80b60" stopped +--- PASS: TestFlagUnflag (0.05s) PASS -ok github.com/tideland/golib/scene 1.511s +ok github.com/tideland/golib/scene 1.415s === RUN TestScroller scroller_test.go:173 TestScroller(): test #1/10: no lines existing; initially no lines scrolled -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:24 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #2/10: no lines existing; initially five lines scrolled -2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:24 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:27 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #3/10: ten lines existing; initially no lines scrolled -2025-02-22 00:55:49 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:27 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #4/10: ten lines existing; initially five lines scrolled -2025-02-22 00:55:52 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:29 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:29 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #5/10: ten lines existing; initially twenty lines scrolled -2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #6/10: ten lines existing; initially twenty lines scrolled; buffer smaller than lines -2025-02-22 00:55:53 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:30 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #7/10: ten lines existing; initially three lines scrolled; filter lines with special prefix -2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts scroller_test.go:173 TestScroller(): test #8/10: ten lines existing; initially five lines scrolled; error after further 25 lines -2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:54 Z [ERROR] [github.com/tideland/golib/loop] loop "scroller" stopped with error: ouch +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:31 Z [ERROR] [github.com/tideland/golib/loop] loop "scroller" stopped with error: ouch scroller_test.go:173 TestScroller(): test #9/10: ten lines existing; initially five lines scrolled; simply stop after 25 lines -2025-02-22 00:55:54 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped scroller_test.go:173 TestScroller(): test #10/10: unterminated last line is not scrolled -2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts -2025-02-22 00:55:55 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped ---- PASS: TestScroller (11.08s) +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" starts +2026-03-27 07:20:31 Z [INFO] [github.com/tideland/golib/loop] loop "scroller" stopped +--- PASS: TestScroller (9.70s) PASS -ok github.com/tideland/golib/scroller 11.203s +ok github.com/tideland/golib/scroller 9.701s === RUN TestTagValidation --- PASS: TestTagValidation (0.00s) === RUN TestCreating @@ -1611,38 +1647,38 @@ sml_test.go:180 TestSML2XML(): ===== DONE ===== --- PASS: TestSML2XML (0.00s) PASS -ok github.com/tideland/golib/sml 0.060s +ok github.com/tideland/golib/sml 0.004s === RUN TestPivot --- PASS: TestPivot (0.00s) PASS -ok github.com/tideland/golib/sort 0.056s +ok github.com/tideland/golib/sort 0.004s === RUN TestAsString defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 0: value 'foo' without error and default bar defaulter_test.go:54 TestAsString(): test Defaulter{AsString} 1: value 'foo' with error and default bar -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsString) value returned with error: foo +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsString) value returned with error: foo --- PASS: TestAsString (0.00s) === RUN TestAsStringSlice defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 0: value 'a/b/c' without error and default [a] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 1: value 'a/b/c' with error and default [a] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 2: value 'a/b/c' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 3: value 'a/b/c' with error and default [] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: a/b/c defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 4: value '' without error and default [] defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 5: value '' with error and default [foo] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringSlice) value returned with error: defaulter_test.go:80 TestAsStringSlice(): test Defaulter{AsStringSlice} 6: value 'a/b/c' without error and default [a] --- PASS: TestAsStringSlice (0.00s) === RUN TestAsStringMap defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 0: value 'a:1/b:2' without error and default map[a:1] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 1: value 'a:1/b:2' with error and default map[a:1] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 2: value 'a:1/b:2' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 3: value 'a:1/b:2' with error and default map[] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: a:1/b:2 defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 4: value '' without error and default map[] defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 5: value '' with error and default map[a:1] -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsStringMap) value returned with error: defaulter_test.go:107 TestAsStringMap(): test Defaulter{AsStringMap} 6: value 'a:1/b:2' without error and default map[] --- PASS: TestAsStringMap (0.00s) === RUN TestAsBool @@ -1653,9 +1689,9 @@ defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 4: value 'true' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 5: value 'True' without error and default false defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 6: value 'wahr' without error and default true -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "wahr": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "wahr": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 7: value '' with error and default true -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 8: value '0' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 9: value 'f' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 10: value 'F' without error and default true @@ -1663,9 +1699,9 @@ defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 12: value 'false' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 13: value 'False' without error and default true defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 14: value 'falsch' without error and default false -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "falsch": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value has illegal format for "bool": strconv.ParseBool: parsing "falsch": invalid syntax defaulter_test.go:141 TestAsBool(): test Defaulter{AsBool} 15: value '' with error and default false -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsBool) value returned with error: --- PASS: TestAsBool (0.00s) === RUN TestAsInt defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 0: value '0' without error and default 0 @@ -1674,15 +1710,15 @@ defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 5: value '999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 6: value '-999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "-999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 7: value 'one two three' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "one two three": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value has illegal format for "int": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 8: value '1' with error and default 2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: 1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: 1 defaulter_test.go:171 TestAsInt(): test Defaulter{AsInt} 9: value '-1' with error and default -2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: -1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt) value returned with error: -1 --- PASS: TestAsInt (0.00s) === RUN TestAsInt64 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 0: value '0' without error and default 0 @@ -1691,37 +1727,37 @@ defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 3: value '9223372036854775807' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 4: value '-9223372036854775808' without error and default 0 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 5: value '999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 6: value '-999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "-999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "-999999999999999999999": value out of range defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 7: value 'one two three' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "one two three": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value has illegal format for "int64": strconv.ParseInt: parsing "one two three": invalid syntax defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 8: value '1' with error and default 2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: 1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: 1 defaulter_test.go:201 TestAsInt64(): test Defaulter{AsInt64} 9: value '-1' with error and default -2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: -1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsInt64) value returned with error: -1 --- PASS: TestAsInt64 (0.00s) === RUN TestAsUint defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 0: value '0' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 1: value '1' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 3: value '999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 4: value 'one two three' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "one two three": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value has illegal format for "uint": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:226 TestAsUint(): test Defaulter{AsUint} 5: value '-1' with error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value returned with error: -1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUint) value returned with error: -1 --- PASS: TestAsUint (0.00s) === RUN TestAsUInt64 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 0: value '0' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 1: value '1' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 2: value '18446744073709551615' without error and default 0 defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 3: value '999999999999999999999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "999999999999999999999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "999999999999999999999": value out of range defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 4: value 'one two three' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "one two three": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value has illegal format for "uint64": strconv.ParseUint: parsing "one two three": invalid syntax defaulter_test.go:251 TestAsUInt64(): test Defaulter{AsUInt64} 5: value '-1' with error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value returned with error: -1 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsUInt64) value returned with error: -1 --- PASS: TestAsUInt64 (0.00s) === RUN TestAsFloat64 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 0: value '0.0' without error and default 0 @@ -1730,33 +1766,33 @@ defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 3: value '1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 4: value '-1.7976931348623157e+308' without error and default 0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 5: value '9e+999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "9e+999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 6: value '-9e+999' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "-9e+999": value out of range +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "-9e+999": value out of range defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 7: value 'one.two' without error and default 1 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "one.two": invalid syntax +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value has illegal format for "float64": strconv.ParseFloat: parsing "one.two": invalid syntax defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 8: value '1.0' with error and default 2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: 1.0 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: 1.0 defaulter_test.go:281 TestAsFloat64(): test Defaulter{AsFloat4} 9: value '-1.0' with error and default -2 -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: -1.0 +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsFloat4) value returned with error: -1.0 --- PASS: TestAsFloat64 (0.00s) === RUN TestAsTime -defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 0: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC -defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 1: value '2025-02-22T00:55:44.052734541Z' with error and default 2000-01-01 00:00:00 +0000 UTC -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value returned with error: 2025-02-22T00:55:44.052734541Z -defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 2: value '2025-02-22T00:55:44.052734541Z' without error and default 2000-01-01 00:00:00 +0000 UTC -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "2025-02-22T00:55:44.052734541Z" as "any false layout": cannot parse "2025-02-22T00:55:44.052734541Z" as "any false layout" +defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 0: value '2026-03-27T07:20:21.906656818Z' without error and default 2000-01-01 00:00:00 +0000 UTC +defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 1: value '2026-03-27T07:20:21.906656818Z' with error and default 2000-01-01 00:00:00 +0000 UTC +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value returned with error: 2026-03-27T07:20:21.906656818Z +defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 2: value '2026-03-27T07:20:21.906656818Z' without error and default 2000-01-01 00:00:00 +0000 UTC +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "2026-03-27T07:20:21.906656818Z" as "any false layout": cannot parse "2026-03-27T07:20:21.906656818Z" as "any false layout" defaulter_test.go:307 TestAsTime(): test Defaulter{AsTime} 3: value '' without error and default 2000-01-01 00:00:00 +0000 UTC -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" ---- PASS: TestAsTime (0.03s) +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsTime) value has illegal format for "time": parsing time "" as "2006-01-02T15:04:05.999999999Z07:00": cannot parse "" as "2006" +--- PASS: TestAsTime (0.00s) === RUN TestAsDuration defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 0: value '1s' without error and default 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 1: value '1s' with error and default 1m0s -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value returned with error: 1s +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value returned with error: 1s defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 2: value '2' without error and default 1m0s -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: missing unit in duration "2" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: missing unit in duration "2" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 3: value '1 hour' without error and default 1m0s -2025-02-22 00:55:44 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: unknown unit " hour" in duration "1 hour" +2026-03-27 07:20:21 Z [ERROR] [github.com/tideland/golib/stringex] (AsDuration) value has illegal format for "duration": time: unknown unit " hour" in duration "1 hour" defaulter_test.go:330 TestAsDuration(): test Defaulter{AsDuration} 4: value '4711h' without error and default 1m0s --- PASS: TestAsDuration (0.00s) === RUN TestDefaulterString @@ -1826,7 +1862,7 @@ --- PASS: TestMatches/matching_pattern_with_escape (0.00s) --- PASS: TestMatches/not-matching_pattern_with_escape (0.00s) PASS -ok github.com/tideland/golib/stringex 0.107s +ok github.com/tideland/golib/stringex 0.009s === RUN TestTimeContainments --- PASS: TestTimeContainments (0.00s) === RUN TestBeginOf @@ -1834,28 +1870,28 @@ === RUN TestEndOf --- PASS: TestEndOf (0.00s) === RUN TestCrontabKeep -2025-02-22 00:55:44 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" stopped +2026-03-27 07:20:21 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" starts +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::50ms" stopped --- PASS: TestCrontabKeep (1.00s) === RUN TestCrontabRemove -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped +2026-03-27 07:20:22 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabRemove (0.50s) === RUN TestCrontabError -2025-02-22 00:55:45 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts -2025-02-22 00:55:45 Z [ERROR] [github.com/tideland/golib/timex.(*Crontab).do] job "remove" removed after error: failed -2025-02-22 00:55:46 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" starts +2026-03-27 07:20:23 Z [ERROR] [github.com/tideland/golib/timex.(*Crontab).do] job "remove" removed after error: failed +2026-03-27 07:20:23 Z [INFO] [github.com/tideland/golib/loop] loop "crontab::10ms" stopped --- PASS: TestCrontabError (0.50s) === RUN TestRetrySuccess ---- PASS: TestRetrySuccess (0.21s) +--- PASS: TestRetrySuccess (0.20s) === RUN TestRetryFuncError --- PASS: TestRetryFuncError (0.00s) === RUN TestRetryTooLong ---- PASS: TestRetryTooLong (0.06s) +--- PASS: TestRetryTooLong (0.05s) === RUN TestRetryTooOften --- PASS: TestRetryTooOften (0.08s) PASS -ok github.com/tideland/golib/timex 2.427s +ok github.com/tideland/golib/timex 2.339s === RUN TestNew version_test.go:98 TestNew(): new test #0: "1.2.3" version_test.go:98 TestNew(): new test #1: "1.0.3" @@ -1918,7 +1954,7 @@ version_test.go:399 TestLess(): less test #14: "1.2.3-alpha.2" <> "1.2.3-alpha.1b" -> false --- PASS: TestLess (0.00s) PASS -ok github.com/tideland/golib/version 0.062s +ok github.com/tideland/golib/version 0.006s make[1]: Leaving directory '/build/reproducible-path/golang-github-tideland-golib-4.24.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang @@ -1948,12 +1984,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/2140041/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2140041/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/2672076 and its subdirectories -I: Current time: Fri Feb 21 12:56:32 -12 2025 -I: pbuilder-time-stamp: 1740185792 +I: removing directory /srv/workspace/pbuilder/2140041 and its subdirectories +I: Current time: Fri Mar 27 21:20:37 +14 2026 +I: pbuilder-time-stamp: 1774596037 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/golang-github-tideland-golib_4.24.2-2.diff: 87.9% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/unstable/amd64/golang-github-tideland-golib_4.24.2-2.diff.gz b2/build.log: 84.7% -- replaced with stdout Compressing the 1st log... b1/build.log: 85.1% -- replaced with stdout Sat Feb 22 00:57:39 UTC 2025 I: diffoscope 288 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_golang-github-tideland-golib_unstable_amd64_1740185859 + touch /var/log/reproducible-builds/diffoscope_stamp_golang-github-tideland-golib_unstable_amd64_1740185859 + RESULT=0 + systemd-run '--description=diffoscope on golang-github-tideland-golib/4.24.2-2 in unstable/amd64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-amd64_29-33425 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ --run-session -c jenkins-reproducible-unstable-diffoscope-50333700-b55b-451d-a842-79bf72bdd72e -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/dbd-tmp-wY2npKx ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b1/golang-github-tideland-golib_4.24.2-2_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b2/golang-github-tideland-golib_4.24.2-2_amd64.changes' + false + set +x Running as unit: rb-diffoscope-amd64_29-33425.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/golang-github-tideland-golib_4.24.2-2.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b1/golang-github-tideland-golib_4.24.2-2_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.sQU446RZ/b2/golang-github-tideland-golib_4.24.2-2_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.004s) 0.004s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 272ms CPU time consumed: 265ms _ _ _ _ _ _ __ _ ___ | | __ _ _ __ __ _ __ _(_) |_| |__ _ _| |__ | |_ / _` |/ _ \| |/ _` | '_ \ / _` |_____ / _` | | __| '_ \| | | | '_ \ _____| __| | (_| | (_) | | (_| | | | | (_| |_____| (_| | | |_| | | | |_| | |_) |_____| |_ \__, |\___/|_|\__,_|_| |_|\__, | \__, |_|\__|_| |_|\__,_|_.__/ \__| |___/ |___/ |___/ _ _ _ _ _ _ _ (_) __| | ___| | __ _ _ __ __| | __ _ ___ | (_) |__ | |/ _` |/ _ \ |/ _` | '_ \ / _` |_____ / _` |/ _ \| | | '_ \ | | (_| | __/ | (_| | | | | (_| |_____| (_| | (_) | | | |_) | |_|\__,_|\___|_|\__,_|_| |_|\__,_| \__, |\___/|_|_|_.__/ |___/ Sat Feb 22 00:57:40 UTC 2025 I: diffoscope 288 found no differences in the changes files, and a .buildinfo file also exists. Sat Feb 22 00:57:40 UTC 2025 I: golang-github-tideland-golib from unstable built successfully and reproducibly on amd64. INSERT 0 1 INSERT 0 1 DELETE 1 [2025-02-22 00:57:40] INFO: Starting at 2025-02-22 00:57:40.803422 [2025-02-22 00:57:40] INFO: Generating the pages of 1 package(s) [2025-02-22 00:57:41] CRITICAL: https://tests.reproducible-builds.org/debian/unstable/amd64/golang-github-tideland-golib didn't produce a buildlog, even though it has been built. [2025-02-22 00:57:41] INFO: Finished at 2025-02-22 00:57:41.585148, took: 0:00:00.781732 Sat Feb 22 00:57:41 UTC 2025 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/golang-github-tideland-golib.html Sat Feb 22 00:57:41 UTC 2025 I: Submitting .buildinfo files to external archives: Sat Feb 22 00:57:41 UTC 2025 I: Submitting 8.0K b1/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc https://buildinfo.debian.net/5a132aa62d95d5e3d7be291833c8b8d8032c429e/golang-github-tideland-golib_4.24.2-2_all Sat Feb 22 00:57:42 UTC 2025 I: Submitting 8.0K b2/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc https://buildinfo.debian.net/faededa5e4cfa2ed1d9b9b915206e6e5ed155253/golang-github-tideland-golib_4.24.2-2_all Sat Feb 22 00:57:44 UTC 2025 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Sat Feb 22 00:57:44 UTC 2025 I: Done submitting .buildinfo files. Sat Feb 22 00:57:44 UTC 2025 I: Removing signed golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc files: removed './b1/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc' removed './b2/golang-github-tideland-golib_4.24.2-2_amd64.buildinfo.asc' 1740185864 amd64 unstable golang-github-tideland-golib Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/golang-github-tideland-golib_4.24.2-2.rbuild.log: 83.6% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/unstable/amd64/golang-github-tideland-golib_4.24.2-2.rbuild.log.gz [2025-02-22 00:57:44] INFO: Starting at 2025-02-22 00:57:44.751537 [2025-02-22 00:57:44] INFO: Generating the pages of 1 package(s) [2025-02-22 00:57:45] INFO: Finished at 2025-02-22 00:57:45.434542, took: 0:00:00.683011 All cleanup done. Sat Feb 22 00:57:45 UTC 2025 - total duration: 0h 7m 22s. Sat Feb 22 00:57:45 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-h0ZYkBra, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 7min 27.517s CPU time consumed: 7.941s