Running as unit: rb-build-arm64_12-69602.service ==================================================================================== Thu Nov 21 23:30:19 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_arm64_12) on jenkins, called using "codethink04-arm64 codethink03-arm64" as arguments. Thu Nov 21 23:30:19 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-zwx7gAXv" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Nov 21 23:30:19 UTC 2024 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Thu Nov 21 23:30:19 UTC 2024 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-4KLoQH' Thu Nov 21 23:30:20 UTC 2024 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Thu Nov 21 23:30:20 UTC 2024 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-ob3TMp' ok, let's check if golang-github-clbanning-mxj is building anywhere yet… ok, golang-github-clbanning-mxj is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of golang-github-clbanning-mxj in trixie on arm64 on jenkins now. 1st build will be done on codethink04-arm64.debian.net. 2nd build will be done on codethink03-arm64.debian.net. ============================================================================= Thu Nov 21 23:30:35 UTC 2024 I: starting to build golang-github-clbanning-mxj/trixie/arm64 on jenkins on '2024-11-21 23:30' Thu Nov 21 23:30:35 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/arm64_12/69602/console.log 1732231835 arm64 trixie golang-github-clbanning-mxj Thu Nov 21 23:30:35 UTC 2024 I: Downloading source for trixie/golang-github-clbanning-mxj=2.7.0-1 --2024-11-21 23:30:35-- http://deb.debian.org/debian/pool/main/g/golang-github-clbanning-mxj/golang-github-clbanning-mxj_2.7.0-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2290 (2.2K) [text/prs.lines.tag] Saving to: ‘golang-github-clbanning-mxj_2.7.0-1.dsc’ 0K .. 100% 317M=0s 2024-11-21 23:30:35 (317 MB/s) - ‘golang-github-clbanning-mxj_2.7.0-1.dsc’ saved [2290/2290] --2024-11-21 23:30:35-- http://deb.debian.org/debian/pool/main/g/golang-github-clbanning-mxj/golang-github-clbanning-mxj_2.7.0-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2290 (2.2K) [text/prs.lines.tag] Saving to: ‘golang-github-clbanning-mxj_2.7.0-1.dsc’ 0K .. 100% 317M=0s 2024-11-21 23:30:35 (317 MB/s) - ‘golang-github-clbanning-mxj_2.7.0-1.dsc’ saved [2290/2290] Thu Nov 21 23:30:36 UTC 2024 I: golang-github-clbanning-mxj_2.7.0-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: golang-github-clbanning-mxj Binary: golang-github-clbanning-mxj-dev Architecture: all Version: 2.7.0-1 Maintainer: Debian Go Packaging Team Uploaders: Anthony Fok Homepage: https://github.com/clbanning/mxj Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj Vcs-Git: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git Testsuite: autopkgtest-pkg-go Build-Depends: debhelper-compat (= 13), dh-sequence-golang, golang-any, golang-github-google-go-cmp-dev Package-List: golang-github-clbanning-mxj-dev deb golang optional arch=all Checksums-Sha1: 1ae9b569852b7bfa113b53e498585e73d6ec13c7 1097456 golang-github-clbanning-mxj_2.7.0.orig.tar.gz 9bc47ef5e299b77d56a4ae6c0c54eeb73ce68a1a 4784 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz Checksums-Sha256: 5c6099ffe102dcd4b77af26fba00db5769846df2890d75c94cf838eb94b9a963 1097456 golang-github-clbanning-mxj_2.7.0.orig.tar.gz c0168285fd5f0ff6fa01254e052a614bea5099eef473972a3578258a10a1260f 4784 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz Files: 05e25e23f01363b3e89c1cb5a751e3c3 1097456 golang-github-clbanning-mxj_2.7.0.orig.tar.gz 03b96e404cccfb8a8e953a9a19be9c09 4784 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz Go-Import-Path: github.com/clbanning/mxj/v2 -----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEEFCQhsZrUqVmW+VBy6iUAtBLFms8FAmUlXOcQHGZva2FAZGVi aWFuLm9yZwAKCRDqJQC0EsWaz2PID/wObUfkOvMxVo+P3PiEltyeURsjzvg/BbZJ R0aUQ3hjxeyGhIuXxk/dVY15DrWeh3pdbWWpua5qspUQi1TjKcWmXMhDT0eXUso/ AQgvs1VBS49dWpFWM0TF+Exa0oKfK0KWUxlxyOWwlmrXJzcAugKnroyNPA7GekSj QT2NdLDWic5tLh01Wj9wDXjSBdk4BEUM15sbl2WSpNOzU/L39C0h+fwxI6uDYpd3 h41st6oCh/OB80DezCJyTwOhvXP+OWSglpHLTaxa+SxxW3MWZrkChsixeYaJtN2D /Hlb0QdefqxPgcfTwHVds5lYuz0GtwTolDm53a0rfpML5aZR1m6whXouHHJUicWL YflM6ds+7NKhb+FTBdqTBTSdOaKJfelkAvkOLf3QP9oHwui/yEfUx/5KPH6oMzEE 9zIcsDBOYbKtcc7+J9mCyn72BDJoMVcNrPa1RdPnE2ya2/EsTPmAVOfmV6Hjgs1c /kdgF36Em5RJvXwnWo54DHEiWjvuB7UT+qqPmZN/pAkdEkQwxUtMiFYYc4lEXCtK hmYeVERRklRW3COEHBtv5+izENGMKDPYWMMZ61H2j8WWiMUEgXk6v41kffCZ3nOe /pEQuy3rTmwTar+XQzM/1hB2GeSWiIoKQ1ArHP/I4a5yqZAtZoDHTSWmtSnQaR9C Nxz2OqF4Gw== =S8F6 -----END PGP SIGNATURE----- Thu Nov 21 23:30:36 UTC 2024 I: Checking whether the package is not for us Thu Nov 21 23:30:36 UTC 2024 I: Starting 1st build on remote node codethink04-arm64.debian.net. Thu Nov 21 23:30:36 UTC 2024 I: Preparing to do remote build '1' on codethink04-arm64.debian.net. Thu Nov 21 23:30:36 UTC 2024 - checking /var/lib/jenkins/offline_nodes if codethink04-arm64.debian.net is marked as down. Thu Nov 21 23:30:36 UTC 2024 - checking via ssh if codethink04-arm64.debian.net is up. removed '/tmp/read-only-fs-test-vQLgdN' ==================================================================================== Thu Nov 21 23:30:37 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink04-arm64, called using "1 golang-github-clbanning-mxj trixie /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2 2.7.0-1" as arguments. Thu Nov 21 23:30:37 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-tndl8CBz" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Nov 21 23:30:37 UTC 2024 I: Downloading source for trixie/golang-github-clbanning-mxj=2.7.0-1 Reading package lists... NOTICE: 'golang-github-clbanning-mxj' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1105 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (dsc) [2290 B] Get:2 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (tar) [1097 kB] Get:3 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (diff) [4784 B] Fetched 1105 kB in 0s (28.1 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'golang-github-clbanning-mxj' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1105 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (dsc) [2290 B] Get:2 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (tar) [1097 kB] Get:3 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (diff) [4784 B] Fetched 1105 kB in 0s (28.1 MB/s) Download complete and in download only mode ============================================================================= Building golang-github-clbanning-mxj in trixie on arm64 on codethink04-arm64 now. Date: Thu Nov 21 23:30:38 GMT 2024 Date UTC: Thu Nov 21 23:30:38 UTC 2024 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Thu Nov 21 11:30:38 -12 2024 I: pbuilder-time-stamp: 1732231838 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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-clbanning-mxj_2.7.0-1.dsc] I: copying [./golang-github-clbanning-mxj_2.7.0.orig.tar.gz] I: copying [./golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Tue Oct 10 14:17:11 2023 gpgv: using RSA key 142421B19AD4A95996F95072EA2500B412C59ACF gpgv: issuer "foka@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./golang-github-clbanning-mxj_2.7.0-1.dsc: no acceptable signature found dpkg-source: info: extracting golang-github-clbanning-mxj in golang-github-clbanning-mxj-2.7.0 dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0.orig.tar.gz dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-use-v2-in-import-paths.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2198571/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='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='91794b8d0eb7440b99d2d19223bd80e7' 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='2198571' 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.yAy8seg2/pbuilderrc_uBme --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1 --logfile b1/build.log golang-github-clbanning-mxj_2.7.0-1.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink04-arm64 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2198571/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: arm64 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 (= 13), dh-sequence-golang, golang-any, golang-github-google-go-cmp-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20087 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 (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-golang; however: Package dh-sequence-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. pbuilder-satisfydepends-dummy depends on golang-github-google-go-cmp-dev; however: Package golang-github-google-go-cmp-dev 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.23-go{a} golang-1.23-src{a} golang-any{a} golang-github-google-go-cmp-dev{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} 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 62.2 MB of archives. After unpacking 318 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.22.5-2 [198 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-5 [1129 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.2-11 [91.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-5+b1 [9239 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.22.5-2 [1532 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 dh-golang all 1.62 [24.7 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 golang-1.23-src all 1.23.3-2 [19.1 MB] Get: 32 http://deb.debian.org/debian trixie/main arm64 golang-1.23-go arm64 1.23.3-2 [23.4 MB] Get: 33 http://deb.debian.org/debian trixie/main arm64 golang-src all 2:1.23~2 [5088 B] Get: 34 http://deb.debian.org/debian trixie/main arm64 golang-go arm64 2:1.23~2 [44.3 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 golang-any arm64 2:1.23~2 [5172 B] Get: 36 http://deb.debian.org/debian trixie/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB] Fetched 62.2 MB in 0s (167 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 20087 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_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_arm64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_arm64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_arm64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... 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.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... 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.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../21-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../23-libicu72_72.1-5+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-5+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_arm64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package dh-golang. Preparing to unpack .../29-dh-golang_1.62_all.deb ... Unpacking dh-golang (1.62) ... Selecting previously unselected package golang-1.23-src. Preparing to unpack .../30-golang-1.23-src_1.23.3-2_all.deb ... Unpacking golang-1.23-src (1.23.3-2) ... Selecting previously unselected package golang-1.23-go. Preparing to unpack .../31-golang-1.23-go_1.23.3-2_arm64.deb ... Unpacking golang-1.23-go (1.23.3-2) ... Selecting previously unselected package golang-src. Preparing to unpack .../32-golang-src_2%3a1.23~2_all.deb ... Unpacking golang-src (2:1.23~2) ... Selecting previously unselected package golang-go:arm64. Preparing to unpack .../33-golang-go_2%3a1.23~2_arm64.deb ... Unpacking golang-go:arm64 (2:1.23~2) ... Selecting previously unselected package golang-any:arm64. Preparing to unpack .../34-golang-any_2%3a1.23~2_arm64.deb ... Unpacking golang-any:arm64 (2:1.23~2) ... Selecting previously unselected package golang-github-google-go-cmp-dev. Preparing to unpack .../35-golang-github-google-go-cmp-dev_0.6.0-1_all.deb ... Unpacking golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libicu72:arm64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up golang-1.23-src (1.23.3-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up golang-src (2:1.23~2) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-8) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up golang-1.23-go (1.23.3-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up golang-go:arm64 (2:1.23~2) ... 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 golang-any:arm64 (2:1.23~2) ... Setting up debhelper (13.20) ... Setting up dh-golang (1.62) ... Processing triggers for libc-bin (2.40-3) ... 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 I: Building the package I: Running cd /build/reproducible-path/golang-github-clbanning-mxj-2.7.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-clbanning-mxj_2.7.0-1_source.changes dpkg-buildpackage: info: source package golang-github-clbanning-mxj dpkg-buildpackage: info: source version 2.7.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Anthony Fok dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --builddirectory=_build --buildsystem=golang dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang dh_clean -O--builddirectory=_build -O--buildsystem=golang debian/rules binary dh binary --builddirectory=_build --buildsystem=golang dh_update_autotools_config -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper internal/coverage/rtcov internal/goos internal/unsafeheader internal/godebugs internal/goexperiment internal/runtime/syscall internal/goarch unicode internal/cpu internal/profilerecord sync/atomic unicode/utf8 encoding internal/byteorder math/bits internal/itoa internal/race cmp internal/abi runtime/internal/sys internal/asan internal/msan unicode/utf16 internal/chacha8rand runtime/internal/math math internal/bytealg internal/runtime/atomic internal/runtime/exithook internal/stringslite runtime internal/reflectlite sync iter slices internal/bisect internal/testlog errors sort internal/godebug io strconv internal/oserror path syscall bytes strings internal/saferio reflect bufio regexp/syntax regexp time internal/syscall/execenv internal/syscall/unix io/fs internal/poll encoding/binary internal/fmtsort internal/filepathlite os encoding/base64 fmt encoding/gob encoding/json encoding/xml github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper dh_auto_test -O--builddirectory=_build -O--buildsystem=golang cd _build && go test -vet=off -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper ? github.com/clbanning/mxj/v2/x2j [no test files] === RUN TestAnyXmlHeader ---------------- anyxml_test.go ... --- PASS: TestAnyXmlHeader (0.00s) === RUN TestAnyXml []->x: somevaluesomevaluesomevaluesomeothervaluestring3.14159265true a->x: trythis3.14159265true a->x: trythis3.14159265true f->x: 3.14159625 s->x: somevalue3.1415963 --- PASS: TestAnyXml (0.00s) === RUN TestAnyXmlIndent []->x: somevalue somevalue somevalue someothervalue string 3.14159265 true a->x: try this 3.14159265 true f->x: 3.14159625 f->x: 3.14159625 s->x: somevalue 3.1415963 --- PASS: TestAnyXmlIndent (0.00s) === RUN TestNilMap --- PASS: TestNilMap (0.00s) === RUN TestNilValue --- PASS: TestNilValue (0.00s) === RUN TestPrefixDefault ----------------- TestPrefixDefault ... --- PASS: TestPrefixDefault (0.00s) === RUN TestPrefixNoHyphen ----------------- TestPrefixNoHyphen ... --- PASS: TestPrefixNoHyphen (0.00s) === RUN TestPrefixUnderscore ----------------- TestPrefixUnderscore ... --- PASS: TestPrefixUnderscore (0.00s) === RUN TestPrefixAt ----------------- TestPrefixAt ... --- PASS: TestPrefixAt (0.00s) === RUN TestMarshalPrefixDefault ----------------- TestMarshalPrefixDefault ... a test a test --- PASS: TestMarshalPrefixDefault (0.00s) === RUN TestMarshalPrefixNoHyphen ----------------- TestMarshalPrefixNoHyphen ... x: a test this is a test this is not --- PASS: TestMarshalPrefixNoHyphen (0.00s) === RUN TestMarshalPrefixUnderscore ----------------- TestMarshalPrefixUnderscore ... a test a test --- PASS: TestMarshalPrefixUnderscore (0.00s) === RUN TestBadXml ---------------- badxml_test.go TestBadXml ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXml (0.00s) === RUN TestBadXmlSeq TestBadXmlSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeq (0.00s) === RUN TestBadXmlReader TestBadXmlReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXmlReader (0.00s) === RUN TestBadXmlSeqReader TestBadXmlSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeqReader (0.00s) === RUN TestBom --------------- bom_test.go TestBom ... --- PASS: TestBom (0.00s) === RUN TestBomData TestBomData ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomData (0.00s) === RUN TestBomDataSeq TestBomDataSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeq (0.00s) === RUN TestBomDataReader TestBomDataReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomDataReader (0.00s) === RUN TestBomDataSeqReader TestBomDataSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeqReader (0.00s) === RUN TestBulkHeader ---------------- bulk_test.go ... --- PASS: TestBulkHeader (0.00s) === RUN TestXmlReader XmlReader, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReader, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReader, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReader (0.00s) === RUN TestJsonReader JsonReader, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReader, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReader, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value --- PASS: TestJsonReader (0.00s) === RUN TestBulkRawHeader ---------------- bulkraw_test.go ... --- PASS: TestBulkRawHeader (0.00s) === RUN TestXmlReaderRaw XmlReaderRaw, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReaderRaw, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReaderRaw, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by William H. Gaddis JR Won the National Book Award. [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReaderRaw (0.00s) === RUN TestJsonReaderRaw JsonReaderRaw, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReaderRaw, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReaderRaw, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value {"here":"we","put":"in","an":error} --- PASS: TestJsonReaderRaw (0.00s) === RUN TestHeader cast_test.go ---------- --- PASS: TestHeader (0.00s) === RUN TestCastDefault ------------ TestCastDefault ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastDefault (0.00s) === RUN TestCastTrue ------------ TestCastTrue ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":false, "true":true}, "float":3.14159625, "int":2019, "string":"string"}} --- PASS: TestCastTrue (0.00s) === RUN TestSetCheckTagToSkipFunc ------------ TestSetCheckTagToSkipFunc ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestSetCheckTagToSkipFunc (0.00s) === RUN TestCastValuesToFloat ------------ TestCastValuesToFloat(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastValuesToFloat (0.00s) === RUN TestCastValuesToBool ------------ TestCastValuesToBool(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestCastValuesToBool (0.00s) === RUN TestEscapeChars ================== TestEscapeChars s: "'<>& ss: "'<>& --- PASS: TestEscapeChars (0.00s) === RUN TestXMLEscapeChars ================== TestXMLEscapeChars s: "'<>& m: "'<>& --- PASS: TestXMLEscapeChars (0.00s) === RUN TestXMLEscapeChars2 ================== TestXMLEscapeChars2 "'<>& map[doc:map[simple:map[#text:"'<>& _attr1:an attribute]]] mv: "'<>& --- PASS: TestXMLEscapeChars2 (0.00s) === RUN TestXMLSeqEscapeChars ================== TestXMLSeqEscapeChars data: >0-2y m: map[doc:map[shortDescription:map[#seq:0 #text:>0-2y]]] m: >0-2y --- PASS: TestXMLSeqEscapeChars (0.00s) === RUN TestXMLSeqEscapeChars2 ================== TestXMLSeqEscapeChars2 data: >0-2y <10-15 m: map[doc:map[shortDescription:[map[#attr:map[test:map[#seq:0 #text:&something here]] #seq:0 #text:>0-2y] map[#attr:map[quote:map[#seq:1 #text:"] test:map[#seq:0 #text:something there]] #seq:1 #text:<10-15]]]] m: >0-2y <10-15 --- PASS: TestXMLSeqEscapeChars2 (0.00s) === RUN TestExists ------------ exists_test.go --- PASS: TestExists (0.00s) === RUN TestFilesHeader ---------------- files_test.go ... --- PASS: TestFilesHeader (0.00s) === RUN TestNewJsonFile NewMapsFromJsonFile() map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFile (0.00s) === RUN TestNewJsonFileRaw NewMapsFromJsonFileRaw() {map[a:test file:for files_test.go:case this:is] [123 34 116 104 105 115 34 58 34 105 115 34 44 34 97 34 58 34 116 101 115 116 34 44 34 102 105 108 101 34 58 34 102 111 114 34 44 34 102 105 108 101 115 95 116 101 115 116 46 103 111 34 58 34 99 97 115 101 34 125]} {map[JSON:values true:true two:2 with:just] [123 34 119 105 116 104 34 58 34 106 117 115 116 34 44 34 116 119 111 34 58 50 44 34 74 83 79 78 34 58 34 118 97 108 117 101 115 34 44 34 116 114 117 101 34 58 116 114 117 101 125]} caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFileRaw (0.00s) === RUN TestNewXmFile NewMapsFromXmlFile() map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFile (0.00s) === RUN TestNewXmFileRaw NewMapsFromXmlFileRaw() {map[doc:map[data:for files.go some:test]] [60 100 111 99 62 10 9 60 115 111 109 101 62 116 101 115 116 60 47 115 111 109 101 62 10 9 60 100 97 116 97 62 102 111 114 32 102 105 108 101 115 46 103 111 60 47 100 97 116 97 62 10 60 47 100 111 99 62]} {map[msg:map[another:doc for:test case just:some]] [10 60 109 115 103 62 10 9 60 106 117 115 116 62 115 111 109 101 60 47 106 117 115 116 62 10 9 60 97 110 111 116 104 101 114 62 100 111 99 60 47 97 110 111 116 104 101 114 62 10 9 60 102 111 114 62 116 101 115 116 32 99 97 115 101 60 47 102 111 114 62 10 60 47 109 115 103 62]} caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFileRaw (0.00s) === RUN TestMaps TestMaps() mvs: [map[a:test this:is] map[a:test this:is]] JsonString(): {"a":"test","this":"is"}{"a":"test","this":"is"} JsonStringIndent(): { "a": "test", "this": "is" } { "a": "test", "this": "is" } XmlString(): testistestis XmlStringIndent(): test is test is --- PASS: TestMaps (0.00s) === RUN TestJsonFile map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] files_test_dup.json written files_test_indent.json written --- PASS: TestJsonFile (0.00s) === RUN TestXmlFile map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] files_test_dup.xml written files_test_indent.xml written --- PASS: TestXmlFile (0.00s) === RUN TestSetGlobalKeyMapPrefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix --- PASS: TestSetGlobalKeyMapPrefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix (0.00s) === RUN TestGobHeader ---------------- gob_test.go ... --- PASS: TestGobHeader (0.00s) === RUN TestNewMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestNewMapGob (0.00s) === RUN TestMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestMapGob (0.00s) === RUN TestGobSymmetric mv: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] m : map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestGobSymmetric (0.00s) === RUN TestXmlCheckIsValid ================== TestXmlCheckIsValid map[:empty $invalid:hex$ entities:<>& nil:] map[$invalid:hex$ entities:<>& nil:] map[entities:<>& nil:] map[nil:] map[doc:map[elem:map[#seq:0 #text:element]]] --- PASS: TestXmlCheckIsValid (0.00s) === RUN TestJ2XHeader ---------------- j2x_test .go ... --- PASS: TestJ2XHeader (0.00s) === RUN TestJ2X j2x, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } j2x, m : map[key1:string key2:34 key3:true key4:unsafe: <>& key5:] j2x, xml : string34trueunsafe: <>& --- PASS: TestJ2X (0.00s) === RUN TestJsonHeader ---------------- json_test.go ... --- PASS: TestJsonHeader (0.00s) === RUN TestNewMapJson NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJson (0.00s) === RUN TestNewMapJsonNumber NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJsonNumber (0.00s) === RUN TestNewMapJsonError NewMapJsonError, jdata : { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null NewMapJsonError, merror: unexpected EOF NewMapJsonError, newData : { "this":"is", "in":error } NewMapJsonError, merror : invalid character 'e' looking for beginning of value --- PASS: TestNewMapJsonError (0.00s) === RUN TestNewMapJsonReader NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReader (0.00s) === RUN TestNewMapJsonReaderNumber NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReaderNumber (0.00s) === RUN TestJson Json, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } Json, j : {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&","key5":null} Json, j safe: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: \u003c\u003e\u0026","key5":null} --- PASS: TestJson (0.00s) === RUN TestJsonWriter JsonWriter, raw: {"and":"a","bool":true,"float":3.14159,"this":"is a"} JsonWriter, b : {"and":"a","bool":true,"float":3.14159,"this":"is a"} --- PASS: TestJsonWriter (0.00s) === RUN TestToLower -------------- keystolower_test.go TestToLower ... --- PASS: TestToLower (0.00s) === RUN TestSetSubkeyFieldSeparator ----------- TestSetSubkeyFieldSeparator --- PASS: TestSetSubkeyFieldSeparator (0.00s) === RUN TestKVHeader ---------------- keyvalues_test.go ... --- PASS: TestKVHeader (0.00s) === RUN TestPathsForKey PathsForKey, doc1 ... PathsForKey, doc1#author ... ss: [doc.books.book.author] PathsForKey, doc1#books ... ss: [doc.books] PathsForKey, doc2 ... PathForKey, doc2#book ... ss: [doc.book doc.books.book] PathForKeyShortest, doc2#book ... s : doc.book --- PASS: TestPathsForKey (0.00s) === RUN TestValuesForKey ValuesForKey ... ValuesForKey, doc1#author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForKey, doc1#book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForKey, doc1#book,-seq:3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForKey, doc1#book, author:William T. Gaddis ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ValuesForKey, doc1#author, -seq:1 --- PASS: TestValuesForKey (0.00s) === RUN TestValuesForPath ValuesForPath ... ValuesForPath, doc.books.book.author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForPath, doc.books.book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.books.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.*.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] --- PASS: TestValuesForPath (0.01s) === RUN TestValuesForNotKey ValuesForNotKey ... ValuesForPath, doc.books.book !author:William T. Gaddis ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book !author:* ValuesForPath, doc.books.book !unknown:* ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] --- PASS: TestValuesForNotKey (0.00s) === RUN TestIAHeader ---------------- indexedarray_test.go ... --- PASS: TestIAHeader (0.00s) === RUN TestValuesForIndexedArray j_data: { "stuff":[ { "data":[ { "F":1 }, { "F":2 }, { "F":3 } ] }, { "data":[ 4, 5, 6 ] } ] } m: map[stuff:[map[data:[map[F:1] map[F:2] map[F:3]]] map[data:[4 5 6]]]] stuff[0]: [map[data:[map[F:1] map[F:2] map[F:3]]]] stuff.data: [map[F:1] map[F:2] map[F:3] 4 5 6] stuff[0].data: [map[F:1] map[F:2] map[F:3]] stuff.data[0]: [map[F:1] 4] stuff.*[2]: [map[F:3] 6] stuff.data.F: [1 2 3] *.*.F: [1 2 3] stuff.data[0].F: [1] stuff.data[1].F: [2] stuff[0].data[2]: [map[F:3]] stuff[1].data[1]: [5] stuff[1].data[1].F [] stuff[1].data.F: [] x_data: 1 2 3 4 5 6 m: map[doc:map[stuff:[map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]] map[data:[map[-seq:2.1 F:4] map[-seq:2.2 F:5] map[-seq:2.3 F:6]]]]]] doc.stuff[0]: [map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]]] doc.stuff.data[0]: [map[-seq:1.1 F:1] map[-seq:2.1 F:4]] doc.stuff.data[0] -seq:2.1: [map[-seq:2.1 F:4]] doc.stuff.data[0].F: [1 4] doc.stuff[0].data[2]: [map[-seq:1.3 F:3]] doc.stuff[1].data[1].F: [5] ak_data: { "section1":{"data" : [{"F1" : "F1 data","F2" : "F2 data"},{"F1" : "demo 123","F2" : "abc xyz"}]}} m: map[section1:map[data:[map[F1:F1 data F2:F2 data] map[F1:demo 123 F2:abc xyz]]]] section1.data[0].F1: [F1 data] --- PASS: TestValuesForIndexedArray (0.00s) === RUN TestValueForPath --- PASS: TestValueForPath (0.00s) === RUN TestValueForPathString --- PASS: TestValueForPathString (0.00s) === RUN TestValueForPathError --- PASS: TestValueForPathError (0.00s) === RUN TestValueForKey --- PASS: TestValueForKey (0.00s) === RUN TestValueForKeyError --- PASS: TestValueForKeyError (0.00s) === RUN TestLNHeader ---------------- leafnode_test.go ... --- PASS: TestLNHeader (0.00s) === RUN TestLeafNodes json1-LeafNodes: mxj.LeafNode{Path:"friends[0].skills[0]", Value:44} mxj.LeafNode{Path:"friends[0].skills[1]", Value:12} json1-LeafPaths: "friends[0].skills[0]" "friends[0].skills[1]" json2-LeafNodes: mxj.LeafNode{Path:"friends.skills[0]", Value:44} mxj.LeafNode{Path:"friends.skills[1]", Value:12} json1-LeafValues: 44 12 json3-LeafNodes: mxj.LeafNode{Path:"of[0]", Value:"data"} mxj.LeafNode{Path:"of[1]", Value:"of"} mxj.LeafNode{Path:"of[2]", Value:3} mxj.LeafNode{Path:"of[3]", Value:"types"} mxj.LeafNode{Path:"of[4]", Value:true} mxj.LeafNode{Path:"a", Value:"list"} json3-LeafValues: "list" "data" "of" 3 "types" true json3-LeafPaths: "a" "of[0]" "of[1]" "of[2]" "of[3]" "of[4]" xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].-num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].-color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].-num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].-color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].-side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].-side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].-length", Value:"3.6"} xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} no-hyphen-xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} no-hyphen-xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} --- PASS: TestLeafNodes (0.00s) === RUN TestLeafDotNotation DotNotation-LeafValues: mxj.LeafNode{Path:"doc.item.0.-num", Value:"2"} mxj.LeafNode{Path:"doc.item.0.-color", Value:"blue"} mxj.LeafNode{Path:"doc.item.0.#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item.1.-num", Value:"3"} mxj.LeafNode{Path:"doc.item.1.-color", Value:"green"} mxj.LeafNode{Path:"doc.item.1.arm.0.-side", Value:"left"} mxj.LeafNode{Path:"doc.item.1.arm.0.-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item.1.arm.1.-length", Value:"3.6"} mxj.LeafNode{Path:"doc.item.1.arm.1.-side", Value:"right"} --- PASS: TestLeafDotNotation (0.00s) === RUN TestMisc ------------------ misc_test.go ... --- PASS: TestMisc (0.00s) === RUN TestRoot --- PASS: TestRoot (0.00s) === RUN TestElements --- PASS: TestElements (0.00s) === RUN TestAttributes --- PASS: TestAttributes (0.00s) === RUN TestElementsAttrPrefix --- PASS: TestElementsAttrPrefix (0.00s) === RUN TestAttributesAttrPrefix --- PASS: TestAttributesAttrPrefix (0.00s) === RUN TestElementsNoAttrPrefix --- PASS: TestElementsNoAttrPrefix (0.00s) === RUN TestAttributesNoAttrPrefix --- PASS: TestAttributesNoAttrPrefix (0.00s) === RUN TestPreserveSpaceDisableByDefault === RUN TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values === RUN TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false --- PASS: TestPreserveSpaceDisableByDefault (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false (0.00s) === RUN TestMxjHeader ---------------- mxj_test.go ... --- PASS: TestMxjHeader (0.00s) === RUN TestMap TestMap, m: mxj.Map{"key":"value", "newkey":map[string]interface {}{"bool":true, "float":3.14159, "listkey":[]interface {}{3.1415962535, false, "for all good men"}, "string":"Now is the time"}} TestMap, StringIndent - key : [string] value newkey : bool : [bool] true float : [float64] 3.14159 listkey : [[]interface{}] [float64] 3.1415962535 [bool] false [string] for all good men string : [string] Now is the time TestMap, StringIndent NoTypeInfo - key : value newkey : bool : true float : 3.14159 listkey : 3.1415962535 false for all good men string : Now is the time TestMap, m_fromXML: mxj.Map{"doc":map[string]interface {}{"tag":map[string]interface {}{"sub_tag1":"Hello", "sub_tag2":"World"}}} TestMap, StringIndent - doc : tag : sub_tag1 : [string] Hello sub_tag2 : [string] World TestMap, StringIndent NoTypeInfo - doc : tag : sub_tag1 : Hello sub_tag2 : World TestMap, m.Copy() - map[doc:map[tag:map[sub_tag1:Hello sub_tag2:World]]] --- PASS: TestMap (0.00s) === RUN TestNamespaceHeader ---------------- namespace_test.go ... --- PASS: TestNamespaceHeader (0.00s) === RUN TestBeautifyXml ---------------- TestBeautifyXml ... 123John Brown 123 John Brown --- PASS: TestBeautifyXml (0.00s) === RUN TestNan ------------ TestNan ... foo.bar: NAN --- PASS: TestNan (0.00s) === RUN TestInf foo.bar: INF --- PASS: TestInf (0.00s) === RUN TestMinusInf foo.bar: -INF --- PASS: TestMinusInf (0.00s) === RUN TestCastNanInf foo.bar: NaN --- PASS: TestCastNanInf (0.00s) === RUN TestNewMapHeader ---------------- newmap_test.go ... --- PASS: TestNewMapHeader (0.00s) === RUN TestNewMap j: { "A":"this", "B":"is", "C":"a", "D":"test" } m: mxj.Map{"A":"this", "B":"is", "C":"a", "D":"test"} eval - m.NewMap("A:AA", "B:BB", "C:cc", "D:help") n.Json(): {"AA":"this","BB":"is","cc":"a","help":"test"} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap("A:AA.A", "B:AA.B", "C:AA.B.cc", "D:hello.help") n.Json(): {"AA":{"A":"this","B":["is",{"cc":"a"}]},"hello":{"help":"test"}} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap keypairs: [A:xml.AA B:xml.AA.hello.again C:xml.AA D:xml.AA.hello.help] n.Json(): {"xml":{"AA":["this",{"hello":{"again":"is","help":"test"}},"a"]}} n.Xml(): thisistesta n.XmlIndent(): this is test a --- PASS: TestNewMap (0.00s) === RUN TestNetId original value: no default:text default:word new value: no default:text default:word original value: yes default:text default:word new value: yes default:text default:word --- PASS: TestNetId (0.00s) === RUN TestRemove --- PASS: TestRemove (0.00s) === RUN TestRenameKey ------------ rename_test.go --- PASS: TestRenameKey (0.00s) === RUN TestSeqNumHeader ---------------- seqnum_test.go ... --- PASS: TestSeqNumHeader (0.00s) === RUN TestSeqNum m1: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "IntObj1":map[string]interface {}{"-id":1, "_seq":1}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "IntObj1": { "-id": 1, "_seq": 1 } } } m2: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "NewObj":map[string]interface {}{"BoolObj":map[string]interface {}{"#text":true, "_seq":2}, "StringObj":map[string]interface {}{"#text":"hello", "_seq":1}, "_seq":1, "id":map[string]interface {}{"#text":1, "_seq":0}}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "NewObj": { "BoolObj": { "#text": true, "_seq": 2 }, "StringObj": { "#text": "hello", "_seq": 1 }, "_seq": 1, "id": { "#text": 1, "_seq": 0 } } } } --- PASS: TestSeqNum (0.00s) === RUN TestSetValueForPath --- PASS: TestSetValueForPath (0.00s) === RUN TestStakeCase ----------- TestSnakeCase --- PASS: TestStakeCase (0.00s) === RUN TestStrictModeXml ----------------- TestStrictModeXml ... m: map[document:map[goes_by: lang:E name:Bill & Hallett salute:Duc & 123xx]] --- PASS: TestStrictModeXml (0.00s) === RUN TestStrictModeXmlSeq ----------------- TestStrictModeXmlSeq ... m: map[document:map[goes_by:map[#seq:2 #text:] lang:map[#seq:3 #text:E] name:map[#seq:0 #text:Bill & Hallett] salute:map[#seq:1 #text:Duc & 123xx]]] --- PASS: TestStrictModeXmlSeq (0.00s) === RUN TestStrictModeFail ----------------- TestStrictFail ... OK --- PASS: TestStrictModeFail (0.00s) === RUN TestStructHeader ---------------- struct_test.go ... --- PASS: TestStructHeader (0.00s) === RUN TestStruct Struct, m: mxj.Map{"bool":true, "float":3.14159, "int":4, "private":"Somewhere over the rainbow", "str":"now's the time"} Struct, s: mxj.str{IntVal:4, StrVal:"now's the time", FloatVal:3.14159, BoolVal:true, private:""} --- PASS: TestStruct (0.00s) === RUN TestStructError StructError, mverr: mv.Struct() error: argument is not type Ptr --- PASS: TestStructError (0.00s) === RUN TestStructValue ----------------- structvalue_test.go ... --- PASS: TestStructValue (0.00s) === RUN TestUVHeader ---------------- updatevalues_test.go ... --- PASS: TestUVHeader (0.00s) === RUN TestUpdateValuesForPath_Author m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] v: William T. Gaddis v: Austin Tappan Wright v: John Hawkes v: map[first_name:T.E. last_name:Porter] m.UpdateValuesForPath("author:NoName", "doc.books.book.author") 4 updates v: NoName v: NoName v: NoName v: NoName m.UpdateValuesForPath("author:William Gadddis", "doc.books.book.author", "title:The Recognitions") 4 updates v: William Gadddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("author:William T. Gaddis", "doc.books.book.*", "title:The Recognitions") 1 updates v: William T. Gaddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("title:The Cannibal", "doc.books.book.title", "author:John Hawkes") 2 updates v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] v: map[-seq:2 author:Austin Tappen Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] v: map[-seq:3 author:John Hawkes review:A novel on his experiences in WWII. title:The Cannibal] v: map[-seq:4 author:T. E. Porter review:A magical novella. title:King's Day] m.UpdateValuesForPath("books:", "doc.books") 1 updates m: map[doc:map[books:]] m.UpdateValuesForPath(mm, "*") 1 updates m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] newDoc: simple element m: map[tag:map[#text:simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:maybe not so simple element", "tag") n: 1 m: map[tag:map[#text:maybe not so simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:simple element again", "*") n: 1 m: map[tag:map[#text:simple element again -color:green -shape:square]] --- PASS: TestUpdateValuesForPath_Author (0.00s) === RUN TestAuthorDoc biblio : author : [[]interface{}] books : book : [[]interface{}] date : [string] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [string] 1975 review : [string] Winner of National Book Award for Fiction. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [string] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [string] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [string] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes m.UpdateValuesForPath("review:National Book Award winner.", "*.*.*.*", "title:JR") 1 updates v: map[books:map[book:[map[date:1955 review:A novel that changed the face of American literature. title:The Recognitions] map[date:1975 review:National Book Award winner. title:JR]]] name:William Gaddis] m.UpdateValuesForPath(newVal, path, oldVal) 5 updates biblio : author : [[]interface{}] books : book : [[]interface{}] date : [float64] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [float64] 1975 review : [string] National Book Award winner. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [float64] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [float64] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [float64] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes --- PASS: TestAuthorDoc (0.00s) === RUN TestXml2Header ---------------- xml2_test.go ... --- PASS: TestXml2Header (0.00s) === RUN TestNewMapXml4 NewMapXml4, x: William T. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXml4, m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] NewMapXml4, s: doc : books : book : [[]interface{}] -seq : [string] 1 author : [string] William T. Gaddis review : [string] One of the great seminal American novels of the 20th century. title : [string] The Recognitions -seq : [string] 2 author : [string] Austin Tappan Wright review : [string] An example of earlier 20th century American utopian fiction. title : [string] Islandia -seq : [string] 3 author : [string] John Hawkes review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg -seq : [string] 4 author : first_name : [string] T.E. last_name : [string] Porter review : [string] A magical novella. title : [string] King's Day NewMapXml4, b: William T. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day --- PASS: TestNewMapXml4 (0.00s) === RUN TestNewMapXml5 NewMapXml5, raw: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day NewMapXml5, m: map[msg:map[-mpriority:1 -mtype:alert song:map[-author:Mayer Hawthorne -title:A Long Time chorus:map[line:[map[#text:It's going to take a long time -no:1] map[#text:It's going to take it, but we'll make it one day -no:2] map[#text:It's going to take a long time -no:3] map[#text:It's going to take it, but we'll make it one day -no:4]]] verses:map[verse:[map[-name:verse 1 -no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2] map[#text:One component at a time -no:3] map[#text:There's got to be a better way -no:4] map[#text:Oh, people came from miles around -no:5] map[#text:Searching for a steady job -no:6] map[#text:Welcome to the Motor Town -no:7] map[#text:Booming like an atom bomb -no:8]]] map[-name:verse 2 -no:2 line:[map[#text:Oh, Henry was the end of the story -no:1] map[#text:Then everything went wrong -no:2] map[#text:And we'll return it to its former glory -no:3] map[#text:But it just takes so long -no:4]]]]]] text:help me!]] NewMapXml5, s: msg : -mpriority : [string] 1 -mtype : [string] alert song : -author : [string] Mayer Hawthorne -title : [string] A Long Time chorus : line : [[]interface{}] #text : [string] It's going to take a long time -no : [string] 1 #text : [string] It's going to take it, but we'll make it one day -no : [string] 2 #text : [string] It's going to take a long time -no : [string] 3 #text : [string] It's going to take it, but we'll make it one day -no : [string] 4 verses : verse : [[]interface{}] -name : [string] verse 1 -no : [string] 1 line : [[]interface{}] #text : [string] Henry was a renegade -no : [string] 1 #text : [string] Didn't like to play it safe -no : [string] 2 #text : [string] One component at a time -no : [string] 3 #text : [string] There's got to be a better way -no : [string] 4 #text : [string] Oh, people came from miles around -no : [string] 5 #text : [string] Searching for a steady job -no : [string] 6 #text : [string] Welcome to the Motor Town -no : [string] 7 #text : [string] Booming like an atom bomb -no : [string] 8 -name : [string] verse 2 -no : [string] 2 line : [[]interface{}] #text : [string] Oh, Henry was the end of the story -no : [string] 1 #text : [string] Then everything went wrong -no : [string] 2 #text : [string] And we'll return it to its former glory -no : [string] 3 #text : [string] But it just takes so long -no : [string] 4 text : [string] help me! NewMapXml5, b: It's going to take a long timeIt's going to take it, but we'll make it one dayIt's going to take a long timeIt's going to take it, but we'll make it one dayHenry was a renegadeDidn't like to play it safeOne component at a timeThere's got to be a better wayOh, people came from miles aroundSearching for a steady jobWelcome to the Motor TownBooming like an atom bombOh, Henry was the end of the storyThen everything went wrongAnd we'll return it to its former gloryBut it just takes so longhelp me! NewMapXml5, b: It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long help me! --- PASS: TestNewMapXml5 (0.00s) === RUN TestNewMapXml6 NewMapXml6, raw: Code Review - My issueshttp://codereview.appspot.com/rietveld<>rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a &lt;link rel=&quot;hub&quot; href=&quot;hub-server&quot;&gt; tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can&#39;t quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed&#39;s actual URL in the link rel=&quot;self&quot;, but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: correct tab handling 2009-10-03T23:02:17+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn&#39;t know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. NewMapXml6, m: map[feed:map[-lang:en-us -updated:2009-10-04T01:35:58+00:00 -xmlns:http://www.w3.org/2005/Atom author:map[name:rietveld<>] entry:[map[author:map[name:email-address-removed] id:urn:md5:134d9179c41f806be79b3a5f7877d19a link:map[-href:http://codereview.appspot.com/126085 -rel:alternate] summary:map[#text:An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type:html] title:rietveld: an attempt at pubsubhubbub updated:2009-10-04T01:35:58+00:00] map[author:map[name:email-address-removed] id:urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link:map[-href:http://codereview.appspot.com/124106 -rel:alternate] summary:map[#text:This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type:html] title:rietveld: correct tab handling updated:2009-10-03T23:02:17+00:00]] id:http://codereview.appspot.com/ link:[map[-href:http://codereview.appspot.com/ -rel:alternate] map[-href:http://codereview.appspot.com/rss/mine/rsc -rel:self]] title:Code Review - My issues]] NewMapXml6, s: feed : -lang : [string] en-us -updated : [string] 2009-10-04T01:35:58+00:00 -xmlns : [string] http://www.w3.org/2005/Atom author : name : [string] rietveld<> entry : [[]interface{}] author : name : [string] email-address-removed id : [string] urn:md5:134d9179c41f806be79b3a5f7877d19a link : -href : [string] http://codereview.appspot.com/126085 -rel : [string] alternate summary : #text : [string] An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type : [string] html title : [string] rietveld: an attempt at pubsubhubbub updated : [string] 2009-10-04T01:35:58+00:00 author : name : [string] email-address-removed id : [string] urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link : -href : [string] http://codereview.appspot.com/124106 -rel : [string] alternate summary : #text : [string] This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type : [string] html title : [string] rietveld: correct tab handling updated : [string] 2009-10-03T23:02:17+00:00 id : [string] http://codereview.appspot.com/ link : [[]interface{}] -href : [string] http://codereview.appspot.com/ -rel : [string] alternate -href : [string] http://codereview.appspot.com/rss/mine/rsc -rel : [string] self title : [string] Code Review - My issues NewMapXml6, b: rietveld<>email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19aAn attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc).rietveld: an attempt at pubsubhubbub2009-10-04T01:35:58+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35aThis fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py.rietveld: correct tab handling2009-10-03T23:02:17+00:00http://codereview.appspot.com/Code Review - My issues NewMapXml6, b: rietveld<> email-address-removed urn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00 email-address-removed urn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. rietveld: correct tab handling 2009-10-03T23:02:17+00:00 http://codereview.appspot.com/ Code Review - My issues --- PASS: TestNewMapXml6 (0.00s) === RUN TestXml3 ------------ xml3_test.go --- PASS: TestXml3 (0.00s) === RUN TestOnlyAttributes ========== TestOnlyAttributes
--- PASS: TestOnlyAttributes (0.00s) === RUN TestOnlyAttributesSeq ========== TestOnlyAttributesSeq
--- PASS: TestOnlyAttributesSeq (0.00s) === RUN TestDecodeSimpleValuesAsMap ========== TestDecodeSimpleValuesAsMap xml: 30102 Mini Drone Inteligente - Branco 149.90 m : map[item:map[id:map[#text:30102] price:map[#text:149.90 -unit:BRL] title:map[#text:Mini Drone Inteligente - Branco]]] ========== (default) m : map[item:map[id:30102 price:map[#text:149.90 -unit:BRL] title:Mini Drone Inteligente - Branco]] --- PASS: TestDecodeSimpleValuesAsMap (0.00s) === RUN TestXmlHeader ---------------- xml_test.go ... --- PASS: TestXmlHeader (0.00s) === RUN TestNewMapXml --- PASS: TestNewMapXml (0.00s) === RUN TestAttrHyphenFalse --- PASS: TestAttrHyphenFalse (0.00s) === RUN TestNewMapXmlError --- PASS: TestNewMapXmlError (0.00s) === RUN TestNewMapXmlReader ==================== TestNewMapXmlReader ... NewMapXmlReader, raw: is a test NewMapXmlReader, m : map[root:map[this:is a test]] NewMapXmlReader, raw: something more12 NewMapXmlReader, m : map[root2:map[list:map[item:[1 2]] newtag:something more]] --- PASS: TestNewMapXmlReader (0.00s) === RUN TestXml_1 Xml_1, mv: map[boolean:true float:3.14159625 null: tag1:some data tag2:more data] Xml_1, x : true3.14159625some datamore data --- PASS: TestXml_1 (0.00s) === RUN TestXml_2 Xml_2, mv: map[array:[string true 36.4]] Xml_2, x : stringtrue36.4 --- PASS: TestXml_2 (0.00s) === RUN TestXml_3 Xml_3, mv: map[array:[[string true 36.4] string2]] Xml_3, x : stringtrue36.4string2 --- PASS: TestXml_3 (0.00s) === RUN TestXml_4 Xml_4, mv: map[array:map[innerkey:[[string true 36.4] string2]]] Xml_4, x : stringtrue36.4string2 --- PASS: TestXml_4 (0.00s) === RUN TestXml_5 Xml_5, mv: map[array:[map[innerkey:[[string true 36.4] string2]] map[some:more]]] Xml_5, x : stringtrue36.4string2more --- PASS: TestXml_5 (0.00s) === RUN TestXml_Strings Xml_strings, mv: map[sometag:some data strings:[string1 string2]] Xml_strings, x : some datastring1string2 --- PASS: TestXml_Strings (0.00s) === RUN TestXmlWriter XmlWriter, b : true3.14159625some datamore data --- PASS: TestXmlWriter (0.00s) === RUN TestXmlSeqHeader ---------------- xmlseq_test.go ... --- PASS: TestXmlSeqHeader (0.00s) === RUN TestNewMapXmlSeq NewMapXmlSeq, x: William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXmlSeq, s: doc : books : #seq : [int] 0 book : [[]interface{}] #attr : seq : #seq : [int] 0 #text : [string] 1 #comment : #seq : [int] 3 #text : [string] here's the rest of the review #seq : [int] 0 author : #seq : [int] 0 #text : [string] William T. Gaddis review : [[]interface{}] #seq : [int] 1 #text : [string] Gaddis is one of the most influential but little know authors in America. #seq : [int] 4 #text : [string] One of the great seminal American novels of the 20th century. #seq : [int] 5 #text : [string] Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. title : #seq : [int] 2 #text : [string] The Recognitions #attr : seq : #seq : [int] 0 #text : [string] 2 #seq : [int] 1 author : #seq : [int] 0 #text : [string] Austin Tappan Wright review : #seq : [int] 2 #text : [string] An example of earlier 20th century American utopian fiction. title : #seq : [int] 1 #text : [string] Islandia #directive : #seq : [int] 2 #text : [string] throw in a directive here #seq : [int] 2 author : #seq : [int] 0 #text : [string] John Hawkes review : #seq : [int] 3 #text : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : #seq : [int] 1 #text : [string] The Beetle Leg #seq : [int] 3 author : #procinst : #inst : [string] first_name last_name #seq : [int] 0 #target : [string] cat #seq : [int] 0 first_name : #seq : [int] 1 #text : [string] T.E. last_name : #seq : [int] 2 #text : [string] Porter review : #seq : [int] 2 #text : [string] A magical novella. title : #seq : [int] 1 #text : [string] King's Day NewMapXmlSeq, msv.XmlIndent(): William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. --- PASS: TestNewMapXmlSeq (0.00s) === RUN TestXmlSeqDecodeError ------------ TestXmlSeqDecodeError ... err ok: element book not properly terminated, got books at #461 --- PASS: TestXmlSeqDecodeError (0.00s) === RUN TestNewMapXmlSeqWhiteSpace === RUN TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing --- PASS: TestNewMapXmlSeqWhiteSpace (0.00s) --- PASS: TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing (0.00s) === RUN TestXMPPStreamTag ----------- TestXMPPStreamTag ... map[stream:map[-from:example.com -stream:http://etherx.jabber.org/streams -version:1.0 -xmlns:jabber:client]] map[features:map[bind:map[-xmlns:urn:ietf:params:xml:ns:xmpp-bind] sm:map[-xmlns:urn:xmpp:sm:3]]] map[stream:map[]] --- PASS: TestXMPPStreamTag (0.00s) === RUN TestXMPPStreamTagSeq ----------- TestXMPPStreamTagSeq ... map[stream:stream:map[#attr:map[from:map[#seq:0 #text:example.com] version:map[#seq:3 #text:1.0] xmlns:map[#seq:1 #text:jabber:client] xmlns:stream:map[#seq:2 #text:http://etherx.jabber.org/streams]]]] map[stream:features:map[bind:map[#attr:map[xmlns:map[#seq:0 #text:urn:ietf:params:xml:ns:xmpp-bind]] #seq:0] sm:map[#attr:map[xmlns:map[#seq:0 #text:urn:xmpp:sm:3]] #seq:1]]] map[stream:stream:map[]] --- PASS: TestXMPPStreamTagSeq (0.00s) PASS ok github.com/clbanning/mxj/v2 0.058s === RUN TestJsonToXml_1 [{"some-null-value":"", "a-non-null-value":"bar"}] xmloutput: bar --- PASS: TestJsonToXml_1 (0.00s) === RUN TestJsonToXml_2 {"somekey":[{"value":"1st"},{"value":"2nd"}]} xmloutput: 1st2nd --- PASS: TestJsonToXml_2 (0.00s) PASS ok github.com/clbanning/mxj/v2/j2x 0.028s === RUN TestGoofy TestGoofy ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} TestGoofier ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofierVal:0x400007f2c0 goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofierVal":{"G":{"S":"Now is the time for","Sp":"all good men to come to"},"B":"dGhlIHRyZWUgb2YgZnJlZWRvbSBtdXN0IHBlcmlvZGljYWxseSBiZQ==","N":null},"goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} --- PASS: TestGoofy (0.00s) === RUN TestToMap ToMap - Read doc: barworld entry : vars : foo :[string] bar foo2 : hello :[string] world --- PASS: TestToMap (0.00s) === RUN TestToJson ToJson - Read doc: barworld json: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestToJson (0.00s) === RUN TestToJsonIndent ToJsonIndent - Read doc: barworld json: { "entry": { "vars": { "foo": "bar", "foo2": { "hello": "world" } } } } --- PASS: TestToJsonIndent (0.00s) === RUN TestBulkParser BulkParser (with error) - Read doc: barworldanbarworld phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] --- PASS: TestBulkParser (0.00s) === RUN TestBulkParserToJson BulkParser (with error) - Read doc: barworldanbarworld phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestBulkParserToJson (0.00s) === RUN TestX2j ================================ x2j_test.go ... =================== TestX2j ... XML doc: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day DocToMap(), recast==true: msg : -mtype :[string] alert -mpriority :[float64] 1.00e+00 text :[string] help me! song : -author :[string] Mayer Hawthorne verses : verse :[[]interface{}] [item: 0] -name :[string] verse 1 -no :[float64] 1.00e+00 line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] Henry was a renegade [item: 1] -no :[float64] 2.00e+00 #text :[string] Didn't like to play it safe [item: 2] -no :[float64] 3.00e+00 #text :[string] One component at a time [item: 3] #text :[string] There's got to be a better way -no :[float64] 4.00e+00 [item: 4] -no :[float64] 5.00e+00 #text :[string] Oh, people came from miles around [item: 5] #text :[string] Searching for a steady job -no :[float64] 6.00e+00 [item: 6] -no :[float64] 7.00e+00 #text :[string] Welcome to the Motor Town [item: 7] -no :[float64] 8.00e+00 #text :[string] Booming like an atom bomb [item: 1] -name :[string] verse 2 -no :[float64] 2.00e+00 line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] Oh, Henry was the end of the story [item: 1] -no :[float64] 2.00e+00 #text :[string] Then everything went wrong [item: 2] -no :[float64] 3.00e+00 #text :[string] And we'll return it to its former glory [item: 3] -no :[float64] 4.00e+00 #text :[string] But it just takes so long chorus : line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] It's going to take a long time [item: 1] -no :[float64] 2.00e+00 #text :[string] It's going to take it, but we'll make it one day [item: 2] -no :[float64] 3.00e+00 #text :[string] It's going to take a long time [item: 3] #text :[string] It's going to take it, but we'll make it one day -no :[float64] 4.00e+00 -title :[string] A Long Time DocToJsonIndent, recast==true: { "msg": { "-mpriority": 1, "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": 1 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 2 }, { "#text": "It's going to take a long time", "-no": 3 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 4 } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": 1, "line": [ { "#text": "Henry was a renegade", "-no": 1 }, { "#text": "Didn't like to play it safe", "-no": 2 }, { "#text": "One component at a time", "-no": 3 }, { "#text": "There's got to be a better way", "-no": 4 }, { "#text": "Oh, people came from miles around", "-no": 5 }, { "#text": "Searching for a steady job", "-no": 6 }, { "#text": "Welcome to the Motor Town", "-no": 7 }, { "#text": "Booming like an atom bomb", "-no": 8 } ] }, { "-name": "verse 2", "-no": 2, "line": [ { "#text": "Oh, Henry was the end of the story", "-no": 1 }, { "#text": "Then everything went wrong", "-no": 2 }, { "#text": "And we'll return it to its former glory", "-no": 3 }, { "#text": "But it just takes so long", "-no": 4 } ] } ] } }, "text": "help me!" } } --- PASS: TestX2j (0.00s) === RUN TestGetValue =================== TestGetValue ... Read doc: barworld Looking for value: entry.vars { "foo": "bar", "foo2": { "hello": "world" } } Looking for value: entry.vars.foo2.hello world Looking with error in path: entry.var verr: no key in map: var DocValue() for tag path entry.vars { "foo": "bar", "foo2": { "hello": "world" } } --- PASS: TestGetValue (0.00s) === RUN TestGetValueWithAttr =================== TestGetValueWithAttr ... Read doc: bar world universe Looking for value: entry.vars { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } MapValue(): Looking for value: entry.vars.foo item=2 { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } MapValue(): Looking for hello item:4 verr: no key in map: hello DocValue(): Looking for entry.vars.foo.hello item:4 verr: no keys beyond: foo DocValue(): Looking for empty nil { "entry": { "vars": { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } } } testing recast switch... MapValue(): Looking for value: entry.vars.foo item=2 { "-item": 2, "hello": [ { "#text": "world", "-item": 3 }, { "#text": "universe", "-item": 4 } ] } --- PASS: TestGetValueWithAttr (0.00s) === RUN TestStuff_1 =================== TestStuff_1 ... val2 val2 val3 doc : tag :[[]interface{}] [item: 0] -item :[string] 1 #text :[string] val2 [item: 1] -item :[string] 2 #text :[string] val2 [item: 2] -item :[string] 2 -instance :[string] 2 #text :[string] val3 DocValue(): tag [ { "#text": "val2", "-item": "1" }, { "#text": "val2", "-item": "2" }, { "#text": "val3", "-instance": "2", "-item": "2" } ] DocValue(): item:2 instance:2 "val3" --- PASS: TestStuff_1 (0.00s) === RUN TestStuff_2 =================== TestStuff_2 ... val2 val2 val3 tag : -item :[string] 1 #text :[string] val2 DocValue(): tag { "#text": "val2", "-item": "1" } DocValue(): item:2 instance:2 verr: no attribute key:value pair: item:2 --- PASS: TestStuff_2 (0.00s) === RUN TestBulk =================== TestBulkBuffer ... Bulk Message Processing Tests procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] }, { "-name": "verse 2", "-no": "2", "line": [ { "#text": "Oh, Henry was the end of the story", "-no": "1" }, { "#text": "Then everything went wrong", "-no": "2" }, { "#text": "And we'll return it to its former glory", "-no": "3" }, { "#text": "But it just takes so long", "-no": "4" } ] } ] } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "verses": { "verse": { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] } } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] } }, "text": "help me!" } } procError err: xml.Decoder.Token() - XML syntax error on line 1: element closed by procError err: xml.Decoder.Token() - XML syntax error on line 1: unexpected end element --- PASS: TestBulk (0.00s) === RUN TestTagAndKey =================== TestTagAndKey ... TestTagAndKey()
one
two.one two.two
one
two
tag: parts :: len: 2 v: [map[part:[two.one two.two]] map[sections:map[section:[one two]]]] no 'not_a_tag' tag key: section :: len: 2 v: [[one map[parts:map[part:[two.one two.two]]]] [one two]] no 'not_a_key' key --- PASS: TestTagAndKey (0.00s) === RUN TestValuesAtKeyPath ============================ x2jat_test.go =============== TestValuesAtKeyPath ... ValuesAtKeyPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtKeyPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] GetKeyPaths...doc2#book ss: [doc.books.author.book doc.books.author.books.book] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] ValuesAtKeyPath ... msg1#pub ss: [msg.pub] vv: [map[pub:test text:This is a long cold winter]] ValuesAtKeyPath ... msg2#pub ss: [msgs.msg.pub] vv: [map[pub:test text:This is a long cold winter] map[pub:test2 text:I hope we have a cool summer, though]] --- PASS: TestValuesAtKeyPath (0.00s) === RUN TestValuesAtTagPath =============== TestValuesAtTagPath ... ValuesAtTagPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtTagPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] ValuesAtTagPath...doc2#book ss: [doc.books.author.book doc.books.author.books.book] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] --- PASS: TestValuesAtTagPath (0.00s) === RUN TestPathsForKey ================================ x2jfindPath_test.go =============== TestPathsForKey ... PathsForKey... doc01#author ss: [doc.books.book.author] PathsForKey... doc01#books ss: [doc.books] PathsForKey...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForKeyShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForKey (0.00s) === RUN TestPathsForTag =============== TestPathsForTag ... PathsForTag... doc01#author ss: [doc.books.book.author] PathsForTag... doc01#books ss: [doc.books] PathsForTag...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForTagShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForTag (0.00s) === RUN TestValuesFromTagPath TestValuesFromTagPath() William H. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. map: doc : books : book :[[]interface{}] [item: 0] -seq :[string] 1 author :[string] William H. Gaddis title :[string] The Recognitions review :[string] One of the great seminal American novels of the 20th century. [item: 1] -seq :[string] 2 author :[string] Austin Tappan Wright title :[string] Islandia review :[string] An example of earlier 20th century American utopian fiction. [item: 2] -seq :[string] 3 author :[string] John Hawkes title :[string] The Beetle Leg review :[string] A lyrical novel about the construction of Ft. Peck Dam in Montana. [item: 3] -seq :[string] 4 author : first_name :[string] T.E. last_name :[string] Porter title :[string] King's Day review :[string] A magical novella. path == doc.books: len(v): 1 0 : map[book:[map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]] path == doc.books.*: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] path == doc.books.book: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] doc == doc2 / path == doc.books.book: len(v): 1 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] path == doc.books.book.*: len(v): 12 0 : One of the great seminal American novels of the 20th century. 1 : William H. Gaddis 2 : The Recognitions 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : The Beetle Leg 7 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 8 : John Hawkes 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. doc == doc2 / path == doc.books.book.*: len(v): 3 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. path == doc.books.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.title: len(v): 4 0 : The Recognitions 1 : Islandia 2 : The Beetle Leg 3 : King's Day path == doc.*.*.*: len(v): 12 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : John Hawkes 7 : The Beetle Leg 8 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. path == doc.*.*.*.*: len(v): 2 0 : T.E. 1 : Porter --- PASS: TestValuesFromTagPath (0.00s) === RUN TestValuesFromTagPath2 TestValuesFromTagPath2(), iteration: 0 no default:text default:word map: data : netid : disable :[string] no text1 :[string] default:text word1 :[string] default:word path == data.*: len(v): 1 0 : map[disable:no text1:default:text word1:default:word] word1 : default:word disable : no text1 : default:text path == data.*.*: len(v): 3 0 : no 1 : default:text 2 : default:word TestValuesFromTagPath2(), iteration: 1 yes default:text default:word map: data : idnet : word1 :[string] default:word disable :[string] yes text1 :[string] default:text path == data.*: len(v): 1 0 : map[disable:yes text1:default:text word1:default:word] disable : yes text1 : default:text word1 : default:word path == data.*.*: len(v): 3 0 : default:text 1 : default:word 2 : yes --- PASS: TestValuesFromTagPath2 (0.00s) === RUN TestUnmarshal Unmarshal test ... *map[string]interface{}, *string m: map[doc:map[name:Mayer Hawthorne song:map[title:A Long Time verse:map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]]]]] s: {"doc":{"name":"Mayer Hawthorne","song":{"title":"A Long Time","verse":{"-no":"1","line":[{"#text":"Henry was a renegade","-no":"1"},{"#text":"Didn't like to play it safe","-no":"2"}]}}}} --- PASS: TestUnmarshal (0.00s) === RUN TestStructValue Unmarshal test ... struct: clbanning
unknown
myInfo: {XMLName:{Space: Local:info} Name:clbanning Address:unknown} --- PASS: TestStructValue (0.00s) === RUN TestMapValue TestMapValue of doc.song.verse w/ len(attrs) == 0. doc: Mayer Hawthorne A Long Time Henry was a renegade Didn't like to play it safe result: map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]] --- PASS: TestMapValue (0.00s) PASS ok github.com/clbanning/mxj/v2/x2j-wrapper 0.051s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-clbanning-mxj-dev/ -O--builddirectory=_build -O--buildsystem=golang dh_installdocs -O--builddirectory=_build -O--buildsystem=golang dh_installchangelogs -O--builddirectory=_build -O--buildsystem=golang dh_installsystemduser -O--builddirectory=_build -O--buildsystem=golang dh_perl -O--builddirectory=_build -O--buildsystem=golang dh_link -O--builddirectory=_build -O--buildsystem=golang dh_strip_nondeterminism -O--builddirectory=_build -O--buildsystem=golang dh_compress -O--builddirectory=_build -O--buildsystem=golang dh_fixperms -O--builddirectory=_build -O--buildsystem=golang dh_missing -O--builddirectory=_build -O--buildsystem=golang dh_installdeb -O--builddirectory=_build -O--buildsystem=golang dh_golang -O--builddirectory=_build -O--buildsystem=golang dh_gencontrol -O--builddirectory=_build -O--buildsystem=golang dh_md5sums -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -O--builddirectory=_build -O--buildsystem=golang dpkg-deb: building package 'golang-github-clbanning-mxj-dev' in '../golang-github-clbanning-mxj-dev_2.7.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.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: including full 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/2198571 and its subdirectories I: Current time: Thu Nov 21 11:31:34 -12 2024 I: pbuilder-time-stamp: 1732231894 Thu Nov 21 23:31:34 UTC 2024 I: Signing ./b1/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo as golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc Thu Nov 21 23:31:34 UTC 2024 I: Signed ./b1/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo as ./b1/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc Thu Nov 21 23:31:34 UTC 2024 - build #1 for golang-github-clbanning-mxj/trixie/arm64 on codethink04-arm64 done. Starting cleanup. All cleanup done. Thu Nov 21 23:31:34 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-tndl8CBz, removing. /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2: total 16 drwxr-xr-x 2 jenkins jenkins 4096 Nov 21 23:31 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 21 23:30 b2 -rw-r--r-- 1 jenkins jenkins 2290 Oct 10 2023 golang-github-clbanning-mxj_2.7.0-1.dsc -rw------- 1 jenkins jenkins 3536 Nov 21 23:30 rbuildlog.Q8lJUFh /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1: total 1308 -rw-r--r-- 1 jenkins jenkins 134168 Nov 21 23:31 build.log -rw-r--r-- 1 jenkins jenkins 67372 Nov 21 23:31 golang-github-clbanning-mxj-dev_2.7.0-1_all.deb -rw-r--r-- 1 jenkins jenkins 4784 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2290 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1.dsc -rw-r--r-- 1 jenkins jenkins 4994 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 5876 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1459 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1944 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_source.changes -rw-r--r-- 1 jenkins jenkins 1097456 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2: total 0 Thu Nov 21 23:31:38 UTC 2024 I: Deleting $TMPDIR on codethink04-arm64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Thu Nov 21 11:30:38 -12 2024 I: pbuilder-time-stamp: 1732231838 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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-clbanning-mxj_2.7.0-1.dsc] I: copying [./golang-github-clbanning-mxj_2.7.0.orig.tar.gz] I: copying [./golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Tue Oct 10 14:17:11 2023 gpgv: using RSA key 142421B19AD4A95996F95072EA2500B412C59ACF gpgv: issuer "foka@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./golang-github-clbanning-mxj_2.7.0-1.dsc: no acceptable signature found dpkg-source: info: extracting golang-github-clbanning-mxj in golang-github-clbanning-mxj-2.7.0 dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0.orig.tar.gz dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-use-v2-in-import-paths.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2198571/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='arm64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='arm64' IFS=' ' INVOCATION_ID='91794b8d0eb7440b99d2d19223bd80e7' 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='2198571' 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.yAy8seg2/pbuilderrc_uBme --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1 --logfile b1/build.log golang-github-clbanning-mxj_2.7.0-1.dsc' SUDO_GID='109' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://192.168.101.4:3128' I: uname -a Linux codethink04-arm64 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2198571/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: arm64 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 (= 13), dh-sequence-golang, golang-any, golang-github-google-go-cmp-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20087 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 (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-golang; however: Package dh-sequence-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. pbuilder-satisfydepends-dummy depends on golang-github-google-go-cmp-dev; however: Package golang-github-google-go-cmp-dev 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.23-go{a} golang-1.23-src{a} golang-any{a} golang-github-google-go-cmp-dev{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} 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 62.2 MB of archives. After unpacking 318 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.22.5-2 [198 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-5 [1129 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.2-11 [91.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-5+b1 [9239 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.22.5-2 [1532 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 dh-golang all 1.62 [24.7 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 golang-1.23-src all 1.23.3-2 [19.1 MB] Get: 32 http://deb.debian.org/debian trixie/main arm64 golang-1.23-go arm64 1.23.3-2 [23.4 MB] Get: 33 http://deb.debian.org/debian trixie/main arm64 golang-src all 2:1.23~2 [5088 B] Get: 34 http://deb.debian.org/debian trixie/main arm64 golang-go arm64 2:1.23~2 [44.3 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 golang-any arm64 2:1.23~2 [5172 B] Get: 36 http://deb.debian.org/debian trixie/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB] Fetched 62.2 MB in 0s (167 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 20087 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_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_arm64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_arm64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_arm64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... 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.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... 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.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../21-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../23-libicu72_72.1-5+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-5+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_arm64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package dh-golang. Preparing to unpack .../29-dh-golang_1.62_all.deb ... Unpacking dh-golang (1.62) ... Selecting previously unselected package golang-1.23-src. Preparing to unpack .../30-golang-1.23-src_1.23.3-2_all.deb ... Unpacking golang-1.23-src (1.23.3-2) ... Selecting previously unselected package golang-1.23-go. Preparing to unpack .../31-golang-1.23-go_1.23.3-2_arm64.deb ... Unpacking golang-1.23-go (1.23.3-2) ... Selecting previously unselected package golang-src. Preparing to unpack .../32-golang-src_2%3a1.23~2_all.deb ... Unpacking golang-src (2:1.23~2) ... Selecting previously unselected package golang-go:arm64. Preparing to unpack .../33-golang-go_2%3a1.23~2_arm64.deb ... Unpacking golang-go:arm64 (2:1.23~2) ... Selecting previously unselected package golang-any:arm64. Preparing to unpack .../34-golang-any_2%3a1.23~2_arm64.deb ... Unpacking golang-any:arm64 (2:1.23~2) ... Selecting previously unselected package golang-github-google-go-cmp-dev. Preparing to unpack .../35-golang-github-google-go-cmp-dev_0.6.0-1_all.deb ... Unpacking golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libicu72:arm64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up golang-1.23-src (1.23.3-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up golang-src (2:1.23~2) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-8) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up golang-1.23-go (1.23.3-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up golang-go:arm64 (2:1.23~2) ... 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 golang-any:arm64 (2:1.23~2) ... Setting up debhelper (13.20) ... Setting up dh-golang (1.62) ... Processing triggers for libc-bin (2.40-3) ... 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 I: Building the package I: Running cd /build/reproducible-path/golang-github-clbanning-mxj-2.7.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-clbanning-mxj_2.7.0-1_source.changes dpkg-buildpackage: info: source package golang-github-clbanning-mxj dpkg-buildpackage: info: source version 2.7.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Anthony Fok dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --builddirectory=_build --buildsystem=golang dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang dh_clean -O--builddirectory=_build -O--buildsystem=golang debian/rules binary dh binary --builddirectory=_build --buildsystem=golang dh_update_autotools_config -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper internal/coverage/rtcov internal/goos internal/unsafeheader internal/godebugs internal/goexperiment internal/runtime/syscall internal/goarch unicode internal/cpu internal/profilerecord sync/atomic unicode/utf8 encoding internal/byteorder math/bits internal/itoa internal/race cmp internal/abi runtime/internal/sys internal/asan internal/msan unicode/utf16 internal/chacha8rand runtime/internal/math math internal/bytealg internal/runtime/atomic internal/runtime/exithook internal/stringslite runtime internal/reflectlite sync iter slices internal/bisect internal/testlog errors sort internal/godebug io strconv internal/oserror path syscall bytes strings internal/saferio reflect bufio regexp/syntax regexp time internal/syscall/execenv internal/syscall/unix io/fs internal/poll encoding/binary internal/fmtsort internal/filepathlite os encoding/base64 fmt encoding/gob encoding/json encoding/xml github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper dh_auto_test -O--builddirectory=_build -O--buildsystem=golang cd _build && go test -vet=off -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper ? github.com/clbanning/mxj/v2/x2j [no test files] === RUN TestAnyXmlHeader ---------------- anyxml_test.go ... --- PASS: TestAnyXmlHeader (0.00s) === RUN TestAnyXml []->x: somevaluesomevaluesomevaluesomeothervaluestring3.14159265true a->x: trythis3.14159265true a->x: trythis3.14159265true f->x: 3.14159625 s->x: somevalue3.1415963 --- PASS: TestAnyXml (0.00s) === RUN TestAnyXmlIndent []->x: somevalue somevalue somevalue someothervalue string 3.14159265 true a->x: try this 3.14159265 true f->x: 3.14159625 f->x: 3.14159625 s->x: somevalue 3.1415963 --- PASS: TestAnyXmlIndent (0.00s) === RUN TestNilMap --- PASS: TestNilMap (0.00s) === RUN TestNilValue --- PASS: TestNilValue (0.00s) === RUN TestPrefixDefault ----------------- TestPrefixDefault ... --- PASS: TestPrefixDefault (0.00s) === RUN TestPrefixNoHyphen ----------------- TestPrefixNoHyphen ... --- PASS: TestPrefixNoHyphen (0.00s) === RUN TestPrefixUnderscore ----------------- TestPrefixUnderscore ... --- PASS: TestPrefixUnderscore (0.00s) === RUN TestPrefixAt ----------------- TestPrefixAt ... --- PASS: TestPrefixAt (0.00s) === RUN TestMarshalPrefixDefault ----------------- TestMarshalPrefixDefault ... a test a test --- PASS: TestMarshalPrefixDefault (0.00s) === RUN TestMarshalPrefixNoHyphen ----------------- TestMarshalPrefixNoHyphen ... x: a test this is a test this is not --- PASS: TestMarshalPrefixNoHyphen (0.00s) === RUN TestMarshalPrefixUnderscore ----------------- TestMarshalPrefixUnderscore ... a test a test --- PASS: TestMarshalPrefixUnderscore (0.00s) === RUN TestBadXml ---------------- badxml_test.go TestBadXml ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXml (0.00s) === RUN TestBadXmlSeq TestBadXmlSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeq (0.00s) === RUN TestBadXmlReader TestBadXmlReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXmlReader (0.00s) === RUN TestBadXmlSeqReader TestBadXmlSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeqReader (0.00s) === RUN TestBom --------------- bom_test.go TestBom ... --- PASS: TestBom (0.00s) === RUN TestBomData TestBomData ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomData (0.00s) === RUN TestBomDataSeq TestBomDataSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeq (0.00s) === RUN TestBomDataReader TestBomDataReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomDataReader (0.00s) === RUN TestBomDataSeqReader TestBomDataSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeqReader (0.00s) === RUN TestBulkHeader ---------------- bulk_test.go ... --- PASS: TestBulkHeader (0.00s) === RUN TestXmlReader XmlReader, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReader, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReader, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReader (0.00s) === RUN TestJsonReader JsonReader, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReader, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReader, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value --- PASS: TestJsonReader (0.00s) === RUN TestBulkRawHeader ---------------- bulkraw_test.go ... --- PASS: TestBulkRawHeader (0.00s) === RUN TestXmlReaderRaw XmlReaderRaw, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReaderRaw, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReaderRaw, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by William H. Gaddis JR Won the National Book Award. [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReaderRaw (0.00s) === RUN TestJsonReaderRaw JsonReaderRaw, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReaderRaw, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReaderRaw, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value {"here":"we","put":"in","an":error} --- PASS: TestJsonReaderRaw (0.00s) === RUN TestHeader cast_test.go ---------- --- PASS: TestHeader (0.00s) === RUN TestCastDefault ------------ TestCastDefault ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastDefault (0.00s) === RUN TestCastTrue ------------ TestCastTrue ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":false, "true":true}, "float":3.14159625, "int":2019, "string":"string"}} --- PASS: TestCastTrue (0.00s) === RUN TestSetCheckTagToSkipFunc ------------ TestSetCheckTagToSkipFunc ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestSetCheckTagToSkipFunc (0.00s) === RUN TestCastValuesToFloat ------------ TestCastValuesToFloat(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastValuesToFloat (0.00s) === RUN TestCastValuesToBool ------------ TestCastValuesToBool(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestCastValuesToBool (0.00s) === RUN TestEscapeChars ================== TestEscapeChars s: "'<>& ss: "'<>& --- PASS: TestEscapeChars (0.00s) === RUN TestXMLEscapeChars ================== TestXMLEscapeChars s: "'<>& m: "'<>& --- PASS: TestXMLEscapeChars (0.00s) === RUN TestXMLEscapeChars2 ================== TestXMLEscapeChars2 "'<>& map[doc:map[simple:map[#text:"'<>& _attr1:an attribute]]] mv: "'<>& --- PASS: TestXMLEscapeChars2 (0.00s) === RUN TestXMLSeqEscapeChars ================== TestXMLSeqEscapeChars data: >0-2y m: map[doc:map[shortDescription:map[#seq:0 #text:>0-2y]]] m: >0-2y --- PASS: TestXMLSeqEscapeChars (0.00s) === RUN TestXMLSeqEscapeChars2 ================== TestXMLSeqEscapeChars2 data: >0-2y <10-15 m: map[doc:map[shortDescription:[map[#attr:map[test:map[#seq:0 #text:&something here]] #seq:0 #text:>0-2y] map[#attr:map[quote:map[#seq:1 #text:"] test:map[#seq:0 #text:something there]] #seq:1 #text:<10-15]]]] m: >0-2y <10-15 --- PASS: TestXMLSeqEscapeChars2 (0.00s) === RUN TestExists ------------ exists_test.go --- PASS: TestExists (0.00s) === RUN TestFilesHeader ---------------- files_test.go ... --- PASS: TestFilesHeader (0.00s) === RUN TestNewJsonFile NewMapsFromJsonFile() map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFile (0.00s) === RUN TestNewJsonFileRaw NewMapsFromJsonFileRaw() {map[a:test file:for files_test.go:case this:is] [123 34 116 104 105 115 34 58 34 105 115 34 44 34 97 34 58 34 116 101 115 116 34 44 34 102 105 108 101 34 58 34 102 111 114 34 44 34 102 105 108 101 115 95 116 101 115 116 46 103 111 34 58 34 99 97 115 101 34 125]} {map[JSON:values true:true two:2 with:just] [123 34 119 105 116 104 34 58 34 106 117 115 116 34 44 34 116 119 111 34 58 50 44 34 74 83 79 78 34 58 34 118 97 108 117 101 115 34 44 34 116 114 117 101 34 58 116 114 117 101 125]} caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFileRaw (0.00s) === RUN TestNewXmFile NewMapsFromXmlFile() map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFile (0.00s) === RUN TestNewXmFileRaw NewMapsFromXmlFileRaw() {map[doc:map[data:for files.go some:test]] [60 100 111 99 62 10 9 60 115 111 109 101 62 116 101 115 116 60 47 115 111 109 101 62 10 9 60 100 97 116 97 62 102 111 114 32 102 105 108 101 115 46 103 111 60 47 100 97 116 97 62 10 60 47 100 111 99 62]} {map[msg:map[another:doc for:test case just:some]] [10 60 109 115 103 62 10 9 60 106 117 115 116 62 115 111 109 101 60 47 106 117 115 116 62 10 9 60 97 110 111 116 104 101 114 62 100 111 99 60 47 97 110 111 116 104 101 114 62 10 9 60 102 111 114 62 116 101 115 116 32 99 97 115 101 60 47 102 111 114 62 10 60 47 109 115 103 62]} caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFileRaw (0.00s) === RUN TestMaps TestMaps() mvs: [map[a:test this:is] map[a:test this:is]] JsonString(): {"a":"test","this":"is"}{"a":"test","this":"is"} JsonStringIndent(): { "a": "test", "this": "is" } { "a": "test", "this": "is" } XmlString(): testistestis XmlStringIndent(): test is test is --- PASS: TestMaps (0.00s) === RUN TestJsonFile map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] files_test_dup.json written files_test_indent.json written --- PASS: TestJsonFile (0.00s) === RUN TestXmlFile map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] files_test_dup.xml written files_test_indent.xml written --- PASS: TestXmlFile (0.00s) === RUN TestSetGlobalKeyMapPrefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix --- PASS: TestSetGlobalKeyMapPrefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix (0.00s) === RUN TestGobHeader ---------------- gob_test.go ... --- PASS: TestGobHeader (0.00s) === RUN TestNewMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestNewMapGob (0.00s) === RUN TestMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestMapGob (0.00s) === RUN TestGobSymmetric mv: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] m : map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestGobSymmetric (0.00s) === RUN TestXmlCheckIsValid ================== TestXmlCheckIsValid map[:empty $invalid:hex$ entities:<>& nil:] map[$invalid:hex$ entities:<>& nil:] map[entities:<>& nil:] map[nil:] map[doc:map[elem:map[#seq:0 #text:element]]] --- PASS: TestXmlCheckIsValid (0.00s) === RUN TestJ2XHeader ---------------- j2x_test .go ... --- PASS: TestJ2XHeader (0.00s) === RUN TestJ2X j2x, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } j2x, m : map[key1:string key2:34 key3:true key4:unsafe: <>& key5:] j2x, xml : string34trueunsafe: <>& --- PASS: TestJ2X (0.00s) === RUN TestJsonHeader ---------------- json_test.go ... --- PASS: TestJsonHeader (0.00s) === RUN TestNewMapJson NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJson (0.00s) === RUN TestNewMapJsonNumber NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJsonNumber (0.00s) === RUN TestNewMapJsonError NewMapJsonError, jdata : { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null NewMapJsonError, merror: unexpected EOF NewMapJsonError, newData : { "this":"is", "in":error } NewMapJsonError, merror : invalid character 'e' looking for beginning of value --- PASS: TestNewMapJsonError (0.00s) === RUN TestNewMapJsonReader NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReader (0.00s) === RUN TestNewMapJsonReaderNumber NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReaderNumber (0.00s) === RUN TestJson Json, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } Json, j : {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&","key5":null} Json, j safe: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: \u003c\u003e\u0026","key5":null} --- PASS: TestJson (0.00s) === RUN TestJsonWriter JsonWriter, raw: {"and":"a","bool":true,"float":3.14159,"this":"is a"} JsonWriter, b : {"and":"a","bool":true,"float":3.14159,"this":"is a"} --- PASS: TestJsonWriter (0.00s) === RUN TestToLower -------------- keystolower_test.go TestToLower ... --- PASS: TestToLower (0.00s) === RUN TestSetSubkeyFieldSeparator ----------- TestSetSubkeyFieldSeparator --- PASS: TestSetSubkeyFieldSeparator (0.00s) === RUN TestKVHeader ---------------- keyvalues_test.go ... --- PASS: TestKVHeader (0.00s) === RUN TestPathsForKey PathsForKey, doc1 ... PathsForKey, doc1#author ... ss: [doc.books.book.author] PathsForKey, doc1#books ... ss: [doc.books] PathsForKey, doc2 ... PathForKey, doc2#book ... ss: [doc.book doc.books.book] PathForKeyShortest, doc2#book ... s : doc.book --- PASS: TestPathsForKey (0.00s) === RUN TestValuesForKey ValuesForKey ... ValuesForKey, doc1#author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForKey, doc1#book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForKey, doc1#book,-seq:3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForKey, doc1#book, author:William T. Gaddis ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ValuesForKey, doc1#author, -seq:1 --- PASS: TestValuesForKey (0.00s) === RUN TestValuesForPath ValuesForPath ... ValuesForPath, doc.books.book.author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForPath, doc.books.book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.books.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.*.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] --- PASS: TestValuesForPath (0.01s) === RUN TestValuesForNotKey ValuesForNotKey ... ValuesForPath, doc.books.book !author:William T. Gaddis ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book !author:* ValuesForPath, doc.books.book !unknown:* ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] --- PASS: TestValuesForNotKey (0.00s) === RUN TestIAHeader ---------------- indexedarray_test.go ... --- PASS: TestIAHeader (0.00s) === RUN TestValuesForIndexedArray j_data: { "stuff":[ { "data":[ { "F":1 }, { "F":2 }, { "F":3 } ] }, { "data":[ 4, 5, 6 ] } ] } m: map[stuff:[map[data:[map[F:1] map[F:2] map[F:3]]] map[data:[4 5 6]]]] stuff[0]: [map[data:[map[F:1] map[F:2] map[F:3]]]] stuff.data: [map[F:1] map[F:2] map[F:3] 4 5 6] stuff[0].data: [map[F:1] map[F:2] map[F:3]] stuff.data[0]: [map[F:1] 4] stuff.*[2]: [map[F:3] 6] stuff.data.F: [1 2 3] *.*.F: [1 2 3] stuff.data[0].F: [1] stuff.data[1].F: [2] stuff[0].data[2]: [map[F:3]] stuff[1].data[1]: [5] stuff[1].data[1].F [] stuff[1].data.F: [] x_data: 1 2 3 4 5 6 m: map[doc:map[stuff:[map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]] map[data:[map[-seq:2.1 F:4] map[-seq:2.2 F:5] map[-seq:2.3 F:6]]]]]] doc.stuff[0]: [map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]]] doc.stuff.data[0]: [map[-seq:1.1 F:1] map[-seq:2.1 F:4]] doc.stuff.data[0] -seq:2.1: [map[-seq:2.1 F:4]] doc.stuff.data[0].F: [1 4] doc.stuff[0].data[2]: [map[-seq:1.3 F:3]] doc.stuff[1].data[1].F: [5] ak_data: { "section1":{"data" : [{"F1" : "F1 data","F2" : "F2 data"},{"F1" : "demo 123","F2" : "abc xyz"}]}} m: map[section1:map[data:[map[F1:F1 data F2:F2 data] map[F1:demo 123 F2:abc xyz]]]] section1.data[0].F1: [F1 data] --- PASS: TestValuesForIndexedArray (0.00s) === RUN TestValueForPath --- PASS: TestValueForPath (0.00s) === RUN TestValueForPathString --- PASS: TestValueForPathString (0.00s) === RUN TestValueForPathError --- PASS: TestValueForPathError (0.00s) === RUN TestValueForKey --- PASS: TestValueForKey (0.00s) === RUN TestValueForKeyError --- PASS: TestValueForKeyError (0.00s) === RUN TestLNHeader ---------------- leafnode_test.go ... --- PASS: TestLNHeader (0.00s) === RUN TestLeafNodes json1-LeafNodes: mxj.LeafNode{Path:"friends[0].skills[0]", Value:44} mxj.LeafNode{Path:"friends[0].skills[1]", Value:12} json1-LeafPaths: "friends[0].skills[0]" "friends[0].skills[1]" json2-LeafNodes: mxj.LeafNode{Path:"friends.skills[0]", Value:44} mxj.LeafNode{Path:"friends.skills[1]", Value:12} json1-LeafValues: 44 12 json3-LeafNodes: mxj.LeafNode{Path:"of[0]", Value:"data"} mxj.LeafNode{Path:"of[1]", Value:"of"} mxj.LeafNode{Path:"of[2]", Value:3} mxj.LeafNode{Path:"of[3]", Value:"types"} mxj.LeafNode{Path:"of[4]", Value:true} mxj.LeafNode{Path:"a", Value:"list"} json3-LeafValues: "list" "data" "of" 3 "types" true json3-LeafPaths: "a" "of[0]" "of[1]" "of[2]" "of[3]" "of[4]" xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].-num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].-color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].-num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].-color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].-side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].-side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].-length", Value:"3.6"} xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} no-hyphen-xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} no-hyphen-xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} --- PASS: TestLeafNodes (0.00s) === RUN TestLeafDotNotation DotNotation-LeafValues: mxj.LeafNode{Path:"doc.item.0.-num", Value:"2"} mxj.LeafNode{Path:"doc.item.0.-color", Value:"blue"} mxj.LeafNode{Path:"doc.item.0.#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item.1.-num", Value:"3"} mxj.LeafNode{Path:"doc.item.1.-color", Value:"green"} mxj.LeafNode{Path:"doc.item.1.arm.0.-side", Value:"left"} mxj.LeafNode{Path:"doc.item.1.arm.0.-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item.1.arm.1.-length", Value:"3.6"} mxj.LeafNode{Path:"doc.item.1.arm.1.-side", Value:"right"} --- PASS: TestLeafDotNotation (0.00s) === RUN TestMisc ------------------ misc_test.go ... --- PASS: TestMisc (0.00s) === RUN TestRoot --- PASS: TestRoot (0.00s) === RUN TestElements --- PASS: TestElements (0.00s) === RUN TestAttributes --- PASS: TestAttributes (0.00s) === RUN TestElementsAttrPrefix --- PASS: TestElementsAttrPrefix (0.00s) === RUN TestAttributesAttrPrefix --- PASS: TestAttributesAttrPrefix (0.00s) === RUN TestElementsNoAttrPrefix --- PASS: TestElementsNoAttrPrefix (0.00s) === RUN TestAttributesNoAttrPrefix --- PASS: TestAttributesNoAttrPrefix (0.00s) === RUN TestPreserveSpaceDisableByDefault === RUN TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values === RUN TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false --- PASS: TestPreserveSpaceDisableByDefault (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false (0.00s) === RUN TestMxjHeader ---------------- mxj_test.go ... --- PASS: TestMxjHeader (0.00s) === RUN TestMap TestMap, m: mxj.Map{"key":"value", "newkey":map[string]interface {}{"bool":true, "float":3.14159, "listkey":[]interface {}{3.1415962535, false, "for all good men"}, "string":"Now is the time"}} TestMap, StringIndent - key : [string] value newkey : bool : [bool] true float : [float64] 3.14159 listkey : [[]interface{}] [float64] 3.1415962535 [bool] false [string] for all good men string : [string] Now is the time TestMap, StringIndent NoTypeInfo - key : value newkey : bool : true float : 3.14159 listkey : 3.1415962535 false for all good men string : Now is the time TestMap, m_fromXML: mxj.Map{"doc":map[string]interface {}{"tag":map[string]interface {}{"sub_tag1":"Hello", "sub_tag2":"World"}}} TestMap, StringIndent - doc : tag : sub_tag1 : [string] Hello sub_tag2 : [string] World TestMap, StringIndent NoTypeInfo - doc : tag : sub_tag1 : Hello sub_tag2 : World TestMap, m.Copy() - map[doc:map[tag:map[sub_tag1:Hello sub_tag2:World]]] --- PASS: TestMap (0.00s) === RUN TestNamespaceHeader ---------------- namespace_test.go ... --- PASS: TestNamespaceHeader (0.00s) === RUN TestBeautifyXml ---------------- TestBeautifyXml ... 123John Brown 123 John Brown --- PASS: TestBeautifyXml (0.00s) === RUN TestNan ------------ TestNan ... foo.bar: NAN --- PASS: TestNan (0.00s) === RUN TestInf foo.bar: INF --- PASS: TestInf (0.00s) === RUN TestMinusInf foo.bar: -INF --- PASS: TestMinusInf (0.00s) === RUN TestCastNanInf foo.bar: NaN --- PASS: TestCastNanInf (0.00s) === RUN TestNewMapHeader ---------------- newmap_test.go ... --- PASS: TestNewMapHeader (0.00s) === RUN TestNewMap j: { "A":"this", "B":"is", "C":"a", "D":"test" } m: mxj.Map{"A":"this", "B":"is", "C":"a", "D":"test"} eval - m.NewMap("A:AA", "B:BB", "C:cc", "D:help") n.Json(): {"AA":"this","BB":"is","cc":"a","help":"test"} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap("A:AA.A", "B:AA.B", "C:AA.B.cc", "D:hello.help") n.Json(): {"AA":{"A":"this","B":["is",{"cc":"a"}]},"hello":{"help":"test"}} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap keypairs: [A:xml.AA B:xml.AA.hello.again C:xml.AA D:xml.AA.hello.help] n.Json(): {"xml":{"AA":["this",{"hello":{"again":"is","help":"test"}},"a"]}} n.Xml(): thisistesta n.XmlIndent(): this is test a --- PASS: TestNewMap (0.00s) === RUN TestNetId original value: no default:text default:word new value: no default:text default:word original value: yes default:text default:word new value: yes default:text default:word --- PASS: TestNetId (0.00s) === RUN TestRemove --- PASS: TestRemove (0.00s) === RUN TestRenameKey ------------ rename_test.go --- PASS: TestRenameKey (0.00s) === RUN TestSeqNumHeader ---------------- seqnum_test.go ... --- PASS: TestSeqNumHeader (0.00s) === RUN TestSeqNum m1: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "IntObj1":map[string]interface {}{"-id":1, "_seq":1}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "IntObj1": { "-id": 1, "_seq": 1 } } } m2: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "NewObj":map[string]interface {}{"BoolObj":map[string]interface {}{"#text":true, "_seq":2}, "StringObj":map[string]interface {}{"#text":"hello", "_seq":1}, "_seq":1, "id":map[string]interface {}{"#text":1, "_seq":0}}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "NewObj": { "BoolObj": { "#text": true, "_seq": 2 }, "StringObj": { "#text": "hello", "_seq": 1 }, "_seq": 1, "id": { "#text": 1, "_seq": 0 } } } } --- PASS: TestSeqNum (0.00s) === RUN TestSetValueForPath --- PASS: TestSetValueForPath (0.00s) === RUN TestStakeCase ----------- TestSnakeCase --- PASS: TestStakeCase (0.00s) === RUN TestStrictModeXml ----------------- TestStrictModeXml ... m: map[document:map[goes_by: lang:E name:Bill & Hallett salute:Duc & 123xx]] --- PASS: TestStrictModeXml (0.00s) === RUN TestStrictModeXmlSeq ----------------- TestStrictModeXmlSeq ... m: map[document:map[goes_by:map[#seq:2 #text:] lang:map[#seq:3 #text:E] name:map[#seq:0 #text:Bill & Hallett] salute:map[#seq:1 #text:Duc & 123xx]]] --- PASS: TestStrictModeXmlSeq (0.00s) === RUN TestStrictModeFail ----------------- TestStrictFail ... OK --- PASS: TestStrictModeFail (0.00s) === RUN TestStructHeader ---------------- struct_test.go ... --- PASS: TestStructHeader (0.00s) === RUN TestStruct Struct, m: mxj.Map{"bool":true, "float":3.14159, "int":4, "private":"Somewhere over the rainbow", "str":"now's the time"} Struct, s: mxj.str{IntVal:4, StrVal:"now's the time", FloatVal:3.14159, BoolVal:true, private:""} --- PASS: TestStruct (0.00s) === RUN TestStructError StructError, mverr: mv.Struct() error: argument is not type Ptr --- PASS: TestStructError (0.00s) === RUN TestStructValue ----------------- structvalue_test.go ... --- PASS: TestStructValue (0.00s) === RUN TestUVHeader ---------------- updatevalues_test.go ... --- PASS: TestUVHeader (0.00s) === RUN TestUpdateValuesForPath_Author m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] v: William T. Gaddis v: Austin Tappan Wright v: John Hawkes v: map[first_name:T.E. last_name:Porter] m.UpdateValuesForPath("author:NoName", "doc.books.book.author") 4 updates v: NoName v: NoName v: NoName v: NoName m.UpdateValuesForPath("author:William Gadddis", "doc.books.book.author", "title:The Recognitions") 4 updates v: William Gadddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("author:William T. Gaddis", "doc.books.book.*", "title:The Recognitions") 1 updates v: William T. Gaddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("title:The Cannibal", "doc.books.book.title", "author:John Hawkes") 2 updates v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] v: map[-seq:2 author:Austin Tappen Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] v: map[-seq:3 author:John Hawkes review:A novel on his experiences in WWII. title:The Cannibal] v: map[-seq:4 author:T. E. Porter review:A magical novella. title:King's Day] m.UpdateValuesForPath("books:", "doc.books") 1 updates m: map[doc:map[books:]] m.UpdateValuesForPath(mm, "*") 1 updates m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] newDoc: simple element m: map[tag:map[#text:simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:maybe not so simple element", "tag") n: 1 m: map[tag:map[#text:maybe not so simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:simple element again", "*") n: 1 m: map[tag:map[#text:simple element again -color:green -shape:square]] --- PASS: TestUpdateValuesForPath_Author (0.00s) === RUN TestAuthorDoc biblio : author : [[]interface{}] books : book : [[]interface{}] date : [string] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [string] 1975 review : [string] Winner of National Book Award for Fiction. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [string] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [string] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [string] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes m.UpdateValuesForPath("review:National Book Award winner.", "*.*.*.*", "title:JR") 1 updates v: map[books:map[book:[map[date:1955 review:A novel that changed the face of American literature. title:The Recognitions] map[date:1975 review:National Book Award winner. title:JR]]] name:William Gaddis] m.UpdateValuesForPath(newVal, path, oldVal) 5 updates biblio : author : [[]interface{}] books : book : [[]interface{}] date : [float64] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [float64] 1975 review : [string] National Book Award winner. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [float64] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [float64] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [float64] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes --- PASS: TestAuthorDoc (0.00s) === RUN TestXml2Header ---------------- xml2_test.go ... --- PASS: TestXml2Header (0.00s) === RUN TestNewMapXml4 NewMapXml4, x: William T. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXml4, m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] NewMapXml4, s: doc : books : book : [[]interface{}] -seq : [string] 1 author : [string] William T. Gaddis review : [string] One of the great seminal American novels of the 20th century. title : [string] The Recognitions -seq : [string] 2 author : [string] Austin Tappan Wright review : [string] An example of earlier 20th century American utopian fiction. title : [string] Islandia -seq : [string] 3 author : [string] John Hawkes review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg -seq : [string] 4 author : first_name : [string] T.E. last_name : [string] Porter review : [string] A magical novella. title : [string] King's Day NewMapXml4, b: William T. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day --- PASS: TestNewMapXml4 (0.00s) === RUN TestNewMapXml5 NewMapXml5, raw: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day NewMapXml5, m: map[msg:map[-mpriority:1 -mtype:alert song:map[-author:Mayer Hawthorne -title:A Long Time chorus:map[line:[map[#text:It's going to take a long time -no:1] map[#text:It's going to take it, but we'll make it one day -no:2] map[#text:It's going to take a long time -no:3] map[#text:It's going to take it, but we'll make it one day -no:4]]] verses:map[verse:[map[-name:verse 1 -no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2] map[#text:One component at a time -no:3] map[#text:There's got to be a better way -no:4] map[#text:Oh, people came from miles around -no:5] map[#text:Searching for a steady job -no:6] map[#text:Welcome to the Motor Town -no:7] map[#text:Booming like an atom bomb -no:8]]] map[-name:verse 2 -no:2 line:[map[#text:Oh, Henry was the end of the story -no:1] map[#text:Then everything went wrong -no:2] map[#text:And we'll return it to its former glory -no:3] map[#text:But it just takes so long -no:4]]]]]] text:help me!]] NewMapXml5, s: msg : -mpriority : [string] 1 -mtype : [string] alert song : -author : [string] Mayer Hawthorne -title : [string] A Long Time chorus : line : [[]interface{}] #text : [string] It's going to take a long time -no : [string] 1 #text : [string] It's going to take it, but we'll make it one day -no : [string] 2 #text : [string] It's going to take a long time -no : [string] 3 #text : [string] It's going to take it, but we'll make it one day -no : [string] 4 verses : verse : [[]interface{}] -name : [string] verse 1 -no : [string] 1 line : [[]interface{}] #text : [string] Henry was a renegade -no : [string] 1 #text : [string] Didn't like to play it safe -no : [string] 2 #text : [string] One component at a time -no : [string] 3 #text : [string] There's got to be a better way -no : [string] 4 #text : [string] Oh, people came from miles around -no : [string] 5 #text : [string] Searching for a steady job -no : [string] 6 #text : [string] Welcome to the Motor Town -no : [string] 7 #text : [string] Booming like an atom bomb -no : [string] 8 -name : [string] verse 2 -no : [string] 2 line : [[]interface{}] #text : [string] Oh, Henry was the end of the story -no : [string] 1 #text : [string] Then everything went wrong -no : [string] 2 #text : [string] And we'll return it to its former glory -no : [string] 3 #text : [string] But it just takes so long -no : [string] 4 text : [string] help me! NewMapXml5, b: It's going to take a long timeIt's going to take it, but we'll make it one dayIt's going to take a long timeIt's going to take it, but we'll make it one dayHenry was a renegadeDidn't like to play it safeOne component at a timeThere's got to be a better wayOh, people came from miles aroundSearching for a steady jobWelcome to the Motor TownBooming like an atom bombOh, Henry was the end of the storyThen everything went wrongAnd we'll return it to its former gloryBut it just takes so longhelp me! NewMapXml5, b: It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long help me! --- PASS: TestNewMapXml5 (0.00s) === RUN TestNewMapXml6 NewMapXml6, raw: Code Review - My issueshttp://codereview.appspot.com/rietveld<>rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a &lt;link rel=&quot;hub&quot; href=&quot;hub-server&quot;&gt; tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can&#39;t quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed&#39;s actual URL in the link rel=&quot;self&quot;, but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: correct tab handling 2009-10-03T23:02:17+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn&#39;t know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. NewMapXml6, m: map[feed:map[-lang:en-us -updated:2009-10-04T01:35:58+00:00 -xmlns:http://www.w3.org/2005/Atom author:map[name:rietveld<>] entry:[map[author:map[name:email-address-removed] id:urn:md5:134d9179c41f806be79b3a5f7877d19a link:map[-href:http://codereview.appspot.com/126085 -rel:alternate] summary:map[#text:An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type:html] title:rietveld: an attempt at pubsubhubbub updated:2009-10-04T01:35:58+00:00] map[author:map[name:email-address-removed] id:urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link:map[-href:http://codereview.appspot.com/124106 -rel:alternate] summary:map[#text:This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type:html] title:rietveld: correct tab handling updated:2009-10-03T23:02:17+00:00]] id:http://codereview.appspot.com/ link:[map[-href:http://codereview.appspot.com/ -rel:alternate] map[-href:http://codereview.appspot.com/rss/mine/rsc -rel:self]] title:Code Review - My issues]] NewMapXml6, s: feed : -lang : [string] en-us -updated : [string] 2009-10-04T01:35:58+00:00 -xmlns : [string] http://www.w3.org/2005/Atom author : name : [string] rietveld<> entry : [[]interface{}] author : name : [string] email-address-removed id : [string] urn:md5:134d9179c41f806be79b3a5f7877d19a link : -href : [string] http://codereview.appspot.com/126085 -rel : [string] alternate summary : #text : [string] An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type : [string] html title : [string] rietveld: an attempt at pubsubhubbub updated : [string] 2009-10-04T01:35:58+00:00 author : name : [string] email-address-removed id : [string] urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link : -href : [string] http://codereview.appspot.com/124106 -rel : [string] alternate summary : #text : [string] This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type : [string] html title : [string] rietveld: correct tab handling updated : [string] 2009-10-03T23:02:17+00:00 id : [string] http://codereview.appspot.com/ link : [[]interface{}] -href : [string] http://codereview.appspot.com/ -rel : [string] alternate -href : [string] http://codereview.appspot.com/rss/mine/rsc -rel : [string] self title : [string] Code Review - My issues NewMapXml6, b: rietveld<>email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19aAn attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc).rietveld: an attempt at pubsubhubbub2009-10-04T01:35:58+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35aThis fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py.rietveld: correct tab handling2009-10-03T23:02:17+00:00http://codereview.appspot.com/Code Review - My issues NewMapXml6, b: rietveld<> email-address-removed urn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00 email-address-removed urn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. rietveld: correct tab handling 2009-10-03T23:02:17+00:00 http://codereview.appspot.com/ Code Review - My issues --- PASS: TestNewMapXml6 (0.00s) === RUN TestXml3 ------------ xml3_test.go --- PASS: TestXml3 (0.00s) === RUN TestOnlyAttributes ========== TestOnlyAttributes
--- PASS: TestOnlyAttributes (0.00s) === RUN TestOnlyAttributesSeq ========== TestOnlyAttributesSeq
--- PASS: TestOnlyAttributesSeq (0.00s) === RUN TestDecodeSimpleValuesAsMap ========== TestDecodeSimpleValuesAsMap xml: 30102 Mini Drone Inteligente - Branco 149.90 m : map[item:map[id:map[#text:30102] price:map[#text:149.90 -unit:BRL] title:map[#text:Mini Drone Inteligente - Branco]]] ========== (default) m : map[item:map[id:30102 price:map[#text:149.90 -unit:BRL] title:Mini Drone Inteligente - Branco]] --- PASS: TestDecodeSimpleValuesAsMap (0.00s) === RUN TestXmlHeader ---------------- xml_test.go ... --- PASS: TestXmlHeader (0.00s) === RUN TestNewMapXml --- PASS: TestNewMapXml (0.00s) === RUN TestAttrHyphenFalse --- PASS: TestAttrHyphenFalse (0.00s) === RUN TestNewMapXmlError --- PASS: TestNewMapXmlError (0.00s) === RUN TestNewMapXmlReader ==================== TestNewMapXmlReader ... NewMapXmlReader, raw: is a test NewMapXmlReader, m : map[root:map[this:is a test]] NewMapXmlReader, raw: something more12 NewMapXmlReader, m : map[root2:map[list:map[item:[1 2]] newtag:something more]] --- PASS: TestNewMapXmlReader (0.00s) === RUN TestXml_1 Xml_1, mv: map[boolean:true float:3.14159625 null: tag1:some data tag2:more data] Xml_1, x : true3.14159625some datamore data --- PASS: TestXml_1 (0.00s) === RUN TestXml_2 Xml_2, mv: map[array:[string true 36.4]] Xml_2, x : stringtrue36.4 --- PASS: TestXml_2 (0.00s) === RUN TestXml_3 Xml_3, mv: map[array:[[string true 36.4] string2]] Xml_3, x : stringtrue36.4string2 --- PASS: TestXml_3 (0.00s) === RUN TestXml_4 Xml_4, mv: map[array:map[innerkey:[[string true 36.4] string2]]] Xml_4, x : stringtrue36.4string2 --- PASS: TestXml_4 (0.00s) === RUN TestXml_5 Xml_5, mv: map[array:[map[innerkey:[[string true 36.4] string2]] map[some:more]]] Xml_5, x : stringtrue36.4string2more --- PASS: TestXml_5 (0.00s) === RUN TestXml_Strings Xml_strings, mv: map[sometag:some data strings:[string1 string2]] Xml_strings, x : some datastring1string2 --- PASS: TestXml_Strings (0.00s) === RUN TestXmlWriter XmlWriter, b : true3.14159625some datamore data --- PASS: TestXmlWriter (0.00s) === RUN TestXmlSeqHeader ---------------- xmlseq_test.go ... --- PASS: TestXmlSeqHeader (0.00s) === RUN TestNewMapXmlSeq NewMapXmlSeq, x: William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXmlSeq, s: doc : books : #seq : [int] 0 book : [[]interface{}] #attr : seq : #seq : [int] 0 #text : [string] 1 #comment : #seq : [int] 3 #text : [string] here's the rest of the review #seq : [int] 0 author : #seq : [int] 0 #text : [string] William T. Gaddis review : [[]interface{}] #seq : [int] 1 #text : [string] Gaddis is one of the most influential but little know authors in America. #seq : [int] 4 #text : [string] One of the great seminal American novels of the 20th century. #seq : [int] 5 #text : [string] Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. title : #seq : [int] 2 #text : [string] The Recognitions #attr : seq : #seq : [int] 0 #text : [string] 2 #seq : [int] 1 author : #seq : [int] 0 #text : [string] Austin Tappan Wright review : #seq : [int] 2 #text : [string] An example of earlier 20th century American utopian fiction. title : #seq : [int] 1 #text : [string] Islandia #directive : #seq : [int] 2 #text : [string] throw in a directive here #seq : [int] 2 author : #seq : [int] 0 #text : [string] John Hawkes review : #seq : [int] 3 #text : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : #seq : [int] 1 #text : [string] The Beetle Leg #seq : [int] 3 author : #procinst : #inst : [string] first_name last_name #seq : [int] 0 #target : [string] cat #seq : [int] 0 first_name : #seq : [int] 1 #text : [string] T.E. last_name : #seq : [int] 2 #text : [string] Porter review : #seq : [int] 2 #text : [string] A magical novella. title : #seq : [int] 1 #text : [string] King's Day NewMapXmlSeq, msv.XmlIndent(): William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. --- PASS: TestNewMapXmlSeq (0.00s) === RUN TestXmlSeqDecodeError ------------ TestXmlSeqDecodeError ... err ok: element book not properly terminated, got books at #461 --- PASS: TestXmlSeqDecodeError (0.00s) === RUN TestNewMapXmlSeqWhiteSpace === RUN TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing --- PASS: TestNewMapXmlSeqWhiteSpace (0.00s) --- PASS: TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing (0.00s) === RUN TestXMPPStreamTag ----------- TestXMPPStreamTag ... map[stream:map[-from:example.com -stream:http://etherx.jabber.org/streams -version:1.0 -xmlns:jabber:client]] map[features:map[bind:map[-xmlns:urn:ietf:params:xml:ns:xmpp-bind] sm:map[-xmlns:urn:xmpp:sm:3]]] map[stream:map[]] --- PASS: TestXMPPStreamTag (0.00s) === RUN TestXMPPStreamTagSeq ----------- TestXMPPStreamTagSeq ... map[stream:stream:map[#attr:map[from:map[#seq:0 #text:example.com] version:map[#seq:3 #text:1.0] xmlns:map[#seq:1 #text:jabber:client] xmlns:stream:map[#seq:2 #text:http://etherx.jabber.org/streams]]]] map[stream:features:map[bind:map[#attr:map[xmlns:map[#seq:0 #text:urn:ietf:params:xml:ns:xmpp-bind]] #seq:0] sm:map[#attr:map[xmlns:map[#seq:0 #text:urn:xmpp:sm:3]] #seq:1]]] map[stream:stream:map[]] --- PASS: TestXMPPStreamTagSeq (0.00s) PASS ok github.com/clbanning/mxj/v2 0.058s === RUN TestJsonToXml_1 [{"some-null-value":"", "a-non-null-value":"bar"}] xmloutput: bar --- PASS: TestJsonToXml_1 (0.00s) === RUN TestJsonToXml_2 {"somekey":[{"value":"1st"},{"value":"2nd"}]} xmloutput: 1st2nd --- PASS: TestJsonToXml_2 (0.00s) PASS ok github.com/clbanning/mxj/v2/j2x 0.028s === RUN TestGoofy TestGoofy ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} TestGoofier ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofierVal:0x400007f2c0 goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofierVal":{"G":{"S":"Now is the time for","Sp":"all good men to come to"},"B":"dGhlIHRyZWUgb2YgZnJlZWRvbSBtdXN0IHBlcmlvZGljYWxseSBiZQ==","N":null},"goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} --- PASS: TestGoofy (0.00s) === RUN TestToMap ToMap - Read doc: barworld entry : vars : foo :[string] bar foo2 : hello :[string] world --- PASS: TestToMap (0.00s) === RUN TestToJson ToJson - Read doc: barworld json: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestToJson (0.00s) === RUN TestToJsonIndent ToJsonIndent - Read doc: barworld json: { "entry": { "vars": { "foo": "bar", "foo2": { "hello": "world" } } } } --- PASS: TestToJsonIndent (0.00s) === RUN TestBulkParser BulkParser (with error) - Read doc: barworldanbarworld phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] --- PASS: TestBulkParser (0.00s) === RUN TestBulkParserToJson BulkParser (with error) - Read doc: barworldanbarworld phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestBulkParserToJson (0.00s) === RUN TestX2j ================================ x2j_test.go ... =================== TestX2j ... XML doc: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day DocToMap(), recast==true: msg : -mtype :[string] alert -mpriority :[float64] 1.00e+00 text :[string] help me! song : -author :[string] Mayer Hawthorne verses : verse :[[]interface{}] [item: 0] -name :[string] verse 1 -no :[float64] 1.00e+00 line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] Henry was a renegade [item: 1] -no :[float64] 2.00e+00 #text :[string] Didn't like to play it safe [item: 2] -no :[float64] 3.00e+00 #text :[string] One component at a time [item: 3] #text :[string] There's got to be a better way -no :[float64] 4.00e+00 [item: 4] -no :[float64] 5.00e+00 #text :[string] Oh, people came from miles around [item: 5] #text :[string] Searching for a steady job -no :[float64] 6.00e+00 [item: 6] -no :[float64] 7.00e+00 #text :[string] Welcome to the Motor Town [item: 7] -no :[float64] 8.00e+00 #text :[string] Booming like an atom bomb [item: 1] -name :[string] verse 2 -no :[float64] 2.00e+00 line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] Oh, Henry was the end of the story [item: 1] -no :[float64] 2.00e+00 #text :[string] Then everything went wrong [item: 2] -no :[float64] 3.00e+00 #text :[string] And we'll return it to its former glory [item: 3] -no :[float64] 4.00e+00 #text :[string] But it just takes so long chorus : line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] It's going to take a long time [item: 1] -no :[float64] 2.00e+00 #text :[string] It's going to take it, but we'll make it one day [item: 2] -no :[float64] 3.00e+00 #text :[string] It's going to take a long time [item: 3] #text :[string] It's going to take it, but we'll make it one day -no :[float64] 4.00e+00 -title :[string] A Long Time DocToJsonIndent, recast==true: { "msg": { "-mpriority": 1, "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": 1 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 2 }, { "#text": "It's going to take a long time", "-no": 3 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 4 } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": 1, "line": [ { "#text": "Henry was a renegade", "-no": 1 }, { "#text": "Didn't like to play it safe", "-no": 2 }, { "#text": "One component at a time", "-no": 3 }, { "#text": "There's got to be a better way", "-no": 4 }, { "#text": "Oh, people came from miles around", "-no": 5 }, { "#text": "Searching for a steady job", "-no": 6 }, { "#text": "Welcome to the Motor Town", "-no": 7 }, { "#text": "Booming like an atom bomb", "-no": 8 } ] }, { "-name": "verse 2", "-no": 2, "line": [ { "#text": "Oh, Henry was the end of the story", "-no": 1 }, { "#text": "Then everything went wrong", "-no": 2 }, { "#text": "And we'll return it to its former glory", "-no": 3 }, { "#text": "But it just takes so long", "-no": 4 } ] } ] } }, "text": "help me!" } } --- PASS: TestX2j (0.00s) === RUN TestGetValue =================== TestGetValue ... Read doc: barworld Looking for value: entry.vars { "foo": "bar", "foo2": { "hello": "world" } } Looking for value: entry.vars.foo2.hello world Looking with error in path: entry.var verr: no key in map: var DocValue() for tag path entry.vars { "foo": "bar", "foo2": { "hello": "world" } } --- PASS: TestGetValue (0.00s) === RUN TestGetValueWithAttr =================== TestGetValueWithAttr ... Read doc: bar world universe Looking for value: entry.vars { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } MapValue(): Looking for value: entry.vars.foo item=2 { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } MapValue(): Looking for hello item:4 verr: no key in map: hello DocValue(): Looking for entry.vars.foo.hello item:4 verr: no keys beyond: foo DocValue(): Looking for empty nil { "entry": { "vars": { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } } } testing recast switch... MapValue(): Looking for value: entry.vars.foo item=2 { "-item": 2, "hello": [ { "#text": "world", "-item": 3 }, { "#text": "universe", "-item": 4 } ] } --- PASS: TestGetValueWithAttr (0.00s) === RUN TestStuff_1 =================== TestStuff_1 ... val2 val2 val3 doc : tag :[[]interface{}] [item: 0] -item :[string] 1 #text :[string] val2 [item: 1] -item :[string] 2 #text :[string] val2 [item: 2] -item :[string] 2 -instance :[string] 2 #text :[string] val3 DocValue(): tag [ { "#text": "val2", "-item": "1" }, { "#text": "val2", "-item": "2" }, { "#text": "val3", "-instance": "2", "-item": "2" } ] DocValue(): item:2 instance:2 "val3" --- PASS: TestStuff_1 (0.00s) === RUN TestStuff_2 =================== TestStuff_2 ... val2 val2 val3 tag : -item :[string] 1 #text :[string] val2 DocValue(): tag { "#text": "val2", "-item": "1" } DocValue(): item:2 instance:2 verr: no attribute key:value pair: item:2 --- PASS: TestStuff_2 (0.00s) === RUN TestBulk =================== TestBulkBuffer ... Bulk Message Processing Tests procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] }, { "-name": "verse 2", "-no": "2", "line": [ { "#text": "Oh, Henry was the end of the story", "-no": "1" }, { "#text": "Then everything went wrong", "-no": "2" }, { "#text": "And we'll return it to its former glory", "-no": "3" }, { "#text": "But it just takes so long", "-no": "4" } ] } ] } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "verses": { "verse": { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] } } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] } }, "text": "help me!" } } procError err: xml.Decoder.Token() - XML syntax error on line 1: element closed by procError err: xml.Decoder.Token() - XML syntax error on line 1: unexpected end element --- PASS: TestBulk (0.00s) === RUN TestTagAndKey =================== TestTagAndKey ... TestTagAndKey()
one
two.one two.two
one
two
tag: parts :: len: 2 v: [map[part:[two.one two.two]] map[sections:map[section:[one two]]]] no 'not_a_tag' tag key: section :: len: 2 v: [[one map[parts:map[part:[two.one two.two]]]] [one two]] no 'not_a_key' key --- PASS: TestTagAndKey (0.00s) === RUN TestValuesAtKeyPath ============================ x2jat_test.go =============== TestValuesAtKeyPath ... ValuesAtKeyPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtKeyPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] GetKeyPaths...doc2#book ss: [doc.books.author.book doc.books.author.books.book] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] ValuesAtKeyPath ... msg1#pub ss: [msg.pub] vv: [map[pub:test text:This is a long cold winter]] ValuesAtKeyPath ... msg2#pub ss: [msgs.msg.pub] vv: [map[pub:test text:This is a long cold winter] map[pub:test2 text:I hope we have a cool summer, though]] --- PASS: TestValuesAtKeyPath (0.00s) === RUN TestValuesAtTagPath =============== TestValuesAtTagPath ... ValuesAtTagPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtTagPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] ValuesAtTagPath...doc2#book ss: [doc.books.author.book doc.books.author.books.book] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] --- PASS: TestValuesAtTagPath (0.00s) === RUN TestPathsForKey ================================ x2jfindPath_test.go =============== TestPathsForKey ... PathsForKey... doc01#author ss: [doc.books.book.author] PathsForKey... doc01#books ss: [doc.books] PathsForKey...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForKeyShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForKey (0.00s) === RUN TestPathsForTag =============== TestPathsForTag ... PathsForTag... doc01#author ss: [doc.books.book.author] PathsForTag... doc01#books ss: [doc.books] PathsForTag...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForTagShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForTag (0.00s) === RUN TestValuesFromTagPath TestValuesFromTagPath() William H. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. map: doc : books : book :[[]interface{}] [item: 0] -seq :[string] 1 author :[string] William H. Gaddis title :[string] The Recognitions review :[string] One of the great seminal American novels of the 20th century. [item: 1] -seq :[string] 2 author :[string] Austin Tappan Wright title :[string] Islandia review :[string] An example of earlier 20th century American utopian fiction. [item: 2] -seq :[string] 3 author :[string] John Hawkes title :[string] The Beetle Leg review :[string] A lyrical novel about the construction of Ft. Peck Dam in Montana. [item: 3] -seq :[string] 4 author : first_name :[string] T.E. last_name :[string] Porter title :[string] King's Day review :[string] A magical novella. path == doc.books: len(v): 1 0 : map[book:[map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]] path == doc.books.*: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] path == doc.books.book: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] doc == doc2 / path == doc.books.book: len(v): 1 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] path == doc.books.book.*: len(v): 12 0 : One of the great seminal American novels of the 20th century. 1 : William H. Gaddis 2 : The Recognitions 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : The Beetle Leg 7 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 8 : John Hawkes 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. doc == doc2 / path == doc.books.book.*: len(v): 3 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. path == doc.books.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.title: len(v): 4 0 : The Recognitions 1 : Islandia 2 : The Beetle Leg 3 : King's Day path == doc.*.*.*: len(v): 12 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : John Hawkes 7 : The Beetle Leg 8 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. path == doc.*.*.*.*: len(v): 2 0 : T.E. 1 : Porter --- PASS: TestValuesFromTagPath (0.00s) === RUN TestValuesFromTagPath2 TestValuesFromTagPath2(), iteration: 0 no default:text default:word map: data : netid : disable :[string] no text1 :[string] default:text word1 :[string] default:word path == data.*: len(v): 1 0 : map[disable:no text1:default:text word1:default:word] word1 : default:word disable : no text1 : default:text path == data.*.*: len(v): 3 0 : no 1 : default:text 2 : default:word TestValuesFromTagPath2(), iteration: 1 yes default:text default:word map: data : idnet : word1 :[string] default:word disable :[string] yes text1 :[string] default:text path == data.*: len(v): 1 0 : map[disable:yes text1:default:text word1:default:word] disable : yes text1 : default:text word1 : default:word path == data.*.*: len(v): 3 0 : default:text 1 : default:word 2 : yes --- PASS: TestValuesFromTagPath2 (0.00s) === RUN TestUnmarshal Unmarshal test ... *map[string]interface{}, *string m: map[doc:map[name:Mayer Hawthorne song:map[title:A Long Time verse:map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]]]]] s: {"doc":{"name":"Mayer Hawthorne","song":{"title":"A Long Time","verse":{"-no":"1","line":[{"#text":"Henry was a renegade","-no":"1"},{"#text":"Didn't like to play it safe","-no":"2"}]}}}} --- PASS: TestUnmarshal (0.00s) === RUN TestStructValue Unmarshal test ... struct: clbanning
unknown
myInfo: {XMLName:{Space: Local:info} Name:clbanning Address:unknown} --- PASS: TestStructValue (0.00s) === RUN TestMapValue TestMapValue of doc.song.verse w/ len(attrs) == 0. doc: Mayer Hawthorne A Long Time Henry was a renegade Didn't like to play it safe result: map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]] --- PASS: TestMapValue (0.00s) PASS ok github.com/clbanning/mxj/v2/x2j-wrapper 0.051s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-clbanning-mxj-dev/ -O--builddirectory=_build -O--buildsystem=golang dh_installdocs -O--builddirectory=_build -O--buildsystem=golang dh_installchangelogs -O--builddirectory=_build -O--buildsystem=golang dh_installsystemduser -O--builddirectory=_build -O--buildsystem=golang dh_perl -O--builddirectory=_build -O--buildsystem=golang dh_link -O--builddirectory=_build -O--buildsystem=golang dh_strip_nondeterminism -O--builddirectory=_build -O--buildsystem=golang dh_compress -O--builddirectory=_build -O--buildsystem=golang dh_fixperms -O--builddirectory=_build -O--buildsystem=golang dh_missing -O--builddirectory=_build -O--buildsystem=golang dh_installdeb -O--builddirectory=_build -O--buildsystem=golang dh_golang -O--builddirectory=_build -O--buildsystem=golang dh_gencontrol -O--builddirectory=_build -O--buildsystem=golang dh_md5sums -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -O--builddirectory=_build -O--buildsystem=golang dpkg-deb: building package 'golang-github-clbanning-mxj-dev' in '../golang-github-clbanning-mxj-dev_2.7.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.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: including full 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/2198571 and its subdirectories I: Current time: Thu Nov 21 11:31:34 -12 2024 I: pbuilder-time-stamp: 1732231894 Thu Nov 21 23:31:39 UTC 2024 I: 1st build successful. Starting 2nd build on remote node codethink03-arm64.debian.net. Thu Nov 21 23:31:39 UTC 2024 I: Preparing to do remote build '2' on codethink03-arm64.debian.net. Thu Nov 21 23:31:39 UTC 2024 - checking /var/lib/jenkins/offline_nodes if codethink03-arm64.debian.net is marked as down. Thu Nov 21 23:31:39 UTC 2024 - checking via ssh if codethink03-arm64.debian.net is up. removed '/tmp/read-only-fs-test-tpKrej' ==================================================================================== Thu Dec 25 05:54:42 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on codethink03-arm64, called using "2 golang-github-clbanning-mxj trixie /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2 2.7.0-1" as arguments. Thu Dec 25 05:54:42 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-QlqtppTK" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Dec 25 05:54:42 UTC 2025 I: Downloading source for trixie/golang-github-clbanning-mxj=2.7.0-1 Reading package lists... NOTICE: 'golang-github-clbanning-mxj' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1105 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (dsc) [2290 B] Get:2 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (tar) [1097 kB] Get:3 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (diff) [4784 B] Fetched 1105 kB in 0s (50.3 MB/s) Download complete and in download only mode Reading package lists... NOTICE: 'golang-github-clbanning-mxj' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git Please use: git clone https://salsa.debian.org/go-team/packages/golang-github-clbanning-mxj.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 1105 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (dsc) [2290 B] Get:2 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (tar) [1097 kB] Get:3 http://deb.debian.org/debian trixie/main golang-github-clbanning-mxj 2.7.0-1 (diff) [4784 B] Fetched 1105 kB in 0s (50.3 MB/s) Download complete and in download only mode ============================================================================= Re-Building golang-github-clbanning-mxj in trixie on arm64 on codethink03-arm64 now. Date: Thu Dec 25 05:54:42 GMT 2025 Date UTC: Thu Dec 25 05:54:42 UTC 2025 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2 + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/pbuilderrc_z4zv + case ${ARCH} in + case $ARCH in + locale=nl_BE + language=nl + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' golang-github-clbanning-mxj = debian-installer -o golang-github-clbanning-mxj = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' golang-github-clbanning-mxj = 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.yAy8seg2/pbuilderrc_z4zv --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2 --logfile b2/build.log golang-github-clbanning-mxj_2.7.0-1.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: Thu Dec 25 19:54:43 +14 2025 I: pbuilder-time-stamp: 1766642083 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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-clbanning-mxj_2.7.0-1.dsc] I: copying [./golang-github-clbanning-mxj_2.7.0.orig.tar.gz] I: copying [./golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Tue Oct 10 14:17:11 2023 gpgv: using RSA key 142421B19AD4A95996F95072EA2500B412C59ACF gpgv: issuer "foka@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./golang-github-clbanning-mxj_2.7.0-1.dsc: no acceptable signature found dpkg-source: info: extracting golang-github-clbanning-mxj in golang-github-clbanning-mxj-2.7.0 dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0.orig.tar.gz dpkg-source: info: unpacking golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-use-v2-in-import-paths.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/D01_modify_environment starting debug: Running on codethink03-arm64. 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 Dec 25 05:54 /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/3879562/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3879562/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]="32" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=c6e33927a30d4b2195fc9f89cea307f8 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-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=3879562 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.yAy8seg2/pbuilderrc_z4zv --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2 --logfile b2/build.log golang-github-clbanning-mxj_2.7.0-1.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3879562/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: arm64 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 (= 13), dh-sequence-golang, golang-any, golang-github-google-go-cmp-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20087 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 (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-sequence-golang; however: Package dh-sequence-golang is not installed. pbuilder-satisfydepends-dummy depends on golang-any; however: Package golang-any is not installed. pbuilder-satisfydepends-dummy depends on golang-github-google-go-cmp-dev; however: Package golang-github-google-go-cmp-dev 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.23-go{a} golang-1.23-src{a} golang-any{a} golang-github-google-go-cmp-dev{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} 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 62.2 MB of archives. After unpacking 318 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 2 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 3 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 4 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 5 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.22.5-2 [198 kB] Get: 6 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 7 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-5 [1129 kB] Get: 8 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.2-11 [91.2 kB] Get: 9 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 10 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 11 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 12 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB] Get: 13 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 14 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 15 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.22.5-2 [723 kB] Get: 16 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.20 [89.7 kB] Get: 17 http://deb.debian.org/debian trixie/main arm64 libtool all 2.4.7-8 [517 kB] Get: 18 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 19 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 20 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 21 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 22 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 23 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 24 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-5+b1 [9239 kB] Get: 25 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 26 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.22.5-2 [1532 kB] Get: 27 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 28 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 29 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.20 [915 kB] Get: 30 http://deb.debian.org/debian trixie/main arm64 dh-golang all 1.62 [24.7 kB] Get: 31 http://deb.debian.org/debian trixie/main arm64 golang-1.23-src all 1.23.3-2 [19.1 MB] Get: 32 http://deb.debian.org/debian trixie/main arm64 golang-1.23-go arm64 1.23.3-2 [23.4 MB] Get: 33 http://deb.debian.org/debian trixie/main arm64 golang-src all 2:1.23~2 [5088 B] Get: 34 http://deb.debian.org/debian trixie/main arm64 golang-go arm64 2:1.23~2 [44.3 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 golang-any arm64 2:1.23~2 [5172 B] Get: 36 http://deb.debian.org/debian trixie/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB] Fetched 62.2 MB in 0s (270 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 20087 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_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../04-gettext-base_0.22.5-2_arm64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../06-groff-base_1.23.0-5_arm64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../07-bsdextrautils_2.40.2-11_arm64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../10-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... 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.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../14-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../15-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../16-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... 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.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../20-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../21-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../22-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../23-libicu72_72.1-5+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-5+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../24-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../25-gettext_0.22.5-2_arm64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../26-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 .../27-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../28-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package dh-golang. Preparing to unpack .../29-dh-golang_1.62_all.deb ... Unpacking dh-golang (1.62) ... Selecting previously unselected package golang-1.23-src. Preparing to unpack .../30-golang-1.23-src_1.23.3-2_all.deb ... Unpacking golang-1.23-src (1.23.3-2) ... Selecting previously unselected package golang-1.23-go. Preparing to unpack .../31-golang-1.23-go_1.23.3-2_arm64.deb ... Unpacking golang-1.23-go (1.23.3-2) ... Selecting previously unselected package golang-src. Preparing to unpack .../32-golang-src_2%3a1.23~2_all.deb ... Unpacking golang-src (2:1.23~2) ... Selecting previously unselected package golang-go:arm64. Preparing to unpack .../33-golang-go_2%3a1.23~2_arm64.deb ... Unpacking golang-go:arm64 (2:1.23~2) ... Selecting previously unselected package golang-any:arm64. Preparing to unpack .../34-golang-any_2%3a1.23~2_arm64.deb ... Unpacking golang-any:arm64 (2:1.23~2) ... Selecting previously unselected package golang-github-google-go-cmp-dev. Preparing to unpack .../35-golang-github-google-go-cmp-dev_0.6.0-1_all.deb ... Unpacking golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up golang-github-google-go-cmp-dev (0.6.0-1) ... Setting up libicu72:arm64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3+b1) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up autotools-dev (20220109.1) ... Setting up golang-1.23-src (1.23.3-2) ... Setting up autopoint (0.22.5-2) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up golang-src (2:1.23~2) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-8) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up golang-1.23-go (1.23.3-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up golang-go:arm64 (2:1.23~2) ... 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 golang-any:arm64 (2:1.23~2) ... Setting up debhelper (13.20) ... Setting up dh-golang (1.62) ... Processing triggers for libc-bin (2.40-3) ... 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 I: Building the package I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/golang-github-clbanning-mxj-2.7.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../golang-github-clbanning-mxj_2.7.0-1_source.changes dpkg-buildpackage: info: source package golang-github-clbanning-mxj dpkg-buildpackage: info: source version 2.7.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Anthony Fok dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 debian/rules clean dh clean --builddirectory=_build --buildsystem=golang dh_auto_clean -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf_clean -O--builddirectory=_build -O--buildsystem=golang dh_clean -O--builddirectory=_build -O--buildsystem=golang debian/rules binary dh binary --builddirectory=_build --buildsystem=golang dh_update_autotools_config -O--builddirectory=_build -O--buildsystem=golang dh_autoreconf -O--builddirectory=_build -O--buildsystem=golang dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper internal/godebugs internal/byteorder internal/goarch internal/coverage/rtcov internal/profilerecord internal/goos internal/goexperiment internal/race internal/unsafeheader internal/cpu internal/runtime/syscall sync/atomic internal/chacha8rand encoding unicode internal/abi unicode/utf8 runtime/internal/math runtime/internal/sys math/bits internal/itoa cmp internal/asan internal/msan unicode/utf16 math internal/runtime/atomic internal/bytealg internal/runtime/exithook internal/stringslite runtime internal/reflectlite iter sync slices internal/bisect internal/testlog errors sort internal/godebug internal/oserror io path strconv syscall bytes internal/saferio strings reflect bufio regexp/syntax regexp internal/syscall/execenv internal/syscall/unix time internal/poll io/fs internal/filepathlite encoding/binary internal/fmtsort os encoding/base64 fmt encoding/xml encoding/json encoding/gob github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper dh_auto_test -O--builddirectory=_build -O--buildsystem=golang cd _build && go test -vet=off -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper ? github.com/clbanning/mxj/v2/x2j [no test files] === RUN TestAnyXmlHeader ---------------- anyxml_test.go ... --- PASS: TestAnyXmlHeader (0.00s) === RUN TestAnyXml []->x: somevaluesomevaluesomevaluesomeothervaluestring3.14159265true a->x: trythis3.14159265true a->x: trythis3.14159265true f->x: 3.14159625 s->x: somevalue3.1415963 --- PASS: TestAnyXml (0.00s) === RUN TestAnyXmlIndent []->x: somevalue somevalue somevalue someothervalue string 3.14159265 true a->x: try this 3.14159265 true f->x: 3.14159625 f->x: 3.14159625 s->x: somevalue 3.1415963 --- PASS: TestAnyXmlIndent (0.00s) === RUN TestNilMap --- PASS: TestNilMap (0.00s) === RUN TestNilValue --- PASS: TestNilValue (0.00s) === RUN TestPrefixDefault ----------------- TestPrefixDefault ... --- PASS: TestPrefixDefault (0.00s) === RUN TestPrefixNoHyphen ----------------- TestPrefixNoHyphen ... --- PASS: TestPrefixNoHyphen (0.00s) === RUN TestPrefixUnderscore ----------------- TestPrefixUnderscore ... --- PASS: TestPrefixUnderscore (0.00s) === RUN TestPrefixAt ----------------- TestPrefixAt ... --- PASS: TestPrefixAt (0.00s) === RUN TestMarshalPrefixDefault ----------------- TestMarshalPrefixDefault ... a test a test --- PASS: TestMarshalPrefixDefault (0.00s) === RUN TestMarshalPrefixNoHyphen ----------------- TestMarshalPrefixNoHyphen ... x: a test this is a test this is not --- PASS: TestMarshalPrefixNoHyphen (0.00s) === RUN TestMarshalPrefixUnderscore ----------------- TestMarshalPrefixUnderscore ... a test a test --- PASS: TestMarshalPrefixUnderscore (0.00s) === RUN TestBadXml ---------------- badxml_test.go TestBadXml ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXml (0.00s) === RUN TestBadXmlSeq TestBadXmlSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeq (0.00s) === RUN TestBadXmlReader TestBadXmlReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBadXmlReader (0.00s) === RUN TestBadXmlSeqReader TestBadXmlSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBadXmlSeqReader (0.00s) === RUN TestBom --------------- bom_test.go TestBom ... --- PASS: TestBom (0.00s) === RUN TestBomData TestBomData ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomData (0.00s) === RUN TestBomDataSeq TestBomDataSeq ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeq (0.00s) === RUN TestBomDataReader TestBomDataReader ... m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]] m: Some description goes here.http://www.something.com --- PASS: TestBomDataReader (0.00s) === RUN TestBomDataSeqReader TestBomDataSeqReader ... m: map[Allitems:map[Item:[map[#seq:0 #text:] map[#seq:1 description:map[#seq:1 #text:Some description goes here.] link:map[#seq:0 #text:http://www.something.com]]]]] m: http://www.something.comSome description goes here. --- PASS: TestBomDataSeqReader (0.00s) === RUN TestBulkHeader ---------------- bulk_test.go ... --- PASS: TestBulkHeader (0.00s) === RUN TestXmlReader XmlReader, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReader, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReader, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReader (0.00s) === RUN TestJsonReader JsonReader, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReader, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReader, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value --- PASS: TestJsonReader (0.00s) === RUN TestBulkRawHeader ---------------- bulkraw_test.go ... --- PASS: TestBulkRawHeader (0.00s) === RUN TestXmlReaderRaw XmlReaderRaw, xmldata: William H. Gaddis The Recognitions One of the seminal American novels of the 20th century. William H. Gaddis JR Won the National Book Award. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. XmlReaderRaw, result : { "book": { "author": "William H. Gaddis", "review": "One of the seminal American novels of the 20th century.", "title": "The Recognitions" } } { "book": { "author": "Austin Tappan Wright", "review": "An example of earlier 20th century American utopian fiction.", "title": "Islandia" } } { "book": { "author": "John Hawkes", "review": "A lyrical novel about the construction of Ft. Peck Dam in Montana.", "title": "The Beetle Leg" } } { "book": { "author": { "first_name": "T.E.", "last_name": "Porter" }, "review": "A magical novella.", "title": "King's Day" } } XmlReaderRaw, errors : [xmlReader: 2] xml.Decoder.Token() - XML syntax error on line 5: element closed by William H. Gaddis JR Won the National Book Award. [xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element --- PASS: TestXmlReaderRaw (0.00s) === RUN TestJsonReaderRaw JsonReaderRaw, jsondata: {"book":{"author":"William H. Gaddis","review":"One of the great seminal American novels of the 20th century.","title":"The Recognitions"}} {"book":{"author":"Austin Tappan Wright","review":"An example of earlier 20th century American utopian fiction.","title":"Islandia"}} {"book":{"author":"John Hawkes","review":"A lyrical novel about the construction of Ft. Peck Dam in Montana.","title":"The Beetle Leg"}} {"book":{"author":{"first_name":"T.E.","last_name":"Porter"},"review":"A magical novella.","title":"King's Day"}} { "here":"we", "put":"in", "an":error } JsonReaderRaw, result : William H. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day JsonReaderRaw, errors : [jsonReader: 5] invalid character 'e' looking for beginning of value {"here":"we","put":"in","an":error} --- PASS: TestJsonReaderRaw (0.00s) === RUN TestHeader cast_test.go ---------- --- PASS: TestHeader (0.00s) === RUN TestCastDefault ------------ TestCastDefault ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastDefault (0.00s) === RUN TestCastTrue ------------ TestCastTrue ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":false, "true":true}, "float":3.14159625, "int":2019, "string":"string"}} --- PASS: TestCastTrue (0.00s) === RUN TestSetCheckTagToSkipFunc ------------ TestSetCheckTagToSkipFunc ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestSetCheckTagToSkipFunc (0.00s) === RUN TestCastValuesToFloat ------------ TestCastValuesToFloat(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":true, "f":false, "false":"FALSE", "true":true}, "float":"3.14159625", "int":"2019", "string":"string"}} --- PASS: TestCastValuesToFloat (0.00s) === RUN TestCastValuesToBool ------------ TestCastValuesToBool(false) ... mxj.Map{"doc":map[string]interface {}{"bool":map[string]interface {}{"T":"T", "f":"f", "false":"FALSE", "true":"true"}, "float":3.14159625, "int":"2019", "string":"string"}} --- PASS: TestCastValuesToBool (0.00s) === RUN TestEscapeChars ================== TestEscapeChars s: "'<>& ss: "'<>& --- PASS: TestEscapeChars (0.00s) === RUN TestXMLEscapeChars ================== TestXMLEscapeChars s: "'<>& m: "'<>& --- PASS: TestXMLEscapeChars (0.00s) === RUN TestXMLEscapeChars2 ================== TestXMLEscapeChars2 "'<>& map[doc:map[simple:map[#text:"'<>& _attr1:an attribute]]] mv: "'<>& --- PASS: TestXMLEscapeChars2 (0.00s) === RUN TestXMLSeqEscapeChars ================== TestXMLSeqEscapeChars data: >0-2y m: map[doc:map[shortDescription:map[#seq:0 #text:>0-2y]]] m: >0-2y --- PASS: TestXMLSeqEscapeChars (0.00s) === RUN TestXMLSeqEscapeChars2 ================== TestXMLSeqEscapeChars2 data: >0-2y <10-15 m: map[doc:map[shortDescription:[map[#attr:map[test:map[#seq:0 #text:&something here]] #seq:0 #text:>0-2y] map[#attr:map[quote:map[#seq:1 #text:"] test:map[#seq:0 #text:something there]] #seq:1 #text:<10-15]]]] m: >0-2y <10-15 --- PASS: TestXMLSeqEscapeChars2 (0.00s) === RUN TestExists ------------ exists_test.go --- PASS: TestExists (0.00s) === RUN TestFilesHeader ---------------- files_test.go ... --- PASS: TestFilesHeader (0.00s) === RUN TestNewJsonFile NewMapsFromJsonFile() map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFile (0.00s) === RUN TestNewJsonFileRaw NewMapsFromJsonFileRaw() {map[a:test file:for files_test.go:case this:is] [123 34 116 104 105 115 34 58 34 105 115 34 44 34 97 34 58 34 116 101 115 116 34 44 34 102 105 108 101 34 58 34 102 111 114 34 44 34 102 105 108 101 115 95 116 101 115 116 46 103 111 34 58 34 99 97 115 101 34 125]} {map[JSON:values true:true two:2 with:just] [123 34 119 105 116 104 34 58 34 106 117 115 116 34 44 34 116 119 111 34 58 50 44 34 74 83 79 78 34 58 34 118 97 108 117 101 115 34 44 34 116 114 117 101 34 58 116 114 117 101 125]} caught error: stat nil: no such file or directory caught error: error: invalid character 'J' looking for beginning of value - reading: {"with":"some","bad":JSON,"in":"it"} --- PASS: TestNewJsonFileRaw (0.00s) === RUN TestNewXmFile NewMapsFromXmlFile() map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFile (0.00s) === RUN TestNewXmFileRaw NewMapsFromXmlFileRaw() {map[doc:map[data:for files.go some:test]] [60 100 111 99 62 10 9 60 115 111 109 101 62 116 101 115 116 60 47 115 111 109 101 62 10 9 60 100 97 116 97 62 102 111 114 32 102 105 108 101 115 46 103 111 60 47 100 97 116 97 62 10 60 47 100 111 99 62]} {map[msg:map[another:doc for:test case just:some]] [10 60 109 115 103 62 10 9 60 106 117 115 116 62 115 111 109 101 60 47 106 117 115 116 62 10 9 60 97 110 111 116 104 101 114 62 100 111 99 60 47 97 110 111 116 104 101 114 62 10 9 60 102 111 114 62 116 101 115 116 32 99 97 115 101 60 47 102 111 114 62 10 60 47 109 115 103 62]} caught error: stat nil: no such file or directory caught error: error: xml.Decoder.Token() - XML syntax error on line 4: element closed by - reading: some doc --- PASS: TestNewXmFileRaw (0.00s) === RUN TestMaps TestMaps() mvs: [map[a:test this:is] map[a:test this:is]] JsonString(): {"a":"test","this":"is"}{"a":"test","this":"is"} JsonStringIndent(): { "a": "test", "this": "is" } { "a": "test", "this": "is" } XmlString(): testistestis XmlStringIndent(): test is test is --- PASS: TestMaps (0.00s) === RUN TestJsonFile map[a:test file:for files_test.go:case this:is] map[JSON:values true:true two:2 with:just] files_test_dup.json written files_test_indent.json written --- PASS: TestJsonFile (0.00s) === RUN TestXmlFile map[doc:map[data:for files.go some:test]] map[msg:map[another:doc for:test case just:some]] files_test_dup.xml written files_test_indent.xml written --- PASS: TestXmlFile (0.00s) === RUN TestSetGlobalKeyMapPrefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix === RUN TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix --- PASS: TestSetGlobalKeyMapPrefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_%_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with___as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_-_as_Map_Key_Prefix (0.00s) --- PASS: TestSetGlobalKeyMapPrefix/Testing_with_&_as_Map_Key_Prefix (0.00s) === RUN TestGobHeader ---------------- gob_test.go ... --- PASS: TestGobHeader (0.00s) === RUN TestNewMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestNewMapGob (0.00s) === RUN TestMapGob m: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestMapGob (0.00s) === RUN TestGobSymmetric mv: map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] m : map[five:map[hi:there] four:[1 2 3 4] one:1 three:tres two:2.0001] --- PASS: TestGobSymmetric (0.00s) === RUN TestXmlCheckIsValid ================== TestXmlCheckIsValid map[:empty $invalid:hex$ entities:<>& nil:] map[$invalid:hex$ entities:<>& nil:] map[entities:<>& nil:] map[nil:] map[doc:map[elem:map[#seq:0 #text:element]]] --- PASS: TestXmlCheckIsValid (0.00s) === RUN TestJ2XHeader ---------------- j2x_test .go ... --- PASS: TestJ2XHeader (0.00s) === RUN TestJ2X j2x, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } j2x, m : map[key1:string key2:34 key3:true key4:unsafe: <>& key5:] j2x, xml : string34trueunsafe: <>& --- PASS: TestJ2X (0.00s) === RUN TestJsonHeader ---------------- json_test.go ... --- PASS: TestJsonHeader (0.00s) === RUN TestNewMapJson NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJson (0.00s) === RUN TestNewMapJsonNumber NewMapJson, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } NewMapJson, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&", "key5":interface {}(nil)} --- PASS: TestNewMapJsonNumber (0.00s) === RUN TestNewMapJsonError NewMapJsonError, jdata : { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null NewMapJsonError, merror: unexpected EOF NewMapJsonError, newData : { "this":"is", "in":error } NewMapJsonError, merror : invalid character 'e' looking for beginning of value --- PASS: TestNewMapJsonError (0.00s) === RUN TestNewMapJsonReader NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReader (0.00s) === RUN TestNewMapJsonReaderNumber NewMapJsonReader, jb: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&"} NewMapJsonReader, m : mxj.Map{"key1":"string", "key2":"34", "key3":true, "key4":"unsafe: <>&"} NewMapJsonReader, jb: {"key":"value in new JSON string"} NewMapJsonReader, m : mxj.Map{"key":"value in new JSON string"} --- PASS: TestNewMapJsonReaderNumber (0.00s) === RUN TestJson Json, jdata: { "key1":"string", "key2":34, "key3":true, "key4":"unsafe: <>&", "key5":null } Json, j : {"key1":"string","key2":34,"key3":true,"key4":"unsafe: <>&","key5":null} Json, j safe: {"key1":"string","key2":34,"key3":true,"key4":"unsafe: \u003c\u003e\u0026","key5":null} --- PASS: TestJson (0.00s) === RUN TestJsonWriter JsonWriter, raw: {"and":"a","bool":true,"float":3.14159,"this":"is a"} JsonWriter, b : {"and":"a","bool":true,"float":3.14159,"this":"is a"} --- PASS: TestJsonWriter (0.00s) === RUN TestToLower -------------- keystolower_test.go TestToLower ... --- PASS: TestToLower (0.00s) === RUN TestSetSubkeyFieldSeparator ----------- TestSetSubkeyFieldSeparator --- PASS: TestSetSubkeyFieldSeparator (0.00s) === RUN TestKVHeader ---------------- keyvalues_test.go ... --- PASS: TestKVHeader (0.00s) === RUN TestPathsForKey PathsForKey, doc1 ... PathsForKey, doc1#author ... ss: [doc.books.book.author] PathsForKey, doc1#books ... ss: [doc.books] PathsForKey, doc2 ... PathForKey, doc2#book ... ss: [doc.book doc.books.book] PathForKeyShortest, doc2#book ... s : doc.book --- PASS: TestPathsForKey (0.00s) === RUN TestValuesForKey ValuesForKey ... ValuesForKey, doc1#author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForKey, doc1#book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForKey, doc1#book,-seq:3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForKey, doc1#book, author:William T. Gaddis ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ValuesForKey, doc1#author, -seq:1 --- PASS: TestValuesForKey (0.00s) === RUN TestValuesForPath ValuesForPath ... ValuesForPath, doc.books.book.author ... ss.v: William T. Gaddis ... ss.v: Austin Tappan Wright ... ss.v: John Hawkes ... ss.v: map[first_name:T.E. last_name:Porter] ValuesForPath, doc.books.book ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.books.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.*.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] --- PASS: TestValuesForPath (0.00s) === RUN TestValuesForNotKey ValuesForNotKey ... ValuesForPath, doc.books.book !author:William T. Gaddis ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] ValuesForPath, doc.books.book !author:* ValuesForPath, doc.books.book !unknown:* ... ss.v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] ... ss.v: map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ... ss.v: map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] --- PASS: TestValuesForNotKey (0.00s) === RUN TestIAHeader ---------------- indexedarray_test.go ... --- PASS: TestIAHeader (0.00s) === RUN TestValuesForIndexedArray j_data: { "stuff":[ { "data":[ { "F":1 }, { "F":2 }, { "F":3 } ] }, { "data":[ 4, 5, 6 ] } ] } m: map[stuff:[map[data:[map[F:1] map[F:2] map[F:3]]] map[data:[4 5 6]]]] stuff[0]: [map[data:[map[F:1] map[F:2] map[F:3]]]] stuff.data: [map[F:1] map[F:2] map[F:3] 4 5 6] stuff[0].data: [map[F:1] map[F:2] map[F:3]] stuff.data[0]: [map[F:1] 4] stuff.*[2]: [map[F:3] 6] stuff.data.F: [1 2 3] *.*.F: [1 2 3] stuff.data[0].F: [1] stuff.data[1].F: [2] stuff[0].data[2]: [map[F:3]] stuff[1].data[1]: [5] stuff[1].data[1].F [] stuff[1].data.F: [] x_data: 1 2 3 4 5 6 m: map[doc:map[stuff:[map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]] map[data:[map[-seq:2.1 F:4] map[-seq:2.2 F:5] map[-seq:2.3 F:6]]]]]] doc.stuff[0]: [map[data:[map[-seq:1.1 F:1] map[-seq:1.2 F:2] map[-seq:1.3 F:3]]]] doc.stuff.data[0]: [map[-seq:1.1 F:1] map[-seq:2.1 F:4]] doc.stuff.data[0] -seq:2.1: [map[-seq:2.1 F:4]] doc.stuff.data[0].F: [1 4] doc.stuff[0].data[2]: [map[-seq:1.3 F:3]] doc.stuff[1].data[1].F: [5] ak_data: { "section1":{"data" : [{"F1" : "F1 data","F2" : "F2 data"},{"F1" : "demo 123","F2" : "abc xyz"}]}} m: map[section1:map[data:[map[F1:F1 data F2:F2 data] map[F1:demo 123 F2:abc xyz]]]] section1.data[0].F1: [F1 data] --- PASS: TestValuesForIndexedArray (0.00s) === RUN TestValueForPath --- PASS: TestValueForPath (0.00s) === RUN TestValueForPathString --- PASS: TestValueForPathString (0.00s) === RUN TestValueForPathError --- PASS: TestValueForPathError (0.00s) === RUN TestValueForKey --- PASS: TestValueForKey (0.00s) === RUN TestValueForKeyError --- PASS: TestValueForKeyError (0.00s) === RUN TestLNHeader ---------------- leafnode_test.go ... --- PASS: TestLNHeader (0.00s) === RUN TestLeafNodes json1-LeafNodes: mxj.LeafNode{Path:"friends[0].skills[0]", Value:44} mxj.LeafNode{Path:"friends[0].skills[1]", Value:12} json1-LeafPaths: "friends[0].skills[0]" "friends[0].skills[1]" json2-LeafNodes: mxj.LeafNode{Path:"friends.skills[0]", Value:44} mxj.LeafNode{Path:"friends.skills[1]", Value:12} json1-LeafValues: 44 12 json3-LeafNodes: mxj.LeafNode{Path:"a", Value:"list"} mxj.LeafNode{Path:"of[0]", Value:"data"} mxj.LeafNode{Path:"of[1]", Value:"of"} mxj.LeafNode{Path:"of[2]", Value:3} mxj.LeafNode{Path:"of[3]", Value:"types"} mxj.LeafNode{Path:"of[4]", Value:true} json3-LeafValues: "list" "data" "of" 3 "types" true json3-LeafPaths: "a" "of[0]" "of[1]" "of[2]" "of[3]" "of[4]" xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[0].-num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].-color", Value:"blue"} mxj.LeafNode{Path:"doc.item[1].-num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].-color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].-side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].-side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].-length", Value:"3.6"} xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} no-hyphen-xml2data2-LeafValues: mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} no-hyphen-xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} --- PASS: TestLeafNodes (0.00s) === RUN TestLeafDotNotation DotNotation-LeafValues: mxj.LeafNode{Path:"doc.item.0.-color", Value:"blue"} mxj.LeafNode{Path:"doc.item.0.#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item.0.-num", Value:"2"} mxj.LeafNode{Path:"doc.item.1.-num", Value:"3"} mxj.LeafNode{Path:"doc.item.1.-color", Value:"green"} mxj.LeafNode{Path:"doc.item.1.arm.0.-side", Value:"left"} mxj.LeafNode{Path:"doc.item.1.arm.0.-length", Value:"3.5"} mxj.LeafNode{Path:"doc.item.1.arm.1.-side", Value:"right"} mxj.LeafNode{Path:"doc.item.1.arm.1.-length", Value:"3.6"} --- PASS: TestLeafDotNotation (0.00s) === RUN TestMisc ------------------ misc_test.go ... --- PASS: TestMisc (0.00s) === RUN TestRoot --- PASS: TestRoot (0.00s) === RUN TestElements --- PASS: TestElements (0.00s) === RUN TestAttributes --- PASS: TestAttributes (0.00s) === RUN TestElementsAttrPrefix --- PASS: TestElementsAttrPrefix (0.00s) === RUN TestAttributesAttrPrefix --- PASS: TestAttributesAttrPrefix (0.00s) === RUN TestElementsNoAttrPrefix --- PASS: TestElementsNoAttrPrefix (0.00s) === RUN TestAttributesNoAttrPrefix --- PASS: TestAttributesNoAttrPrefix (0.00s) === RUN TestPreserveSpaceDisableByDefault === RUN TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values === RUN TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored === RUN TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false --- PASS: TestPreserveSpaceDisableByDefault (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Default_Preserve_Space_disabled_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_true_is_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Single_false_is_passed_should_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/No_args_are_passed_should_not_trim_values (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored (0.00s) --- PASS: TestPreserveSpaceDisableByDefault/Extra_arguments_should_be_ignored_with_false (0.00s) === RUN TestMxjHeader ---------------- mxj_test.go ... --- PASS: TestMxjHeader (0.00s) === RUN TestMap TestMap, m: mxj.Map{"key":"value", "newkey":map[string]interface {}{"bool":true, "float":3.14159, "listkey":[]interface {}{3.1415962535, false, "for all good men"}, "string":"Now is the time"}} TestMap, StringIndent - key : [string] value newkey : bool : [bool] true float : [float64] 3.14159 listkey : [[]interface{}] [float64] 3.1415962535 [bool] false [string] for all good men string : [string] Now is the time TestMap, StringIndent NoTypeInfo - key : value newkey : bool : true float : 3.14159 listkey : 3.1415962535 false for all good men string : Now is the time TestMap, m_fromXML: mxj.Map{"doc":map[string]interface {}{"tag":map[string]interface {}{"sub_tag1":"Hello", "sub_tag2":"World"}}} TestMap, StringIndent - doc : tag : sub_tag1 : [string] Hello sub_tag2 : [string] World TestMap, StringIndent NoTypeInfo - doc : tag : sub_tag1 : Hello sub_tag2 : World TestMap, m.Copy() - map[doc:map[tag:map[sub_tag1:Hello sub_tag2:World]]] --- PASS: TestMap (0.00s) === RUN TestNamespaceHeader ---------------- namespace_test.go ... --- PASS: TestNamespaceHeader (0.00s) === RUN TestBeautifyXml ---------------- TestBeautifyXml ... 123John Brown 123 John Brown --- PASS: TestBeautifyXml (0.00s) === RUN TestNan ------------ TestNan ... foo.bar: NAN --- PASS: TestNan (0.00s) === RUN TestInf foo.bar: INF --- PASS: TestInf (0.00s) === RUN TestMinusInf foo.bar: -INF --- PASS: TestMinusInf (0.00s) === RUN TestCastNanInf foo.bar: NaN --- PASS: TestCastNanInf (0.00s) === RUN TestNewMapHeader ---------------- newmap_test.go ... --- PASS: TestNewMapHeader (0.00s) === RUN TestNewMap j: { "A":"this", "B":"is", "C":"a", "D":"test" } m: mxj.Map{"A":"this", "B":"is", "C":"a", "D":"test"} eval - m.NewMap("A:AA", "B:BB", "C:cc", "D:help") n.Json(): {"AA":"this","BB":"is","cc":"a","help":"test"} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap("A:AA.A", "B:AA.B", "C:AA.B.cc", "D:hello.help") n.Json(): {"AA":{"A":"this","B":["is",{"cc":"a"}]},"hello":{"help":"test"}} n.Xml(): thisisatest n.XmlIndent(): this is a test eval - m.NewMap keypairs: [A:xml.AA B:xml.AA.hello.again C:xml.AA D:xml.AA.hello.help] n.Json(): {"xml":{"AA":["this",{"hello":{"again":"is","help":"test"}},"a"]}} n.Xml(): thisistesta n.XmlIndent(): this is test a --- PASS: TestNewMap (0.00s) === RUN TestNetId original value: no default:text default:word new value: no default:text default:word original value: yes default:text default:word new value: yes default:text default:word --- PASS: TestNetId (0.00s) === RUN TestRemove --- PASS: TestRemove (0.00s) === RUN TestRenameKey ------------ rename_test.go --- PASS: TestRenameKey (0.00s) === RUN TestSeqNumHeader ---------------- seqnum_test.go ... --- PASS: TestSeqNumHeader (0.00s) === RUN TestSeqNum m1: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "IntObj1":map[string]interface {}{"-id":1, "_seq":1}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "IntObj1": { "-id": 1, "_seq": 1 } } } m2: mxj.Map{"Obj":map[string]interface {}{"-c":"la", "-h":"da", "-x":"dee", "IntObj":[]interface {}{map[string]interface {}{"-id":3, "_seq":0}, map[string]interface {}{"-id":2, "_seq":2}}, "NewObj":map[string]interface {}{"BoolObj":map[string]interface {}{"#text":true, "_seq":2}, "StringObj":map[string]interface {}{"#text":"hello", "_seq":1}, "_seq":1, "id":map[string]interface {}{"#text":1, "_seq":0}}}} { "Obj": { "-c": "la", "-h": "da", "-x": "dee", "IntObj": [ { "-id": 3, "_seq": 0 }, { "-id": 2, "_seq": 2 } ], "NewObj": { "BoolObj": { "#text": true, "_seq": 2 }, "StringObj": { "#text": "hello", "_seq": 1 }, "_seq": 1, "id": { "#text": 1, "_seq": 0 } } } } --- PASS: TestSeqNum (0.00s) === RUN TestSetValueForPath --- PASS: TestSetValueForPath (0.00s) === RUN TestStakeCase ----------- TestSnakeCase --- PASS: TestStakeCase (0.00s) === RUN TestStrictModeXml ----------------- TestStrictModeXml ... m: map[document:map[goes_by: lang:E name:Bill & Hallett salute:Duc & 123xx]] --- PASS: TestStrictModeXml (0.00s) === RUN TestStrictModeXmlSeq ----------------- TestStrictModeXmlSeq ... m: map[document:map[goes_by:map[#seq:2 #text:] lang:map[#seq:3 #text:E] name:map[#seq:0 #text:Bill & Hallett] salute:map[#seq:1 #text:Duc & 123xx]]] --- PASS: TestStrictModeXmlSeq (0.00s) === RUN TestStrictModeFail ----------------- TestStrictFail ... OK --- PASS: TestStrictModeFail (0.00s) === RUN TestStructHeader ---------------- struct_test.go ... --- PASS: TestStructHeader (0.00s) === RUN TestStruct Struct, m: mxj.Map{"bool":true, "float":3.14159, "int":4, "private":"Somewhere over the rainbow", "str":"now's the time"} Struct, s: mxj.str{IntVal:4, StrVal:"now's the time", FloatVal:3.14159, BoolVal:true, private:""} --- PASS: TestStruct (0.00s) === RUN TestStructError StructError, mverr: mv.Struct() error: argument is not type Ptr --- PASS: TestStructError (0.00s) === RUN TestStructValue ----------------- structvalue_test.go ... --- PASS: TestStructValue (0.00s) === RUN TestUVHeader ---------------- updatevalues_test.go ... --- PASS: TestUVHeader (0.00s) === RUN TestUpdateValuesForPath_Author m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] v: William T. Gaddis v: Austin Tappan Wright v: John Hawkes v: map[first_name:T.E. last_name:Porter] m.UpdateValuesForPath("author:NoName", "doc.books.book.author") 4 updates v: NoName v: NoName v: NoName v: NoName m.UpdateValuesForPath("author:William Gadddis", "doc.books.book.author", "title:The Recognitions") 4 updates v: William Gadddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("author:William T. Gaddis", "doc.books.book.*", "title:The Recognitions") 1 updates v: William T. Gaddis v: Austin Tappen Wright v: John Hawkes v: T. E. Porter m.UpdateValuesForPath("title:The Cannibal", "doc.books.book.title", "author:John Hawkes") 2 updates v: map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] v: map[-seq:2 author:Austin Tappen Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] v: map[-seq:3 author:John Hawkes review:A novel on his experiences in WWII. title:The Cannibal] v: map[-seq:4 author:T. E. Porter review:A magical novella. title:King's Day] m.UpdateValuesForPath("books:", "doc.books") 1 updates m: map[doc:map[books:]] m.UpdateValuesForPath(mm, "*") 1 updates m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] newDoc: simple element m: map[tag:map[#text:simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:maybe not so simple element", "tag") n: 1 m: map[tag:map[#text:maybe not so simple element -color:green -shape:square]] m.UpdateValuesForPath("#text:simple element again", "*") n: 1 m: map[tag:map[#text:simple element again -color:green -shape:square]] --- PASS: TestUpdateValuesForPath_Author (0.00s) === RUN TestAuthorDoc biblio : author : [[]interface{}] books : book : [[]interface{}] date : [string] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [string] 1975 review : [string] Winner of National Book Award for Fiction. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [string] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [string] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [string] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes m.UpdateValuesForPath("review:National Book Award winner.", "*.*.*.*", "title:JR") 1 updates v: map[books:map[book:[map[date:1955 review:A novel that changed the face of American literature. title:The Recognitions] map[date:1975 review:National Book Award winner. title:JR]]] name:William Gaddis] m.UpdateValuesForPath(newVal, path, oldVal) 5 updates biblio : author : [[]interface{}] books : book : [[]interface{}] date : [float64] 1955 review : [string] A novel that changed the face of American literature. title : [string] The Recognitions date : [float64] 1975 review : [string] National Book Award winner. title : [string] JR name : [string] William Gaddis books : book : [[]interface{}] date : [float64] 1949 review : [string] A novel on his experiences in WWII. title : [string] The Cannibal date : [float64] 1951 review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg date : [float64] 1970 review : [string] Where everyone wants to vacation. title : [string] The Blood Oranges name : [string] John Hawkes --- PASS: TestAuthorDoc (0.00s) === RUN TestXml2Header ---------------- xml2_test.go ... --- PASS: TestXml2Header (0.00s) === RUN TestNewMapXml4 NewMapXml4, x: William T. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXml4, m: map[doc:map[books:map[book:[map[-seq:1 author:William T. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]]]] NewMapXml4, s: doc : books : book : [[]interface{}] -seq : [string] 1 author : [string] William T. Gaddis review : [string] One of the great seminal American novels of the 20th century. title : [string] The Recognitions -seq : [string] 2 author : [string] Austin Tappan Wright review : [string] An example of earlier 20th century American utopian fiction. title : [string] Islandia -seq : [string] 3 author : [string] John Hawkes review : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : [string] The Beetle Leg -seq : [string] 4 author : first_name : [string] T.E. last_name : [string] Porter review : [string] A magical novella. title : [string] King's Day NewMapXml4, b: William T. Gaddis One of the great seminal American novels of the 20th century. The Recognitions Austin Tappan Wright An example of earlier 20th century American utopian fiction. Islandia John Hawkes A lyrical novel about the construction of Ft. Peck Dam in Montana. The Beetle Leg T.E. Porter A magical novella. King's Day --- PASS: TestNewMapXml4 (0.00s) === RUN TestNewMapXml5 NewMapXml5, raw: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day NewMapXml5, m: map[msg:map[-mpriority:1 -mtype:alert song:map[-author:Mayer Hawthorne -title:A Long Time chorus:map[line:[map[#text:It's going to take a long time -no:1] map[#text:It's going to take it, but we'll make it one day -no:2] map[#text:It's going to take a long time -no:3] map[#text:It's going to take it, but we'll make it one day -no:4]]] verses:map[verse:[map[-name:verse 1 -no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2] map[#text:One component at a time -no:3] map[#text:There's got to be a better way -no:4] map[#text:Oh, people came from miles around -no:5] map[#text:Searching for a steady job -no:6] map[#text:Welcome to the Motor Town -no:7] map[#text:Booming like an atom bomb -no:8]]] map[-name:verse 2 -no:2 line:[map[#text:Oh, Henry was the end of the story -no:1] map[#text:Then everything went wrong -no:2] map[#text:And we'll return it to its former glory -no:3] map[#text:But it just takes so long -no:4]]]]]] text:help me!]] NewMapXml5, s: msg : -mpriority : [string] 1 -mtype : [string] alert song : -author : [string] Mayer Hawthorne -title : [string] A Long Time chorus : line : [[]interface{}] #text : [string] It's going to take a long time -no : [string] 1 #text : [string] It's going to take it, but we'll make it one day -no : [string] 2 #text : [string] It's going to take a long time -no : [string] 3 #text : [string] It's going to take it, but we'll make it one day -no : [string] 4 verses : verse : [[]interface{}] -name : [string] verse 1 -no : [string] 1 line : [[]interface{}] #text : [string] Henry was a renegade -no : [string] 1 #text : [string] Didn't like to play it safe -no : [string] 2 #text : [string] One component at a time -no : [string] 3 #text : [string] There's got to be a better way -no : [string] 4 #text : [string] Oh, people came from miles around -no : [string] 5 #text : [string] Searching for a steady job -no : [string] 6 #text : [string] Welcome to the Motor Town -no : [string] 7 #text : [string] Booming like an atom bomb -no : [string] 8 -name : [string] verse 2 -no : [string] 2 line : [[]interface{}] #text : [string] Oh, Henry was the end of the story -no : [string] 1 #text : [string] Then everything went wrong -no : [string] 2 #text : [string] And we'll return it to its former glory -no : [string] 3 #text : [string] But it just takes so long -no : [string] 4 text : [string] help me! NewMapXml5, b: It's going to take a long timeIt's going to take it, but we'll make it one dayIt's going to take a long timeIt's going to take it, but we'll make it one dayHenry was a renegadeDidn't like to play it safeOne component at a timeThere's got to be a better wayOh, people came from miles aroundSearching for a steady jobWelcome to the Motor TownBooming like an atom bombOh, Henry was the end of the storyThen everything went wrongAnd we'll return it to its former gloryBut it just takes so longhelp me! NewMapXml5, b: It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long help me! --- PASS: TestNewMapXml5 (0.00s) === RUN TestNewMapXml6 NewMapXml6, raw: Code Review - My issueshttp://codereview.appspot.com/rietveld<>rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a &lt;link rel=&quot;hub&quot; href=&quot;hub-server&quot;&gt; tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can&#39;t quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed&#39;s actual URL in the link rel=&quot;self&quot;, but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: correct tab handling 2009-10-03T23:02:17+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn&#39;t know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. NewMapXml6, m: map[feed:map[-lang:en-us -updated:2009-10-04T01:35:58+00:00 -xmlns:http://www.w3.org/2005/Atom author:map[name:rietveld<>] entry:[map[author:map[name:email-address-removed] id:urn:md5:134d9179c41f806be79b3a5f7877d19a link:map[-href:http://codereview.appspot.com/126085 -rel:alternate] summary:map[#text:An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type:html] title:rietveld: an attempt at pubsubhubbub updated:2009-10-04T01:35:58+00:00] map[author:map[name:email-address-removed] id:urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link:map[-href:http://codereview.appspot.com/124106 -rel:alternate] summary:map[#text:This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type:html] title:rietveld: correct tab handling updated:2009-10-03T23:02:17+00:00]] id:http://codereview.appspot.com/ link:[map[-href:http://codereview.appspot.com/ -rel:alternate] map[-href:http://codereview.appspot.com/rss/mine/rsc -rel:self]] title:Code Review - My issues]] NewMapXml6, s: feed : -lang : [string] en-us -updated : [string] 2009-10-04T01:35:58+00:00 -xmlns : [string] http://www.w3.org/2005/Atom author : name : [string] rietveld<> entry : [[]interface{}] author : name : [string] email-address-removed id : [string] urn:md5:134d9179c41f806be79b3a5f7877d19a link : -href : [string] http://codereview.appspot.com/126085 -rel : [string] alternate summary : #text : [string] An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). -type : [string] html title : [string] rietveld: an attempt at pubsubhubbub updated : [string] 2009-10-04T01:35:58+00:00 author : name : [string] email-address-removed id : [string] urn:md5:0a2a4f19bb815101f0ba2904aed7c35a link : -href : [string] http://codereview.appspot.com/124106 -rel : [string] alternate summary : #text : [string] This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. -type : [string] html title : [string] rietveld: correct tab handling updated : [string] 2009-10-03T23:02:17+00:00 id : [string] http://codereview.appspot.com/ link : [[]interface{}] -href : [string] http://codereview.appspot.com/ -rel : [string] alternate -href : [string] http://codereview.appspot.com/rss/mine/rsc -rel : [string] self title : [string] Code Review - My issues NewMapXml6, b: rietveld<>email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19aAn attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc).rietveld: an attempt at pubsubhubbub2009-10-04T01:35:58+00:00email-address-removedurn:md5:0a2a4f19bb815101f0ba2904aed7c35aThis fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py.rietveld: correct tab handling2009-10-03T23:02:17+00:00http://codereview.appspot.com/Code Review - My issues NewMapXml6, b: rietveld<> email-address-removed urn:md5:134d9179c41f806be79b3a5f7877d19a An attempt at adding pubsubhubbub support to Rietveld. http://code.google.com/p/pubsubhubbub http://code.google.com/p/rietveld/issues/detail?id=155 The server side of the protocol is trivial: 1. add a <link rel="hub" href="hub-server"> tag to all feeds that will be pubsubhubbubbed. 2. every time one of those feeds changes, tell the hub with a simple POST request. I have tested this by adding debug prints to a local hub server and checking that the server got the right publish requests. I can't quite get the server to work, but I think the bug is not in my code. I think that the server expects to be able to grab the feed and see the feed's actual URL in the link rel="self", but the default value for that drops the :port from the URL, and I cannot for the life of me figure out how to get the Atom generator deep inside django not to do that, or even where it is doing that, or even what code is running to generate the Atom feed. (I thought I knew but I added some assert False statements and it kept running!) Ignoring that particular problem, I would appreciate feedback on the right way to get the two values at the top of feeds.py marked NOTE(rsc). rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00 email-address-removed urn:md5:0a2a4f19bb815101f0ba2904aed7c35a This fixes the buggy tab rendering that can be seen at http://codereview.appspot.com/116075/diff/1/2 The fundamental problem was that the tab code was not being told what column the text began in, so it didn't know where to put the tab stops. Another problem was that some of the code assumed that string byte offsets were the same as column offsets, which is only true if there are no tabs. In the process of fixing this, I cleaned up the arguments to Fold and ExpandTabs and renamed them Break and _ExpandTabs so that I could be sure that I found all the call sites. I also wanted to verify that ExpandTabs was not being used from outside intra_region_diff.py. rietveld: correct tab handling 2009-10-03T23:02:17+00:00 http://codereview.appspot.com/ Code Review - My issues --- PASS: TestNewMapXml6 (0.00s) === RUN TestXml3 ------------ xml3_test.go --- PASS: TestXml3 (0.00s) === RUN TestOnlyAttributes ========== TestOnlyAttributes
--- PASS: TestOnlyAttributes (0.00s) === RUN TestOnlyAttributesSeq ========== TestOnlyAttributesSeq
--- PASS: TestOnlyAttributesSeq (0.00s) === RUN TestDecodeSimpleValuesAsMap ========== TestDecodeSimpleValuesAsMap xml: 30102 Mini Drone Inteligente - Branco 149.90 m : map[item:map[id:map[#text:30102] price:map[#text:149.90 -unit:BRL] title:map[#text:Mini Drone Inteligente - Branco]]] ========== (default) m : map[item:map[id:30102 price:map[#text:149.90 -unit:BRL] title:Mini Drone Inteligente - Branco]] --- PASS: TestDecodeSimpleValuesAsMap (0.00s) === RUN TestXmlHeader ---------------- xml_test.go ... --- PASS: TestXmlHeader (0.00s) === RUN TestNewMapXml --- PASS: TestNewMapXml (0.00s) === RUN TestAttrHyphenFalse --- PASS: TestAttrHyphenFalse (0.00s) === RUN TestNewMapXmlError --- PASS: TestNewMapXmlError (0.00s) === RUN TestNewMapXmlReader ==================== TestNewMapXmlReader ... NewMapXmlReader, raw: is a test NewMapXmlReader, m : map[root:map[this:is a test]] NewMapXmlReader, raw: something more12 NewMapXmlReader, m : map[root2:map[list:map[item:[1 2]] newtag:something more]] --- PASS: TestNewMapXmlReader (0.00s) === RUN TestXml_1 Xml_1, mv: map[boolean:true float:3.14159625 null: tag1:some data tag2:more data] Xml_1, x : true3.14159625some datamore data --- PASS: TestXml_1 (0.00s) === RUN TestXml_2 Xml_2, mv: map[array:[string true 36.4]] Xml_2, x : stringtrue36.4 --- PASS: TestXml_2 (0.00s) === RUN TestXml_3 Xml_3, mv: map[array:[[string true 36.4] string2]] Xml_3, x : stringtrue36.4string2 --- PASS: TestXml_3 (0.00s) === RUN TestXml_4 Xml_4, mv: map[array:map[innerkey:[[string true 36.4] string2]]] Xml_4, x : stringtrue36.4string2 --- PASS: TestXml_4 (0.00s) === RUN TestXml_5 Xml_5, mv: map[array:[map[innerkey:[[string true 36.4] string2]] map[some:more]]] Xml_5, x : stringtrue36.4string2more --- PASS: TestXml_5 (0.00s) === RUN TestXml_Strings Xml_strings, mv: map[sometag:some data strings:[string1 string2]] Xml_strings, x : some datastring1string2 --- PASS: TestXml_Strings (0.00s) === RUN TestXmlWriter XmlWriter, b : true3.14159625some datamore data --- PASS: TestXmlWriter (0.00s) === RUN TestXmlSeqHeader ---------------- xmlseq_test.go ... --- PASS: TestXmlSeqHeader (0.00s) === RUN TestNewMapXmlSeq NewMapXmlSeq, x: William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. NewMapXmlSeq, s: doc : books : #seq : [int] 0 book : [[]interface{}] #attr : seq : #seq : [int] 0 #text : [string] 1 #comment : #seq : [int] 3 #text : [string] here's the rest of the review #seq : [int] 0 author : #seq : [int] 0 #text : [string] William T. Gaddis review : [[]interface{}] #seq : [int] 1 #text : [string] Gaddis is one of the most influential but little know authors in America. #seq : [int] 4 #text : [string] One of the great seminal American novels of the 20th century. #seq : [int] 5 #text : [string] Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. title : #seq : [int] 2 #text : [string] The Recognitions #attr : seq : #seq : [int] 0 #text : [string] 2 #seq : [int] 1 author : #seq : [int] 0 #text : [string] Austin Tappan Wright review : #seq : [int] 2 #text : [string] An example of earlier 20th century American utopian fiction. title : #seq : [int] 1 #text : [string] Islandia #directive : #seq : [int] 2 #text : [string] throw in a directive here #seq : [int] 2 author : #seq : [int] 0 #text : [string] John Hawkes review : #seq : [int] 3 #text : [string] A lyrical novel about the construction of Ft. Peck Dam in Montana. title : #seq : [int] 1 #text : [string] The Beetle Leg #seq : [int] 3 author : #procinst : #inst : [string] first_name last_name #seq : [int] 0 #target : [string] cat #seq : [int] 0 first_name : #seq : [int] 1 #text : [string] T.E. last_name : #seq : [int] 2 #text : [string] Porter review : #seq : [int] 2 #text : [string] A magical novella. title : #seq : [int] 1 #text : [string] King's Day NewMapXmlSeq, msv.XmlIndent(): William T. Gaddis Gaddis is one of the most influential but little know authors in America. The Recognitions One of the great seminal American novels of the 20th century. Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. --- PASS: TestNewMapXmlSeq (0.00s) === RUN TestXmlSeqDecodeError ------------ TestXmlSeqDecodeError ... err ok: element book not properly terminated, got books at #461 --- PASS: TestXmlSeqDecodeError (0.00s) === RUN TestNewMapXmlSeqWhiteSpace === RUN TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing --- PASS: TestNewMapXmlSeqWhiteSpace (0.00s) --- PASS: TestNewMapXmlSeqWhiteSpace/Testing_NewMapFormattedXmlSeq_with_WhiteSpacing (0.00s) === RUN TestXMPPStreamTag ----------- TestXMPPStreamTag ... map[stream:map[-from:example.com -stream:http://etherx.jabber.org/streams -version:1.0 -xmlns:jabber:client]] map[features:map[bind:map[-xmlns:urn:ietf:params:xml:ns:xmpp-bind] sm:map[-xmlns:urn:xmpp:sm:3]]] map[stream:map[]] --- PASS: TestXMPPStreamTag (0.00s) === RUN TestXMPPStreamTagSeq ----------- TestXMPPStreamTagSeq ... map[stream:stream:map[#attr:map[from:map[#seq:0 #text:example.com] version:map[#seq:3 #text:1.0] xmlns:map[#seq:1 #text:jabber:client] xmlns:stream:map[#seq:2 #text:http://etherx.jabber.org/streams]]]] map[stream:features:map[bind:map[#attr:map[xmlns:map[#seq:0 #text:urn:ietf:params:xml:ns:xmpp-bind]] #seq:0] sm:map[#attr:map[xmlns:map[#seq:0 #text:urn:xmpp:sm:3]] #seq:1]]] map[stream:stream:map[]] --- PASS: TestXMPPStreamTagSeq (0.00s) PASS ok github.com/clbanning/mxj/v2 0.026s === RUN TestJsonToXml_1 [{"some-null-value":"", "a-non-null-value":"bar"}] xmloutput: bar --- PASS: TestJsonToXml_1 (0.00s) === RUN TestJsonToXml_2 {"somekey":[{"value":"1st"},{"value":"2nd"}]} xmloutput: 1st2nd --- PASS: TestJsonToXml_2 (0.00s) PASS ok github.com/clbanning/mxj/v2/j2x 0.012s === RUN TestGoofy TestGoofy ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofyVal:0x40001125d0 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} TestGoofier ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofierVal:0x40001152c0 goofyVal:0x40001125d0 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofierVal":{"G":{"S":"Now is the time for","Sp":"all good men to come to"},"B":"dGhlIHRyZWUgb2YgZnJlZWRvbSBtdXN0IHBlcmlvZGljYWxseSBiZQ==","N":null},"goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} --- PASS: TestGoofy (0.00s) === RUN TestToMap ToMap - Read doc: barworld entry : vars : foo :[string] bar foo2 : hello :[string] world --- PASS: TestToMap (0.00s) === RUN TestToJson ToJson - Read doc: barworld json: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestToJson (0.00s) === RUN TestToJsonIndent ToJsonIndent - Read doc: barworld json: { "entry": { "vars": { "foo": "bar", "foo2": { "hello": "world" } } } } --- PASS: TestToJsonIndent (0.00s) === RUN TestBulkParser BulkParser (with error) - Read doc: barworldanbarworld phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]] --- PASS: TestBulkParser (0.00s) === RUN TestBulkParserToJson BulkParser (with error) - Read doc: barworldanbarworld phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element closed by phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}} --- PASS: TestBulkParserToJson (0.00s) === RUN TestX2j ================================ x2j_test.go ... =================== TestX2j ... XML doc: help me! Henry was a renegade Didn't like to play it safe One component at a time There's got to be a better way Oh, people came from miles around Searching for a steady job Welcome to the Motor Town Booming like an atom bomb Oh, Henry was the end of the story Then everything went wrong And we'll return it to its former glory But it just takes so long It's going to take a long time It's going to take it, but we'll make it one day It's going to take a long time It's going to take it, but we'll make it one day DocToMap(), recast==true: msg : -mtype :[string] alert -mpriority :[float64] 1.00e+00 text :[string] help me! song : chorus : line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] It's going to take a long time [item: 1] -no :[float64] 2.00e+00 #text :[string] It's going to take it, but we'll make it one day [item: 2] -no :[float64] 3.00e+00 #text :[string] It's going to take a long time [item: 3] -no :[float64] 4.00e+00 #text :[string] It's going to take it, but we'll make it one day -title :[string] A Long Time -author :[string] Mayer Hawthorne verses : verse :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 line :[[]interface{}] [item: 0] -no :[float64] 1.00e+00 #text :[string] Henry was a renegade [item: 1] -no :[float64] 2.00e+00 #text :[string] Didn't like to play it safe [item: 2] -no :[float64] 3.00e+00 #text :[string] One component at a time [item: 3] -no :[float64] 4.00e+00 #text :[string] There's got to be a better way [item: 4] -no :[float64] 5.00e+00 #text :[string] Oh, people came from miles around [item: 5] -no :[float64] 6.00e+00 #text :[string] Searching for a steady job [item: 6] -no :[float64] 7.00e+00 #text :[string] Welcome to the Motor Town [item: 7] -no :[float64] 8.00e+00 #text :[string] Booming like an atom bomb -name :[string] verse 1 [item: 1] -name :[string] verse 2 -no :[float64] 2.00e+00 line :[[]interface{}] [item: 0] #text :[string] Oh, Henry was the end of the story -no :[float64] 1.00e+00 [item: 1] -no :[float64] 2.00e+00 #text :[string] Then everything went wrong [item: 2] -no :[float64] 3.00e+00 #text :[string] And we'll return it to its former glory [item: 3] -no :[float64] 4.00e+00 #text :[string] But it just takes so long DocToJsonIndent, recast==true: { "msg": { "-mpriority": 1, "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": 1 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 2 }, { "#text": "It's going to take a long time", "-no": 3 }, { "#text": "It's going to take it, but we'll make it one day", "-no": 4 } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": 1, "line": [ { "#text": "Henry was a renegade", "-no": 1 }, { "#text": "Didn't like to play it safe", "-no": 2 }, { "#text": "One component at a time", "-no": 3 }, { "#text": "There's got to be a better way", "-no": 4 }, { "#text": "Oh, people came from miles around", "-no": 5 }, { "#text": "Searching for a steady job", "-no": 6 }, { "#text": "Welcome to the Motor Town", "-no": 7 }, { "#text": "Booming like an atom bomb", "-no": 8 } ] }, { "-name": "verse 2", "-no": 2, "line": [ { "#text": "Oh, Henry was the end of the story", "-no": 1 }, { "#text": "Then everything went wrong", "-no": 2 }, { "#text": "And we'll return it to its former glory", "-no": 3 }, { "#text": "But it just takes so long", "-no": 4 } ] } ] } }, "text": "help me!" } } --- PASS: TestX2j (0.00s) === RUN TestGetValue =================== TestGetValue ... Read doc: barworld Looking for value: entry.vars { "foo": "bar", "foo2": { "hello": "world" } } Looking for value: entry.vars.foo2.hello world Looking with error in path: entry.var verr: no key in map: var DocValue() for tag path entry.vars { "foo": "bar", "foo2": { "hello": "world" } } --- PASS: TestGetValue (0.00s) === RUN TestGetValueWithAttr =================== TestGetValueWithAttr ... Read doc: bar world universe Looking for value: entry.vars { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } MapValue(): Looking for value: entry.vars.foo item=2 { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } MapValue(): Looking for hello item:4 verr: no key in map: hello DocValue(): Looking for entry.vars.foo.hello item:4 verr: no keys beyond: foo DocValue(): Looking for empty nil { "entry": { "vars": { "foo": [ { "#text": "bar", "-item": "1" }, { "-item": "2", "hello": [ { "#text": "world", "-item": "3" }, { "#text": "universe", "-item": "4" } ] } ] } } } testing recast switch... MapValue(): Looking for value: entry.vars.foo item=2 { "-item": 2, "hello": [ { "#text": "world", "-item": 3 }, { "#text": "universe", "-item": 4 } ] } --- PASS: TestGetValueWithAttr (0.00s) === RUN TestStuff_1 =================== TestStuff_1 ... val2 val2 val3 doc : tag :[[]interface{}] [item: 0] -item :[string] 1 #text :[string] val2 [item: 1] -item :[string] 2 #text :[string] val2 [item: 2] -item :[string] 2 -instance :[string] 2 #text :[string] val3 DocValue(): tag [ { "#text": "val2", "-item": "1" }, { "#text": "val2", "-item": "2" }, { "#text": "val3", "-instance": "2", "-item": "2" } ] DocValue(): item:2 instance:2 "val3" --- PASS: TestStuff_1 (0.00s) === RUN TestStuff_2 =================== TestStuff_2 ... val2 val2 val3 tag : -item :[string] 1 #text :[string] val2 DocValue(): tag { "#text": "val2", "-item": "1" } DocValue(): item:2 instance:2 verr: no attribute key:value pair: item:2 --- PASS: TestStuff_2 (0.00s) === RUN TestBulk =================== TestBulkBuffer ... Bulk Message Processing Tests procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] }, "verses": { "verse": [ { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] }, { "-name": "verse 2", "-no": "2", "line": [ { "#text": "Oh, Henry was the end of the story", "-no": "1" }, { "#text": "Then everything went wrong", "-no": "2" }, { "#text": "And we'll return it to its former glory", "-no": "3" }, { "#text": "But it just takes so long", "-no": "4" } ] } ] } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "verses": { "verse": { "-name": "verse 1", "-no": "1", "line": [ { "#text": "Henry was a renegade", "-no": "1" }, { "#text": "Didn't like to play it safe", "-no": "2" }, { "#text": "One component at a time", "-no": "3" }, { "#text": "There's got to be a better way", "-no": "4" }, { "#text": "Oh, people came from miles around", "-no": "5" }, { "#text": "Searching for a steady job", "-no": "6" }, { "#text": "Welcome to the Motor Town", "-no": "7" }, { "#text": "Booming like an atom bomb", "-no": "8" } ] } } }, "text": "help me!" } } procMap: { "msg": { "-mpriority": "1", "-mtype": "alert", "song": { "-author": "Mayer Hawthorne", "-title": "A Long Time", "chorus": { "line": [ { "#text": "It's going to take a long time", "-no": "1" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "2" }, { "#text": "It's going to take a long time", "-no": "3" }, { "#text": "It's going to take it, but we'll make it one day", "-no": "4" } ] } }, "text": "help me!" } } procError err: xml.Decoder.Token() - XML syntax error on line 1: element closed by procError err: xml.Decoder.Token() - XML syntax error on line 1: unexpected end element --- PASS: TestBulk (0.00s) === RUN TestTagAndKey =================== TestTagAndKey ... TestTagAndKey()
one
two.one two.two
one
two
tag: parts :: len: 2 v: [map[part:[two.one two.two]] map[sections:map[section:[one two]]]] no 'not_a_tag' tag key: section :: len: 2 v: [[one map[parts:map[part:[two.one two.two]]]] [one two]] no 'not_a_key' key --- PASS: TestTagAndKey (0.00s) === RUN TestValuesAtKeyPath ============================ x2jat_test.go =============== TestValuesAtKeyPath ... ValuesAtKeyPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtKeyPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] GetKeyPaths...doc2#book ss: [doc.books.author.book doc.books.author.books.book] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] ValuesAtKeyPath ... msg1#pub ss: [msg.pub] vv: [map[pub:test text:This is a long cold winter]] ValuesAtKeyPath ... msg2#pub ss: [msgs.msg.pub] vv: [map[pub:test text:This is a long cold winter] map[pub:test2 text:I hope we have a cool summer, though]] --- PASS: TestValuesAtKeyPath (0.00s) === RUN TestValuesAtTagPath =============== TestValuesAtTagPath ... ValuesAtTagPath ... doc1#author ss: [doc.books.book.author] vv: [map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]] ValuesAtTagPath ... doc1#first_name ss: [doc.books.book.author.first_name] vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] ValuesAtTagPath...doc2#book ss: [doc.books.author.books.book doc.books.author.book] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] --- PASS: TestValuesAtTagPath (0.00s) === RUN TestPathsForKey ================================ x2jfindPath_test.go =============== TestPathsForKey ... PathsForKey... doc01#author ss: [doc.books.book.author] PathsForKey... doc01#books ss: [doc.books] PathsForKey...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForKeyShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForKey (0.00s) === RUN TestPathsForTag =============== TestPathsForTag ... PathsForTag... doc01#author ss: [doc.books.book.author] PathsForTag... doc01#books ss: [doc.books] PathsForTag...doc02#book ss: [doc.books.author.book doc.books.author.books.book] PathForTagShortest...doc02#book s: doc.books.author.book --- PASS: TestPathsForTag (0.00s) === RUN TestValuesFromTagPath TestValuesFromTagPath() William H. Gaddis The Recognitions One of the great seminal American novels of the 20th century. Austin Tappan Wright Islandia An example of earlier 20th century American utopian fiction. John Hawkes The Beetle Leg A lyrical novel about the construction of Ft. Peck Dam in Montana. T.E. Porter King's Day A magical novella. map: doc : books : book :[[]interface{}] [item: 0] -seq :[string] 1 author :[string] William H. Gaddis title :[string] The Recognitions review :[string] One of the great seminal American novels of the 20th century. [item: 1] title :[string] Islandia review :[string] An example of earlier 20th century American utopian fiction. -seq :[string] 2 author :[string] Austin Tappan Wright [item: 2] -seq :[string] 3 author :[string] John Hawkes title :[string] The Beetle Leg review :[string] A lyrical novel about the construction of Ft. Peck Dam in Montana. [item: 3] -seq :[string] 4 author : first_name :[string] T.E. last_name :[string] Porter title :[string] King's Day review :[string] A magical novella. path == doc.books: len(v): 1 0 : map[book:[map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day]]] path == doc.books.*: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] path == doc.books.book: len(v): 4 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] 1 : map[-seq:2 author:Austin Tappan Wright review:An example of earlier 20th century American utopian fiction. title:Islandia] 2 : map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] 3 : map[-seq:4 author:map[first_name:T.E. last_name:Porter] review:A magical novella. title:King's Day] doc == doc2 / path == doc.books.book: len(v): 1 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] path == doc.books.book.*: len(v): 12 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : John Hawkes 7 : The Beetle Leg 8 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. doc == doc2 / path == doc.books.book.*: len(v): 3 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. path == doc.books.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.author: len(v): 4 0 : William H. Gaddis 1 : Austin Tappan Wright 2 : John Hawkes 3 : map[first_name:T.E. last_name:Porter] path == doc.*.*.title: len(v): 4 0 : The Recognitions 1 : Islandia 2 : The Beetle Leg 3 : King's Day path == doc.*.*.*: len(v): 12 0 : William H. Gaddis 1 : The Recognitions 2 : One of the great seminal American novels of the 20th century. 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. 6 : John Hawkes 7 : The Beetle Leg 8 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. path == doc.*.*.*.*: len(v): 2 0 : T.E. 1 : Porter --- PASS: TestValuesFromTagPath (0.00s) === RUN TestValuesFromTagPath2 TestValuesFromTagPath2(), iteration: 0 no default:text default:word map: data : netid : disable :[string] no text1 :[string] default:text word1 :[string] default:word path == data.*: len(v): 1 0 : map[disable:no text1:default:text word1:default:word] disable : no text1 : default:text word1 : default:word path == data.*.*: len(v): 3 0 : default:text 1 : default:word 2 : no TestValuesFromTagPath2(), iteration: 1 yes default:text default:word map: data : idnet : disable :[string] yes text1 :[string] default:text word1 :[string] default:word path == data.*: len(v): 1 0 : map[disable:yes text1:default:text word1:default:word] disable : yes text1 : default:text word1 : default:word path == data.*.*: len(v): 3 0 : yes 1 : default:text 2 : default:word --- PASS: TestValuesFromTagPath2 (0.00s) === RUN TestUnmarshal Unmarshal test ... *map[string]interface{}, *string m: map[doc:map[name:Mayer Hawthorne song:map[title:A Long Time verse:map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]]]]] s: {"doc":{"name":"Mayer Hawthorne","song":{"title":"A Long Time","verse":{"-no":"1","line":[{"#text":"Henry was a renegade","-no":"1"},{"#text":"Didn't like to play it safe","-no":"2"}]}}}} --- PASS: TestUnmarshal (0.00s) === RUN TestStructValue Unmarshal test ... struct: clbanning
unknown
myInfo: {XMLName:{Space: Local:info} Name:clbanning Address:unknown} --- PASS: TestStructValue (0.00s) === RUN TestMapValue TestMapValue of doc.song.verse w/ len(attrs) == 0. doc: Mayer Hawthorne A Long Time Henry was a renegade Didn't like to play it safe result: map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]] --- PASS: TestMapValue (0.00s) PASS ok github.com/clbanning/mxj/v2/x2j-wrapper 0.016s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang dh_auto_install --destdir=debian/golang-github-clbanning-mxj-dev/ -O--builddirectory=_build -O--buildsystem=golang dh_installdocs -O--builddirectory=_build -O--buildsystem=golang dh_installchangelogs -O--builddirectory=_build -O--buildsystem=golang dh_installsystemduser -O--builddirectory=_build -O--buildsystem=golang dh_perl -O--builddirectory=_build -O--buildsystem=golang dh_link -O--builddirectory=_build -O--buildsystem=golang dh_strip_nondeterminism -O--builddirectory=_build -O--buildsystem=golang dh_compress -O--builddirectory=_build -O--buildsystem=golang dh_fixperms -O--builddirectory=_build -O--buildsystem=golang dh_missing -O--builddirectory=_build -O--buildsystem=golang dh_installdeb -O--builddirectory=_build -O--buildsystem=golang dh_golang -O--builddirectory=_build -O--buildsystem=golang dh_gencontrol -O--builddirectory=_build -O--buildsystem=golang dh_md5sums -O--builddirectory=_build -O--buildsystem=golang dh_builddeb -O--builddirectory=_build -O--buildsystem=golang dpkg-deb: building package 'golang-github-clbanning-mxj-dev' in '../golang-github-clbanning-mxj-dev_2.7.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../golang-github-clbanning-mxj_2.7.0-1_arm64.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: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3879562/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/3879562 and its subdirectories I: Current time: Thu Dec 25 19:55:22 +14 2025 + false + set +x I: pbuilder-time-stamp: 1766642122 Thu Dec 25 05:55:22 UTC 2025 I: Signing ./b2/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo as golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc Thu Dec 25 05:55:22 UTC 2025 I: Signed ./b2/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo as ./b2/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc Thu Dec 25 05:55:22 UTC 2025 - build #2 for golang-github-clbanning-mxj/trixie/arm64 on codethink03-arm64 done. Starting cleanup. All cleanup done. Thu Dec 25 05:55:22 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-QlqtppTK, removing. /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2: total 152 drwxr-xr-x 2 jenkins jenkins 4096 Nov 21 23:31 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 21 23:32 b2 -rw-r--r-- 1 jenkins jenkins 2290 Oct 10 2023 golang-github-clbanning-mxj_2.7.0-1.dsc -rw------- 1 jenkins jenkins 138005 Nov 21 23:31 rbuildlog.Q8lJUFh /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1: total 1320 -rw-r--r-- 1 jenkins jenkins 134168 Nov 21 23:31 build.log -rw-r--r-- 1 jenkins jenkins 67372 Nov 21 23:31 golang-github-clbanning-mxj-dev_2.7.0-1_all.deb -rw-r--r-- 1 jenkins jenkins 4784 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2290 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1.dsc -rw-r--r-- 1 jenkins jenkins 4994 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 5876 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1459 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1944 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0-1_source.changes -rw-r--r-- 1 jenkins jenkins 1097456 Nov 21 23:31 golang-github-clbanning-mxj_2.7.0.orig.tar.gz /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2: total 1312 -rw-r--r-- 1 jenkins jenkins 136111 Nov 21 23:32 build.log -rw-r--r-- 1 jenkins jenkins 67372 Nov 21 23:32 golang-github-clbanning-mxj-dev_2.7.0-1_all.deb -rw-r--r-- 1 jenkins jenkins 4784 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 2290 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1.dsc -rw-r--r-- 1 jenkins jenkins 4994 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo -rw-r--r-- 1 jenkins jenkins 5876 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1459 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1_arm64.changes -rw-r--r-- 1 jenkins jenkins 1944 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0-1_source.changes -rw-r--r-- 1 jenkins jenkins 1097456 Nov 21 23:32 golang-github-clbanning-mxj_2.7.0.orig.tar.gz Thu Nov 21 23:32:24 UTC 2024 I: Deleting $TMPDIR on codethink03-arm64.debian.net. Thu Nov 21 23:32:25 UTC 2024 I: golang-github-clbanning-mxj_2.7.0-1_arm64.changes: Format: 1.8 Date: Mon, 09 Oct 2023 16:00:19 -0600 Source: golang-github-clbanning-mxj Binary: golang-github-clbanning-mxj-dev Architecture: all Version: 2.7.0-1 Distribution: unstable Urgency: medium Maintainer: Debian Go Packaging Team Changed-By: Anthony Fok Description: golang-github-clbanning-mxj-dev - mxj - to/from maps, XML and JSON (Go library) Changes: golang-github-clbanning-mxj (2.7.0-1) unstable; urgency=medium . * New upstream version 2.7.0 * Set XS-Go-Import-Path to github.com/clbanning/mxj/v2 as per go.mod * Add patch to use v2 in import paths, and run "go mod tidy"; see https://github.com/clbanning/mxj/pull/116 * Add missing build dependency: golang-github-google-go-cmp-dev Checksums-Sha1: 4f7baf58aa8133c88714efe72deb2cc68e459c85 67372 golang-github-clbanning-mxj-dev_2.7.0-1_all.deb 919067c9ac04b1a69df14e39d49d6a82e4d9f12e 4994 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo Checksums-Sha256: ba61c0588fa50076e50af35bb230a3a28f1cf7bc57548bffb464d2b4f3693a94 67372 golang-github-clbanning-mxj-dev_2.7.0-1_all.deb e6bc907eab698fd1826b1f37e9704433384c982c434083f1320039a3a0ed8368 4994 golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo Files: 0070f9d2618a9e2e203367f02c6dd527 67372 golang optional golang-github-clbanning-mxj-dev_2.7.0-1_all.deb 73cbfe8e9ab88a15186789aebe52a27c 4994 golang optional golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2024-11-21 23:31:37.972761117 +0000 +++ b2/build.log 2024-11-21 23:32:24.194668664 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Nov 21 11:30:38 -12 2024 -I: pbuilder-time-stamp: 1732231838 +I: Current time: Thu Dec 25 19:54:43 +14 2025 +I: pbuilder-time-stamp: 1766642083 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ dpkg-source: info: applying 0001-use-v2-in-import-paths.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2198571/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +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 Dec 25 05:54 /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/3879562/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3879562/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="32" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='91794b8d0eb7440b99d2d19223bd80e7' - 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='2198571' - PS1='# ' - PS2='> ' + INVOCATION_ID=c6e33927a30d4b2195fc9f89cea307f8 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=3879562 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.yAy8seg2/pbuilderrc_uBme --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1 --logfile b1/build.log golang-github-clbanning-mxj_2.7.0-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4: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.yAy8seg2/pbuilderrc_z4zv --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2 --logfile b2/build.log golang-github-clbanning-mxj_2.7.0-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-cloud-arm64 #1 SMP Debian 6.1.115-1 (2024-11-01) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2198571/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -151,7 +183,7 @@ Get: 34 http://deb.debian.org/debian trixie/main arm64 golang-go arm64 2:1.23~2 [44.3 kB] Get: 35 http://deb.debian.org/debian trixie/main arm64 golang-any arm64 2:1.23~2 [5172 B] Get: 36 http://deb.debian.org/debian trixie/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB] -Fetched 62.2 MB in 0s (167 MB/s) +Fetched 62.2 MB in 0s (270 MB/s) debconf: delaying package configuration, since apt-utils is not installed 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 ... 20087 files and directories currently installed.) @@ -310,7 +342,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/golang-github-clbanning-mxj-2.7.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../golang-github-clbanning-mxj_2.7.0-1_source.changes +I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-clbanning-mxj-2.7.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../golang-github-clbanning-mxj_2.7.0-1_source.changes dpkg-buildpackage: info: source package golang-github-clbanning-mxj dpkg-buildpackage: info: source version 2.7.0-1 dpkg-buildpackage: info: source distribution unstable @@ -329,72 +365,72 @@ dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j github.com/clbanning/mxj/v2/x2j-wrapper +internal/godebugs +internal/byteorder +internal/goarch internal/coverage/rtcov +internal/profilerecord internal/goos -internal/unsafeheader -internal/godebugs internal/goexperiment -internal/runtime/syscall -internal/goarch -unicode +internal/race +internal/unsafeheader internal/cpu -internal/profilerecord +internal/runtime/syscall sync/atomic -unicode/utf8 +internal/chacha8rand encoding -internal/byteorder +unicode +internal/abi +unicode/utf8 +runtime/internal/math +runtime/internal/sys math/bits internal/itoa -internal/race cmp -internal/abi -runtime/internal/sys internal/asan internal/msan unicode/utf16 -internal/chacha8rand -runtime/internal/math math -internal/bytealg internal/runtime/atomic +internal/bytealg internal/runtime/exithook internal/stringslite runtime internal/reflectlite -sync iter +sync slices internal/bisect internal/testlog errors sort internal/godebug -io -strconv internal/oserror +io path +strconv syscall bytes -strings internal/saferio +strings reflect bufio regexp/syntax regexp -time internal/syscall/execenv internal/syscall/unix -io/fs +time internal/poll +io/fs +internal/filepathlite encoding/binary internal/fmtsort -internal/filepathlite os encoding/base64 fmt -encoding/gob -encoding/json encoding/xml +encoding/json +encoding/gob github.com/clbanning/mxj/v2 github.com/clbanning/mxj/v2/j2x github.com/clbanning/mxj/v2/x2j @@ -1045,7 +1081,7 @@ ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ValuesForPath, doc.*.* -seq=3 ... ss.v: map[-seq:3 author:John Hawkes review:A lyrical novel about the construction of Ft. Peck Dam in Montana. title:The Beetle Leg] ---- PASS: TestValuesForPath (0.01s) +--- PASS: TestValuesForPath (0.00s) === RUN TestValuesForNotKey ValuesForNotKey ... ValuesForPath, doc.books.book !author:William T. Gaddis @@ -1150,12 +1186,12 @@ 12 json3-LeafNodes: +mxj.LeafNode{Path:"a", Value:"list"} mxj.LeafNode{Path:"of[0]", Value:"data"} mxj.LeafNode{Path:"of[1]", Value:"of"} mxj.LeafNode{Path:"of[2]", Value:3} mxj.LeafNode{Path:"of[3]", Value:"types"} mxj.LeafNode{Path:"of[4]", Value:true} -mxj.LeafNode{Path:"a", Value:"list"} json3-LeafValues: "list" @@ -1174,9 +1210,9 @@ "of[4]" xml2data2-LeafValues: +mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[0].-num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].-color", Value:"blue"} -mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} mxj.LeafNode{Path:"doc.item[1].-num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].-color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].-side", Value:"left"} @@ -1188,39 +1224,39 @@ mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} no-hyphen-xml2data2-LeafValues: +mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0].#text", Value:"Item 2 is blue"} -mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} -mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} +mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} no-hyphen-xml2data2-LeafValues(NoAttributes): mxj.LeafNode{Path:"doc.item[0].num", Value:"2"} mxj.LeafNode{Path:"doc.item[0].color", Value:"blue"} mxj.LeafNode{Path:"doc.item[0]", Value:"Item 2 is blue"} +mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} mxj.LeafNode{Path:"doc.item[1].color", Value:"green"} -mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[0].length", Value:"3.5"} +mxj.LeafNode{Path:"doc.item[1].arm[0].side", Value:"left"} mxj.LeafNode{Path:"doc.item[1].arm[1].side", Value:"right"} mxj.LeafNode{Path:"doc.item[1].arm[1].length", Value:"3.6"} -mxj.LeafNode{Path:"doc.item[1].num", Value:"3"} --- PASS: TestLeafNodes (0.00s) === RUN TestLeafDotNotation DotNotation-LeafValues: -mxj.LeafNode{Path:"doc.item.0.-num", Value:"2"} mxj.LeafNode{Path:"doc.item.0.-color", Value:"blue"} mxj.LeafNode{Path:"doc.item.0.#text", Value:"Item 2 is blue"} +mxj.LeafNode{Path:"doc.item.0.-num", Value:"2"} mxj.LeafNode{Path:"doc.item.1.-num", Value:"3"} mxj.LeafNode{Path:"doc.item.1.-color", Value:"green"} mxj.LeafNode{Path:"doc.item.1.arm.0.-side", Value:"left"} mxj.LeafNode{Path:"doc.item.1.arm.0.-length", Value:"3.5"} -mxj.LeafNode{Path:"doc.item.1.arm.1.-length", Value:"3.6"} mxj.LeafNode{Path:"doc.item.1.arm.1.-side", Value:"right"} +mxj.LeafNode{Path:"doc.item.1.arm.1.-length", Value:"3.6"} --- PASS: TestLeafDotNotation (0.00s) === RUN TestMisc @@ -2425,7 +2461,7 @@ map[stream:stream:map[]] --- PASS: TestXMPPStreamTagSeq (0.00s) PASS -ok github.com/clbanning/mxj/v2 0.058s +ok github.com/clbanning/mxj/v2 0.026s === RUN TestJsonToXml_1 [{"some-null-value":"", "a-non-null-value":"bar"}] xmloutput: bar @@ -2435,13 +2471,13 @@ xmloutput: 1st2nd --- PASS: TestJsonToXml_2 (0.00s) PASS -ok github.com/clbanning/mxj/v2/j2x 0.028s +ok github.com/clbanning/mxj/v2/j2x 0.012s === RUN TestGoofy -TestGoofy ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] +TestGoofy ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofyVal:0x40001125d0 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} -TestGoofier ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofierVal:0x400007f2c0 goofyVal:0x400000c5e8 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] +TestGoofier ... MapToDoc: map[byteVal:[116 104 101 32 97 105 100 32 111 102 32 116 104 101 105 114 32 99 111 117 110 116 114 121] goofierVal:0x40001152c0 goofyVal:0x40001125d0 nilVal: xml:map[tag:map[-bool:true -one:1 -pi:3.1415962535] tagJR:map[-key:value]]] v: {"byteVal":"dGhlIGFpZCBvZiB0aGVpciBjb3VudHJ5","goofierVal":{"G":{"S":"Now is the time for","Sp":"all good men to come to"},"B":"dGhlIHRyZWUgb2YgZnJlZWRvbSBtdXN0IHBlcmlvZGljYWxseSBiZQ==","N":null},"goofyVal":{"S":"Now is the time for","Sp":"all good men to come to"},"nilVal":null,"xml":{"tag":{"-bool":"true","-one":"1","-pi":"3.1415962535"},"tagJR":{"-key":"value"}}} --- PASS: TestGoofy (0.00s) === RUN TestToMap @@ -2532,11 +2568,25 @@ -mpriority :[float64] 1.00e+00 text :[string] help me! song : + chorus : + line :[[]interface{}] + [item: 0] + -no :[float64] 1.00e+00 + #text :[string] It's going to take a long time + [item: 1] + -no :[float64] 2.00e+00 + #text :[string] It's going to take it, but we'll make it one day + [item: 2] + -no :[float64] 3.00e+00 + #text :[string] It's going to take a long time + [item: 3] + -no :[float64] 4.00e+00 + #text :[string] It's going to take it, but we'll make it one day + -title :[string] A Long Time -author :[string] Mayer Hawthorne verses : verse :[[]interface{}] [item: 0] - -name :[string] verse 1 -no :[float64] 1.00e+00 line :[[]interface{}] [item: 0] @@ -2549,27 +2599,28 @@ -no :[float64] 3.00e+00 #text :[string] One component at a time [item: 3] - #text :[string] There's got to be a better way -no :[float64] 4.00e+00 + #text :[string] There's got to be a better way [item: 4] -no :[float64] 5.00e+00 #text :[string] Oh, people came from miles around [item: 5] - #text :[string] Searching for a steady job -no :[float64] 6.00e+00 + #text :[string] Searching for a steady job [item: 6] -no :[float64] 7.00e+00 #text :[string] Welcome to the Motor Town [item: 7] -no :[float64] 8.00e+00 #text :[string] Booming like an atom bomb + -name :[string] verse 1 [item: 1] -name :[string] verse 2 -no :[float64] 2.00e+00 line :[[]interface{}] [item: 0] - -no :[float64] 1.00e+00 #text :[string] Oh, Henry was the end of the story + -no :[float64] 1.00e+00 [item: 1] -no :[float64] 2.00e+00 #text :[string] Then everything went wrong @@ -2579,21 +2630,6 @@ [item: 3] -no :[float64] 4.00e+00 #text :[string] But it just takes so long - chorus : - line :[[]interface{}] - [item: 0] - -no :[float64] 1.00e+00 - #text :[string] It's going to take a long time - [item: 1] - -no :[float64] 2.00e+00 - #text :[string] It's going to take it, but we'll make it one day - [item: 2] - -no :[float64] 3.00e+00 - #text :[string] It's going to take a long time - [item: 3] - #text :[string] It's going to take it, but we'll make it one day - -no :[float64] 4.00e+00 - -title :[string] A Long Time DocToJsonIndent, recast==true: { @@ -3131,9 +3167,9 @@ vv: [William H. Gaddis Austin Tappan Wright John Hawkes map[first_name:T.E. last_name:Porter]] ValuesAtTagPath...doc2#book -ss: [doc.books.author.book doc.books.author.books.book] -vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] +ss: [doc.books.author.books.book doc.books.author.book] vv: [map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]]] +vv: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] vv,shortest_path: [map[book:[map[-seq:1 review:One of the great seminal American novels of the 20th century. title:The Recognitions] map[review:Won the National Book Award title:JR]] name:William H. Gaddis] map[books:map[book:[map[title:The Beetle Leg] map[title:The Blood Oranges]]] name:John Hawkes]] --- PASS: TestValuesAtTagPath (0.00s) === RUN TestPathsForKey @@ -3212,10 +3248,10 @@ title :[string] The Recognitions review :[string] One of the great seminal American novels of the 20th century. [item: 1] - -seq :[string] 2 - author :[string] Austin Tappan Wright title :[string] Islandia review :[string] An example of earlier 20th century American utopian fiction. + -seq :[string] 2 + author :[string] Austin Tappan Wright [item: 2] -seq :[string] 3 author :[string] John Hawkes @@ -3243,15 +3279,15 @@ doc == doc2 / path == doc.books.book: len(v): 1 0 : map[-seq:1 author:William H. Gaddis review:One of the great seminal American novels of the 20th century. title:The Recognitions] path == doc.books.book.*: len(v): 12 -0 : One of the great seminal American novels of the 20th century. -1 : William H. Gaddis -2 : The Recognitions +0 : William H. Gaddis +1 : The Recognitions +2 : One of the great seminal American novels of the 20th century. 3 : Austin Tappan Wright 4 : Islandia 5 : An example of earlier 20th century American utopian fiction. -6 : The Beetle Leg -7 : A lyrical novel about the construction of Ft. Peck Dam in Montana. -8 : John Hawkes +6 : John Hawkes +7 : The Beetle Leg +8 : A lyrical novel about the construction of Ft. Peck Dam in Montana. 9 : map[first_name:T.E. last_name:Porter] 10 : King's Day 11 : A magical novella. @@ -3313,14 +3349,14 @@ path == data.*: len(v): 1 0 : map[disable:no text1:default:text word1:default:word] - word1 : default:word disable : no text1 : default:text + word1 : default:word path == data.*.*: len(v): 3 -0 : no -1 : default:text -2 : default:word +0 : default:text +1 : default:word +2 : no TestValuesFromTagPath2(), iteration: 1 @@ -3336,9 +3372,9 @@ map: data : idnet : - word1 :[string] default:word disable :[string] yes text1 :[string] default:text + word1 :[string] default:word path == data.*: len(v): 1 0 : map[disable:yes text1:default:text word1:default:word] @@ -3347,9 +3383,9 @@ word1 : default:word path == data.*.*: len(v): 3 -0 : default:text -1 : default:word -2 : yes +0 : yes +1 : default:text +2 : default:word --- PASS: TestValuesFromTagPath2 (0.00s) === RUN TestUnmarshal @@ -3369,7 +3405,7 @@ result: map[-no:1 line:[map[#text:Henry was a renegade -no:1] map[#text:Didn't like to play it safe -no:2]]] --- PASS: TestMapValue (0.00s) PASS -ok github.com/clbanning/mxj/v2/x2j-wrapper 0.051s +ok github.com/clbanning/mxj/v2/x2j-wrapper 0.016s create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang dh_prep -O--builddirectory=_build -O--buildsystem=golang @@ -3396,12 +3432,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3879562/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3879562/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/2198571 and its subdirectories -I: Current time: Thu Nov 21 11:31:34 -12 2024 -I: pbuilder-time-stamp: 1732231894 +I: removing directory /srv/workspace/pbuilder/3879562 and its subdirectories +I: Current time: Thu Dec 25 19:55:22 +14 2025 +I: pbuilder-time-stamp: 1766642122 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.diff: 73.1% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.diff.gz b2/build.log: 82.8% -- replaced with stdout Compressing the 1st log... b1/build.log: 83.0% -- replaced with stdout Thu Nov 21 23:32:26 UTC 2024 I: diffoscope 283 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_golang-github-clbanning-mxj_trixie_arm64_1732231946 + touch /var/log/reproducible-builds/diffoscope_stamp_golang-github-clbanning-mxj_trixie_arm64_1732231946 + RESULT=0 + systemd-run '--description=diffoscope on golang-github-clbanning-mxj/2.7.0-1 in trixie/arm64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-arm64_12-69602 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2 --run-session -c jenkins-reproducible-trixie-diffoscope-6cb53796-bd84-456b-ae57-6b9be97a28b8 -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/dbd-tmp-SsHKUfW ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1/golang-github-clbanning-mxj_2.7.0-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2/golang-github-clbanning-mxj_2.7.0-1_arm64.changes' + false + set +x Running as unit: rb-diffoscope-arm64_12-69602.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/golang-github-clbanning-mxj_2.7.0-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b1/golang-github-clbanning-mxj_2.7.0-1_arm64.changes /srv/reproducible-results/rbuild-debian/r-b-build.yAy8seg2/b2/golang-github-clbanning-mxj_2.7.0-1_arm64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.336s) 0.335s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.015s) 0.015s 12 calls diffoscope.comparators.binary.FilesystemFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 636ms CPU time consumed: 633ms _ _ _ _ _ __ _ ___ | | __ _ _ __ __ _ __ _(_) |_| |__ _ _| |__ / _` |/ _ \| |/ _` | '_ \ / _` |_____ / _` | | __| '_ \| | | | '_ \ _____ | (_| | (_) | | (_| | | | | (_| |_____| (_| | | |_| | | | |_| | |_) |_____| \__, |\___/|_|\__,_|_| |_|\__, | \__, |_|\__|_| |_|\__,_|_.__/ |___/ |___/ |___/ _ _ _ _ ___| | |__ __ _ _ __ _ __ (_)_ __ __ _ _ __ ___ __ __(_) / __| | '_ \ / _` | '_ \| '_ \| | '_ \ / _` |_____| '_ ` _ \\ \/ /| | | (__| | |_) | (_| | | | | | | | | | | | (_| |_____| | | | | |> < | | \___|_|_.__/ \__,_|_| |_|_| |_|_|_| |_|\__, | |_| |_| |_/_/\_\/ | |___/ |__/ Thu Nov 21 23:32:27 UTC 2024 I: diffoscope 283 found no differences in the changes files, and a .buildinfo file also exists. Thu Nov 21 23:32:27 UTC 2024 I: golang-github-clbanning-mxj from trixie built successfully and reproducibly on arm64. INSERT 0 1 INSERT 0 1 DELETE 1 [2024-11-21 23:32:27] INFO: Starting at 2024-11-21 23:32:27.849751 [2024-11-21 23:32:27] INFO: Generating the pages of 1 package(s) [2024-11-21 23:32:28] CRITICAL: https://tests.reproducible-builds.org/debian/trixie/arm64/golang-github-clbanning-mxj didn't produce a buildlog, even though it has been built. [2024-11-21 23:32:28] INFO: Finished at 2024-11-21 23:32:28.267627, took: 0:00:00.417887 Thu Nov 21 23:32:28 UTC 2024 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/trixie/arm64/golang-github-clbanning-mxj.html Thu Nov 21 23:32:28 UTC 2024 I: Submitting .buildinfo files to external archives: Thu Nov 21 23:32:28 UTC 2024 I: Submitting 8.0K b1/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc https://buildinfo.debian.net/919067c9ac04b1a69df14e39d49d6a82e4d9f12e/golang-github-clbanning-mxj_2.7.0-1_all Thu Nov 21 23:32:29 UTC 2024 I: Submitting 8.0K b2/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc https://buildinfo.debian.net/4e4f06e2ce03a08b8ea52737c7e0770c34104289/golang-github-clbanning-mxj_2.7.0-1_all Thu Nov 21 23:32:30 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Thu Nov 21 23:32:30 UTC 2024 I: Done submitting .buildinfo files. Thu Nov 21 23:32:30 UTC 2024 I: Removing signed golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc files: removed './b1/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc' removed './b2/golang-github-clbanning-mxj_2.7.0-1_arm64.buildinfo.asc' 1732231950 arm64 trixie golang-github-clbanning-mxj Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.rbuild.log: 81.8% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/arm64/golang-github-clbanning-mxj_2.7.0-1.rbuild.log.gz [2024-11-21 23:32:30] INFO: Starting at 2024-11-21 23:32:30.592681 [2024-11-21 23:32:30] INFO: Generating the pages of 1 package(s) [2024-11-21 23:32:30] INFO: Finished at 2024-11-21 23:32:30.846517, took: 0:00:00.253843 All cleanup done. Thu Nov 21 23:32:30 UTC 2024 - total duration: 0h 2m 8s. Thu Nov 21 23:32:30 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-zwx7gAXv, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 2min 11.233s CPU time consumed: 6.942s