I: pbuilder: network access will be disabled during build
I: Current time: Fri May 26 10:40:59 +14 2023
I: pbuilder-time-stamp: 1685047259
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/bookworm-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.5.7-1.dsc]
I: copying [./golang-github-clbanning-mxj_2.5.7.orig.tar.gz]
I: copying [./golang-github-clbanning-mxj_2.5.7-1.debian.tar.xz]
I: Extracting source
gpgv: Signature made Tue Jan 24 04:50:35 2023 +14
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.5.7-1.dsc: no acceptable signature found
dpkg-source: info: extracting golang-github-clbanning-mxj in golang-github-clbanning-mxj-2.5.7
dpkg-source: info: unpacking golang-github-clbanning-mxj_2.5.7.orig.tar.gz
dpkg-source: info: unpacking golang-github-clbanning-mxj_2.5.7-1.debian.tar.xz
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/9095/tmp/hooks/D01_modify_environment starting
debug: Running on jtx1a.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 May 26 10:41 /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/9095/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/9095/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]="15" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
  BASH_VERSION='5.2.15(1)-release'
  BUILDDIR=/build
  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
  BUILDUSERNAME=pbuilder2
  BUILD_ARCH=armhf
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 '
  DIRSTACK=()
  DISTRIBUTION=bookworm
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=arm
  HOST_ARCH=armhf
  IFS=' 	
  '
  INVOCATION_ID=eeb88efdd8da498d85828a416e95fdcf
  LANG=C
  LANGUAGE=it_CH:it
  LC_ALL=C
  MACHTYPE=arm-unknown-linux-gnueabihf
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnueabihf
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=9095
  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.h1QzlypD/pbuilderrc_Yweu --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.h1QzlypD/b2 --logfile b2/build.log --extrapackages usrmerge golang-github-clbanning-mxj_2.5.7-1.dsc'
  SUDO_GID=114
  SUDO_UID=108
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://10.0.0.15:3142/
I: uname -a
  Linux i-capture-the-hostname 5.10.0-23-arm64 #1 SMP Debian 5.10.179-1 (2023-05-12) aarch64 GNU/Linux
I: ls -l /bin
  total 5072
  -rwxr-xr-x 1 root root 838488 Apr 24 11:24 bash
  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bunzip2
  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bzcat
  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzcmp -> bzdiff
  -rwxr-xr-x 1 root root   2225 Sep 19  2022 bzdiff
  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzegrep -> bzgrep
  -rwxr-xr-x 1 root root   4893 Nov 28  2021 bzexe
  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzfgrep -> bzgrep
  -rwxr-xr-x 1 root root   3775 Sep 19  2022 bzgrep
  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bzip2
  -rwxr-xr-x 1 root root  67112 Sep 19  2022 bzip2recover
  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzless -> bzmore
  -rwxr-xr-x 1 root root   1297 Sep 19  2022 bzmore
  -rwxr-xr-x 1 root root  67632 Sep 21  2022 cat
  -rwxr-xr-x 1 root root  67676 Sep 21  2022 chgrp
  -rwxr-xr-x 1 root root  67644 Sep 21  2022 chmod
  -rwxr-xr-x 1 root root  67684 Sep 21  2022 chown
  -rwxr-xr-x 1 root root 133532 Sep 21  2022 cp
  -rwxr-xr-x 1 root root 132868 Jan  6 03:20 dash
  -rwxr-xr-x 1 root root 133220 Sep 21  2022 date
  -rwxr-xr-x 1 root root  67732 Sep 21  2022 dd
  -rwxr-xr-x 1 root root  68104 Sep 21  2022 df
  -rwxr-xr-x 1 root root 133632 Sep 21  2022 dir
  -rwxr-xr-x 1 root root  59128 Mar 23 23:02 dmesg
  lrwxrwxrwx 1 root root      8 Dec 20 03:33 dnsdomainname -> hostname
  lrwxrwxrwx 1 root root      8 Dec 20 03:33 domainname -> hostname
  -rwxr-xr-x 1 root root  67560 Sep 21  2022 echo
  -rwxr-xr-x 1 root root     41 Jan 25 04:43 egrep
  -rwxr-xr-x 1 root root  67548 Sep 21  2022 false
  -rwxr-xr-x 1 root root     41 Jan 25 04:43 fgrep
  -rwxr-xr-x 1 root root  55748 Mar 23 23:02 findmnt
  -rwsr-xr-x 1 root root  26208 Mar 23 22:15 fusermount
  -rwxr-xr-x 1 root root 128608 Jan 25 04:43 grep
  -rwxr-xr-x 2 root root   2346 Apr 10  2022 gunzip
  -rwxr-xr-x 1 root root   6447 Apr 10  2022 gzexe
  -rwxr-xr-x 1 root root  64220 Apr 10  2022 gzip
  -rwxr-xr-x 1 root root  67032 Dec 20 03:33 hostname
  -rwxr-xr-x 1 root root  67720 Sep 21  2022 ln
  -rwxr-xr-x 1 root root  35132 Mar 23 23:51 login
  -rwxr-xr-x 1 root root 133632 Sep 21  2022 ls
  -rwxr-xr-x 1 root root 136808 Mar 23 23:02 lsblk
  -rwxr-xr-x 1 root root  67800 Sep 21  2022 mkdir
  -rwxr-xr-x 1 root root  67764 Sep 21  2022 mknod
  -rwxr-xr-x 1 root root  67596 Sep 21  2022 mktemp
  -rwxr-xr-x 1 root root  38504 Mar 23 23:02 more
  -rwsr-xr-x 1 root root  38496 Mar 23 23:02 mount
  -rwxr-xr-x 1 root root   9824 Mar 23 23:02 mountpoint
  -rwxr-xr-x 1 root root 133532 Sep 21  2022 mv
  lrwxrwxrwx 1 root root      8 Dec 20 03:33 nisdomainname -> hostname
  lrwxrwxrwx 1 root root     14 Apr  3 20:25 pidof -> /sbin/killall5
  -rwxr-xr-x 1 root root  67608 Sep 21  2022 pwd
  lrwxrwxrwx 1 root root      4 Apr 24 11:24 rbash -> bash
  -rwxr-xr-x 1 root root  67600 Sep 21  2022 readlink
  -rwxr-xr-x 1 root root  67672 Sep 21  2022 rm
  -rwxr-xr-x 1 root root  67600 Sep 21  2022 rmdir
  -rwxr-xr-x 1 root root  67400 Nov  3  2022 run-parts
  -rwxr-xr-x 1 root root 133372 Jan  6 09:55 sed
  lrwxrwxrwx 1 root root      9 May 26 10:41 sh -> /bin/bash
  -rwxr-xr-x 1 root root  67584 Sep 21  2022 sleep
  -rwxr-xr-x 1 root root  67644 Sep 21  2022 stty
  -rwsr-xr-x 1 root root  50800 Mar 23 23:02 su
  -rwxr-xr-x 1 root root  67584 Sep 21  2022 sync
  -rwxr-xr-x 1 root root 336764 Apr  7 04:25 tar
  -rwxr-xr-x 1 root root  67144 Nov  3  2022 tempfile
  -rwxr-xr-x 1 root root 133224 Sep 21  2022 touch
  -rwxr-xr-x 1 root root  67548 Sep 21  2022 true
  -rwxr-xr-x 1 root root   9768 Mar 23 22:15 ulockmgr_server
  -rwsr-xr-x 1 root root  22108 Mar 23 23:02 umount
  -rwxr-xr-x 1 root root  67572 Sep 21  2022 uname
  -rwxr-xr-x 2 root root   2346 Apr 10  2022 uncompress
  -rwxr-xr-x 1 root root 133632 Sep 21  2022 vdir
  -rwxr-xr-x 1 root root  42608 Mar 23 23:02 wdctl
  lrwxrwxrwx 1 root root      8 Dec 20 03:33 ypdomainname -> hostname
  -rwxr-xr-x 1 root root   1984 Apr 10  2022 zcat
  -rwxr-xr-x 1 root root   1678 Apr 10  2022 zcmp
  -rwxr-xr-x 1 root root   6460 Apr 10  2022 zdiff
  -rwxr-xr-x 1 root root     29 Apr 10  2022 zegrep
  -rwxr-xr-x 1 root root     29 Apr 10  2022 zfgrep
  -rwxr-xr-x 1 root root   2081 Apr 10  2022 zforce
  -rwxr-xr-x 1 root root   8103 Apr 10  2022 zgrep
  -rwxr-xr-x 1 root root   2206 Apr 10  2022 zless
  -rwxr-xr-x 1 root root   1842 Apr 10  2022 zmore
  -rwxr-xr-x 1 root root   4577 Apr 10  2022 znew
I: user script /srv/workspace/pbuilder/9095/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: armhf
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
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
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19326 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.

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.19-go{a} golang-1.19-src{a} golang-any{a} golang-go{a} golang-src{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libsub-override-perl{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 pkg-config pkgconf wget 
0 packages upgraded, 36 newly installed, 0 to remove and 0 not upgraded.
Need to get 93.3 MB of archives. After unpacking 503 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian bookworm/main armhf sensible-utils all 0.0.17+nmu1 [19.0 kB]
Get: 2 http://deb.debian.org/debian bookworm/main armhf libmagic-mgc armhf 1:5.44-3 [305 kB]
Get: 3 http://deb.debian.org/debian bookworm/main armhf libmagic1 armhf 1:5.44-3 [96.5 kB]
Get: 4 http://deb.debian.org/debian bookworm/main armhf file armhf 1:5.44-3 [41.6 kB]
Get: 5 http://deb.debian.org/debian bookworm/main armhf gettext-base armhf 0.21-12 [157 kB]
Get: 6 http://deb.debian.org/debian bookworm/main armhf libuchardet0 armhf 0.0.7-1 [65.0 kB]
Get: 7 http://deb.debian.org/debian bookworm/main armhf groff-base armhf 1.22.4-10 [825 kB]
Get: 8 http://deb.debian.org/debian bookworm/main armhf bsdextrautils armhf 2.38.1-5+b1 [78.6 kB]
Get: 9 http://deb.debian.org/debian bookworm/main armhf libpipeline1 armhf 1.5.7-1 [33.6 kB]
Get: 10 http://deb.debian.org/debian bookworm/main armhf man-db armhf 2.11.2-2 [1351 kB]
Get: 11 http://deb.debian.org/debian bookworm/main armhf m4 armhf 1.4.19-3 [265 kB]
Get: 12 http://deb.debian.org/debian bookworm/main armhf autoconf all 2.71-3 [332 kB]
Get: 13 http://deb.debian.org/debian bookworm/main armhf autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian bookworm/main armhf automake all 1:1.16.5-1.3 [823 kB]
Get: 15 http://deb.debian.org/debian bookworm/main armhf autopoint all 0.21-12 [495 kB]
Get: 16 http://deb.debian.org/debian bookworm/main armhf libdebhelper-perl all 13.11.4 [81.2 kB]
Get: 17 http://deb.debian.org/debian bookworm/main armhf libtool all 2.4.7-5 [517 kB]
Get: 18 http://deb.debian.org/debian bookworm/main armhf dh-autoreconf all 20 [17.1 kB]
Get: 19 http://deb.debian.org/debian bookworm/main armhf libarchive-zip-perl all 1.68-1 [104 kB]
Get: 20 http://deb.debian.org/debian bookworm/main armhf libsub-override-perl all 0.09-4 [9304 B]
Get: 21 http://deb.debian.org/debian bookworm/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB]
Get: 22 http://deb.debian.org/debian bookworm/main armhf dh-strip-nondeterminism all 1.13.1-1 [8620 B]
Get: 23 http://deb.debian.org/debian bookworm/main armhf libelf1 armhf 0.188-2.1 [170 kB]
Get: 24 http://deb.debian.org/debian bookworm/main armhf dwz armhf 0.15-1 [101 kB]
Get: 25 http://deb.debian.org/debian bookworm/main armhf libicu72 armhf 72.1-3 [9048 kB]
Get: 26 http://deb.debian.org/debian bookworm/main armhf libxml2 armhf 2.9.14+dfsg-1.2 [591 kB]
Get: 27 http://deb.debian.org/debian bookworm/main armhf gettext armhf 0.21-12 [1229 kB]
Get: 28 http://deb.debian.org/debian bookworm/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 29 http://deb.debian.org/debian bookworm/main armhf po-debconf all 1.0.21+nmu1 [248 kB]
Get: 30 http://deb.debian.org/debian bookworm/main armhf debhelper all 13.11.4 [942 kB]
Get: 31 http://deb.debian.org/debian bookworm/main armhf dh-golang all 1.59 [27.8 kB]
Get: 32 http://deb.debian.org/debian bookworm/main armhf golang-1.19-src all 1.19.8-2 [18.3 MB]
Get: 33 http://deb.debian.org/debian bookworm/main armhf golang-1.19-go armhf 1.19.8-2 [56.9 MB]
Get: 34 http://deb.debian.org/debian bookworm/main armhf golang-src all 2:1.19~1 [5756 B]
Get: 35 http://deb.debian.org/debian bookworm/main armhf golang-go armhf 2:1.19~1 [45.0 kB]
Get: 36 http://deb.debian.org/debian bookworm/main armhf golang-any armhf 2:1.19~1 [5876 B]
Fetched 93.3 MB in 9s (10.8 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 ... 19326 files and directories currently installed.)
Preparing to unpack .../00-sensible-utils_0.0.17+nmu1_all.deb ...
Unpacking sensible-utils (0.0.17+nmu1) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../01-libmagic-mgc_1%3a5.44-3_armhf.deb ...
Unpacking libmagic-mgc (1:5.44-3) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../02-libmagic1_1%3a5.44-3_armhf.deb ...
Unpacking libmagic1:armhf (1:5.44-3) ...
Selecting previously unselected package file.
Preparing to unpack .../03-file_1%3a5.44-3_armhf.deb ...
Unpacking file (1:5.44-3) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../04-gettext-base_0.21-12_armhf.deb ...
Unpacking gettext-base (0.21-12) ...
Selecting previously unselected package libuchardet0:armhf.
Preparing to unpack .../05-libuchardet0_0.0.7-1_armhf.deb ...
Unpacking libuchardet0:armhf (0.0.7-1) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../06-groff-base_1.22.4-10_armhf.deb ...
Unpacking groff-base (1.22.4-10) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../07-bsdextrautils_2.38.1-5+b1_armhf.deb ...
Unpacking bsdextrautils (2.38.1-5+b1) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../08-libpipeline1_1.5.7-1_armhf.deb ...
Unpacking libpipeline1:armhf (1.5.7-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../09-man-db_2.11.2-2_armhf.deb ...
Unpacking man-db (2.11.2-2) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-3_armhf.deb ...
Unpacking m4 (1.4.19-3) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.71-3_all.deb ...
Unpacking autoconf (2.71-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.21-12_all.deb ...
Unpacking autopoint (0.21-12) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../15-libdebhelper-perl_13.11.4_all.deb ...
Unpacking libdebhelper-perl (13.11.4) ...
Selecting previously unselected package libtool.
Preparing to unpack .../16-libtool_2.4.7-5_all.deb ...
Unpacking libtool (2.4.7-5) ...
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 libsub-override-perl.
Preparing to unpack .../19-libsub-override-perl_0.09-4_all.deb ...
Unpacking libsub-override-perl (0.09-4) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../20-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../21-dh-strip-nondeterminism_1.13.1-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.13.1-1) ...
Selecting previously unselected package libelf1:armhf.
Preparing to unpack .../22-libelf1_0.188-2.1_armhf.deb ...
Unpacking libelf1:armhf (0.188-2.1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../23-dwz_0.15-1_armhf.deb ...
Unpacking dwz (0.15-1) ...
Selecting previously unselected package libicu72:armhf.
Preparing to unpack .../24-libicu72_72.1-3_armhf.deb ...
Unpacking libicu72:armhf (72.1-3) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../25-libxml2_2.9.14+dfsg-1.2_armhf.deb ...
Unpacking libxml2:armhf (2.9.14+dfsg-1.2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../26-gettext_0.21-12_armhf.deb ...
Unpacking gettext (0.21-12) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../27-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../28-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../29-debhelper_13.11.4_all.deb ...
Unpacking debhelper (13.11.4) ...
Selecting previously unselected package dh-golang.
Preparing to unpack .../30-dh-golang_1.59_all.deb ...
Unpacking dh-golang (1.59) ...
Selecting previously unselected package golang-1.19-src.
Preparing to unpack .../31-golang-1.19-src_1.19.8-2_all.deb ...
Unpacking golang-1.19-src (1.19.8-2) ...
Selecting previously unselected package golang-1.19-go.
Preparing to unpack .../32-golang-1.19-go_1.19.8-2_armhf.deb ...
Unpacking golang-1.19-go (1.19.8-2) ...
Selecting previously unselected package golang-src.
Preparing to unpack .../33-golang-src_2%3a1.19~1_all.deb ...
Unpacking golang-src (2:1.19~1) ...
Selecting previously unselected package golang-go:armhf.
Preparing to unpack .../34-golang-go_2%3a1.19~1_armhf.deb ...
Unpacking golang-go:armhf (2:1.19~1) ...
Selecting previously unselected package golang-any:armhf.
Preparing to unpack .../35-golang-any_2%3a1.19~1_armhf.deb ...
Unpacking golang-any:armhf (2:1.19~1) ...
Setting up libpipeline1:armhf (1.5.7-1) ...
Setting up libicu72:armhf (72.1-3) ...
Setting up bsdextrautils (2.38.1-5+b1) ...
Setting up libmagic-mgc (1:5.44-3) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.11.4) ...
Setting up libmagic1:armhf (1:5.44-3) ...
Setting up gettext-base (0.21-12) ...
Setting up golang-1.19-src (1.19.8-2) ...
Setting up m4 (1.4.19-3) ...
Setting up file (1:5.44-3) ...
Setting up autotools-dev (20220109.1) ...
Setting up autopoint (0.21-12) ...
Setting up autoconf (2.71-3) ...
Setting up sensible-utils (0.0.17+nmu1) ...
Setting up libuchardet0:armhf (0.0.7-1) ...
Setting up libsub-override-perl (0.09-4) ...
Setting up golang-src (2:1.19~1) ...
Setting up libelf1:armhf (0.188-2.1) ...
Setting up libxml2:armhf (2.9.14+dfsg-1.2) ...
Setting up golang-1.19-go (1.19.8-2) ...
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.13.1-1) ...
Setting up gettext (0.21-12) ...
Setting up libtool (2.4.7-5) ...
Setting up golang-go:armhf (2:1.19~1) ...
Setting up golang-any:armhf (2:1.19~1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up dh-strip-nondeterminism (1.13.1-1) ...
Setting up dwz (0.15-1) ...
Setting up groff-base (1.22.4-10) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up man-db (2.11.2-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up debhelper (13.11.4) ...
Setting up dh-golang (1.59) ...
Processing triggers for libc-bin (2.36-9) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
Reading package lists...
Building dependency tree...
Reading state information...
usrmerge is already the newest version (35).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I: Building the package
I: user script /srv/workspace/pbuilder/9095/tmp/hooks/A99_set_merged_usr starting
Re-configuring usrmerge...
removed '/etc/unsupported-skip-usrmerge-conversion'
The system has been successfully converted.
I: user script /srv/workspace/pbuilder/9095/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/golang-github-clbanning-mxj-2.5.7/ && 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.5.7-1_source.changes
dpkg-buildpackage: info: source package golang-github-clbanning-mxj
dpkg-buildpackage: info: source version 2.5.7-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Anthony Fok <foka@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 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 4 github.com/clbanning/mxj github.com/clbanning/mxj/j2x github.com/clbanning/mxj/x2j github.com/clbanning/mxj/x2j-wrapper
internal/goarch
internal/unsafeheader
internal/goexperiment
internal/cpu
internal/goos
internal/abi
runtime/internal/math
runtime/internal/sys
runtime/internal/syscall
internal/race
sync/atomic
unicode
internal/bytealg
runtime/internal/atomic
unicode/utf8
encoding
math/bits
internal/itoa
unicode/utf16
runtime
math
internal/reflectlite
sync
internal/testlog
errors
sort
io
internal/oserror
strconv
syscall
internal/safefilepath
path
bytes
strings
reflect
regexp/syntax
bufio
internal/syscall/unix
time
internal/syscall/execenv
regexp
internal/poll
io/fs
os
internal/fmtsort
encoding/binary
fmt
encoding/base64
encoding/xml
encoding/json
encoding/gob
github.com/clbanning/mxj
github.com/clbanning/mxj/j2x
github.com/clbanning/mxj/x2j
github.com/clbanning/mxj/x2j-wrapper
   dh_auto_test -O--builddirectory=_build -O--buildsystem=golang
	cd _build && go test -vet=off -v -p 4 github.com/clbanning/mxj github.com/clbanning/mxj/j2x github.com/clbanning/mxj/x2j github.com/clbanning/mxj/x2j-wrapper
=== RUN   TestAnyXmlHeader

----------------  anyxml_test.go ...
--- PASS: TestAnyXmlHeader (0.00s)
=== RUN   TestAnyXml
[]->x: <doc><somekey>somevalue</somekey><somekey>somevalue</somekey><element><somekey>somevalue</somekey><someotherkey>someothervalue</someotherkey></element><element>string</element><element>3.14159265</element><element>true</element></doc>
a->x: <doc><element>try</element><element>this</element><element>3.14159265</element><element>true</element></doc>
a->x: <myRootTag><myElementTag>try</myElementTag><myElementTag>this</myElementTag><myElementTag>3.14159265</myElementTag><myElementTag>true</myElementTag></myRootTag>
f->x: <doc>3.14159625</doc>
s->x: <MyStruct><somekey>somevalue</somekey><floatval>3.1415963</floatval></MyStruct>
--- PASS: TestAnyXml (0.00s)
=== RUN   TestAnyXmlIndent
[]->x:
 <doc>
  <somekey>somevalue</somekey>
  <somekey>somevalue</somekey>
  <element>
    <somekey>somevalue</somekey>
    <someotherkey>someothervalue</someotherkey>
  </element>
  <element>string</element>
  <element>3.14159265</element>
  <element>true</element>
</doc>
a->x:
 <doc>
  <element>try</element>
  <element>this</element>
  <element>3.14159265</element>
  <element>true</element>
</doc>
f->x:
 <doc>3.14159625</doc>
f->x:
 <myRootTag>3.14159625</myRootTag>
s->x:
 <MyStruct>
  <somekey>somevalue</somekey>
  <floatval>3.1415963</floatval>
</MyStruct>
--- 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 ...
<doc>
  <elem1 attr1="this" attr2="is">a test</elem1>
  <elem2 attr1="this" attr2="is not">a test</elem2>
</doc>
--- PASS: TestMarshalPrefixDefault (0.00s)
=== RUN   TestMarshalPrefixNoHyphen
----------------- TestMarshalPrefixNoHyphen ...
x: <doc>
  <elem1>a test
    <attr1>this</attr1>
    <attr2>is</attr2>
  </elem1>
  <elem2>a test
    <attr1>this</attr1>
    <attr2>is not</attr2>
  </elem2>
</doc>
--- PASS: TestMarshalPrefixNoHyphen (0.00s)
=== RUN   TestMarshalPrefixUnderscore
----------------- TestMarshalPrefixUnderscore ...
<doc>
  <elem1 attr1="this" attr2="is">a test</elem1>
  <elem2 attr1="this" attr2="is not">a test</elem2>
</doc>
--- 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: <Allitems><Item/><Item><description>Some description goes here.</description><link>http://www.something.com</link></Item></Allitems>
--- 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: <Allitems><Item/><Item><link>http://www.something.com</link><description>Some description goes here.</description></Item></Allitems>
--- PASS: TestBadXmlSeq (0.00s)
=== RUN   TestBadXmlReader
TestBadXmlReader ...
m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]]
m: <Allitems><Item/><Item><description>Some description goes here.</description><link>http://www.something.com</link></Item></Allitems>
--- 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: <Allitems><Item/><Item><link>http://www.something.com</link><description>Some description goes here.</description></Item></Allitems>
--- 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: <Allitems><Item/><Item><description>Some description goes here.</description><link>http://www.something.com</link></Item></Allitems>
--- 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: <Allitems><Item/><Item><link>http://www.something.com</link><description>Some description goes here.</description></Item></Allitems>
--- PASS: TestBomDataSeq (0.00s)
=== RUN   TestBomDataReader
TestBomDataReader ...
m: map[Allitems:map[Item:[ map[description:Some description goes here. link:http://www.something.com]]]]
m: <Allitems><Item/><Item><description>Some description goes here.</description><link>http://www.something.com</link></Item></Allitems>
--- 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: <Allitems><Item/><Item><link>http://www.something.com</link><description>Some description goes here.</description></Item></Allitems>
--- PASS: TestBomDataSeqReader (0.00s)
=== RUN   TestBulkHeader

----------------  bulk_test.go ...
--- PASS: TestBulkHeader (0.00s)
=== RUN   TestXmlReader
XmlReader, xmldata:
 
<book>
	<author>William H. Gaddis</author>
	<title>The Recognitions</title>
	<review>One of the seminal American novels of the 20th century.</review>
</book>
<book>
	<author>William H. Gaddis</author>
	<title>JR</title>
	<review>Won the National Book Award.</end_tag_error>
</book>
<book>
	<author>Austin Tappan Wright</author>
	<title>Islandia</title>
	<review>An example of earlier 20th century American utopian fiction.</review>
</book>
<book>
	<author>John Hawkes</author>
	<title>The Beetle Leg</title>
	<review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
</book>
<book>
	<author>
		<first_name>T.E.</first_name>
		<last_name>Porter</last_name>
	</author>
	<title>King's Day</title>
	<review>A magical novella.</review>
</book>
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 <review> closed by </end_tag_error>
[xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element </book>

--- 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  :
   <book>
    <author>William H. Gaddis</author>
    <review>One of the great seminal American novels of the 20th century.</review>
    <title>The Recognitions</title>
  </book>
  <book>
    <author>Austin Tappan Wright</author>
    <review>An example of earlier 20th century American utopian fiction.</review>
    <title>Islandia</title>
  </book>
  <book>
    <author>John Hawkes</author>
    <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
    <title>The Beetle Leg</title>
  </book>
  <book>
    <author>
      <first_name>T.E.</first_name>
      <last_name>Porter</last_name>
    </author>
    <review>A magical novella.</review>
    <title>King's Day</title>
  </book>

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:
 
<book>
	<author>William H. Gaddis</author>
	<title>The Recognitions</title>
	<review>One of the seminal American novels of the 20th century.</review>
</book>
<book>
	<author>William H. Gaddis</author>
	<title>JR</title>
	<review>Won the National Book Award.</end_tag_error>
</book>
<book>
	<author>Austin Tappan Wright</author>
	<title>Islandia</title>
	<review>An example of earlier 20th century American utopian fiction.</review>
</book>
<book>
	<author>John Hawkes</author>
	<title>The Beetle Leg</title>
	<review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
</book>
<book>
	<author>
		<first_name>T.E.</first_name>
		<last_name>Porter</last_name>
	</author>
	<title>King's Day</title>
	<review>A magical novella.</review>
</book>
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 <review> closed by </end_tag_error>

<book>
	<author>William H. Gaddis</author>
	<title>JR</title>
	<review>Won the National Book Award.</end_tag_error>
[xmlReader: 3] xml.Decoder.Token() - XML syntax error on line 2: unexpected end element </book>

</book>

--- 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  :
   <book>
    <author>William H. Gaddis</author>
    <review>One of the great seminal American novels of the 20th century.</review>
    <title>The Recognitions</title>
  </book>
  <book>
    <author>Austin Tappan Wright</author>
    <review>An example of earlier 20th century American utopian fiction.</review>
    <title>Islandia</title>
  </book>
  <book>
    <author>John Hawkes</author>
    <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
    <title>The Beetle Leg</title>
  </book>
  <book>
    <author>
      <first_name>T.E.</first_name>
      <last_name>Porter</last_name>
    </author>
    <review>A magical novella.</review>
    <title>King's Day</title>
  </book>

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: &quot;&apos;&lt;&gt;&amp;
--- PASS: TestEscapeChars (0.00s)
=== RUN   TestXMLEscapeChars
================== TestXMLEscapeChars
s: <doc>&quot;&apos;&lt;&gt;&amp;</doc>
m: <doc>
  <mychars>&quot;&apos;&lt;&gt;&amp;</mychars>
</doc>
--- PASS: TestXMLEscapeChars (0.00s)
=== RUN   TestXMLEscapeChars2
================== TestXMLEscapeChars2
<doc><simple attr1="an attribute">&quot;&apos;&lt;&gt;&amp;</simple></doc>
map[doc:map[simple:map[#text:"'<>& _attr1:an attribute]]]
mv: <doc>
  <simple attr1="an attribute">&quot;&apos;&lt;&gt;&amp;</simple>
</doc>
--- PASS: TestXMLEscapeChars2 (0.00s)
=== RUN   TestXMLSeqEscapeChars
================== TestXMLSeqEscapeChars
data: 
		<doc>
			<shortDescription>&gt;0-2y</shortDescription>
		</doc>
m: map[doc:map[shortDescription:map[#seq:0 #text:>0-2y]]]
m: <doc>
  <shortDescription>&gt;0-2y</shortDescription>
</doc>
--- PASS: TestXMLSeqEscapeChars (0.00s)
=== RUN   TestXMLSeqEscapeChars2
================== TestXMLSeqEscapeChars2
data: 
		<doc>
			<shortDescription test="&amp;something here">&gt;0-2y</shortDescription>
			<shortDescription test="something there" quote="&quot;">&lt;10-15</shortDescription>
		</doc>
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: <doc>
  <shortDescription test="&amp;something here">&gt;0-2y</shortDescription>
  <shortDescription test="something there" quote="&quot;">&lt;10-15</shortDescription>
</doc>
--- 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.01s)
=== 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 <another> closed by </other> - reading: 
<msg>
	<just>some</just>
	<another>doc</other>
--- 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 <another> closed by </other> - reading: 
<msg>
	<just>some</just>
	<another>doc</other>
--- 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(): <doc><a>test</a><this>is</this></doc><doc><a>test</a><this>is</this></doc>
XmlStringIndent(): <doc>
  <a>test</a>
  <this>is</this>
</doc><doc>
  <a>test</a>
  <this>is</this>
</doc>
--- 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.01s)
=== 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   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:<nil>]
map[$invalid:hex$ entities:<>& nil:<nil>]
map[entities:<>& nil:<nil>]
map[nil:<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:<nil>]
j2x, xml  : <doc><key1>string</key1><key2>34</key2><key3>true</key3><key4>unsafe: <>&</key4><key5/></doc>
--- 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: 
<doc>
	<stuff>
		<data seq="1.1">
			<F>1</F>
		</data>
		<data seq="1.2">
			<F>2</F>
		</data>
		<data seq="1.3">
			<F>3</F>
		</data>
	</stuff>
	<stuff>
		<data seq="2.1">
			<F>4</F>
		</data>
		<data seq="2.2">
			<F>5</F>
		</data>
		<data seq="2.3">
			<F>6</F>
		</data>
	</stuff>
</doc>
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.01s)
=== 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:
"of[0]"
"of[1]"
"of[2]"
"of[3]"
"of[4]"
"a"

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].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"}

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[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.-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"}
--- 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 ...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://example.com/ns"><soapenv:Header/><soapenv:Body><ns:request><ns:customer><ns:id>123</ns:id><ns:name type="NCHZ">John Brown</ns:name></ns:customer></ns:request></soapenv:Body></soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://example.com/ns">
  <soapenv:Header/>
  <soapenv:Body>
    <ns:request>
      <ns:customer>
        <ns:id>123</ns:id>
        <ns:name type="NCHZ">John Brown</ns:name>
      </ns:customer>
    </ns:request>
  </soapenv:Body>
</soapenv:Envelope>
--- 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():
 <doc><AA>this</AA><BB>is</BB><cc>a</cc><help>test</help></doc>
n.XmlIndent():
 <doc>
  <AA>this</AA>
  <BB>is</BB>
  <cc>a</cc>
  <help>test</help>
</doc>

 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():
 <doc><AA><A>this</A><B>is</B><B><cc>a</cc></B></AA><hello><help>test</help></hello></doc>
n.XmlIndent():
 <doc>
  <AA>
    <A>this</A>
    <B>is</B>
    <B>
      <cc>a</cc>
    </B>
  </AA>
  <hello>
    <help>test</help>
  </hello>
</doc>

 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():
 <xml><AA>this</AA><AA><hello><again>is</again><help>test</help></hello></AA><AA>a</AA></xml>
n.XmlIndent():
 <xml>
  <AA>this</AA>
  <AA>
    <hello>
      <again>is</again>
      <help>test</help>
    </hello>
  </AA>
  <AA>a</AA>
</xml>
--- PASS: TestNewMap (0.00s)
=== RUN   TestNetId
original value: 
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <netid>
        <disable>no</disable>
        <text1>default:text</text1>
        <word1>default:word</word1>
    </netid>
</data>
new value:
<data>
  <netid>
    <disable>no</disable>
    <text1>default:text</text1>
    <word1>default:word</word1>
  </netid>
</data>
original value: 

<?xml version="1.0" encoding="UTF-8"?>
<data>
    <idnet>
        <disable>yes</disable>
        <text1>default:text</text1>
        <word1>default:word</word1>
    </idnet>
</data>
new value:
<data>
  <netid>
    <disable>yes</disable>
    <text1>default:text</text1>
    <word1>default:word</word1>
  </netid>
</data>
--- 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: <tag color="green" shape="square">simple element</tag>
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.01s)
=== 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:
 <doc> 
   <books>
      <book seq="1">
         <author>William T. Gaddis</author>
         <title>The Recognitions</title>
         <review>One of the great seminal American novels of the 20th century.</review>
      </book>
      <book seq="2">
         <author>Austin Tappan Wright</author>
         <title>Islandia</title>
         <review>An example of earlier 20th century American utopian fiction.</review>
      </book>
      <book seq="3">
         <author>John Hawkes</author>
         <title>The Beetle Leg</title>
         <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
      </book>
      <book seq="4"> 
         <author>
            <first_name>T.E.</first_name>
            <last_name>Porter</last_name>
         </author>
         <title>King's Day</title>
         <review>A magical novella.</review>
      </book>
   </books>
</doc>
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:
 <doc>
  <books>
    <book seq="1">
      <author>William T. Gaddis</author>
      <review>One of the great seminal American novels of the 20th century.</review>
      <title>The Recognitions</title>
    </book>
    <book seq="2">
      <author>Austin Tappan Wright</author>
      <review>An example of earlier 20th century American utopian fiction.</review>
      <title>Islandia</title>
    </book>
    <book seq="3">
      <author>John Hawkes</author>
      <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
      <title>The Beetle Leg</title>
    </book>
    <book seq="4">
      <author>
        <first_name>T.E.</first_name>
        <last_name>Porter</last_name>
      </author>
      <review>A magical novella.</review>
      <title>King's Day</title>
    </book>
  </books>
</doc>
--- PASS: TestNewMapXml4 (0.00s)
=== RUN   TestNewMapXml5
NewMapXml5, raw:
 <msg mtype="alert" mpriority="1">
	<text>help me!</text>
	<song title="A Long Time" author="Mayer Hawthorne">
		<verses>
			<verse name="verse 1" no="1">
				<line no="1">Henry was a renegade</line>
				<line no="2">Didn't like to play it safe</line>
				<line no="3">One component at a time</line>
				<line no="4">There's got to be a better way</line>
				<line no="5">Oh, people came from miles around</line>
				<line no="6">Searching for a steady job</line>
				<line no="7">Welcome to the Motor Town</line>
				<line no="8">Booming like an atom bomb</line>
			</verse>
			<verse name="verse 2" no="2">
				<line no="1">Oh, Henry was the end of the story</line>
				<line no="2">Then everything went wrong</line>
				<line no="3">And we'll return it to its former glory</line>
				<line no="4">But it just takes so long</line>
			</verse>
		</verses>
		<chorus>
			<line no="1">It's going to take a long time</line>
			<line no="2">It's going to take it, but we'll make it one day</line>
			<line no="3">It's going to take a long time</line>
			<line no="4">It's going to take it, but we'll make it one day</line>
		</chorus>
	</song>
</msg>
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:
 <msg mpriority="1" mtype="alert"><song author="Mayer Hawthorne" title="A Long Time"><chorus><line no="1">It's going to take a long time</line><line no="2">It's going to take it, but we'll make it one day</line><line no="3">It's going to take a long time</line><line no="4">It's going to take it, but we'll make it one day</line></chorus><verses><verse name="verse 1" no="1"><line no="1">Henry was a renegade</line><line no="2">Didn't like to play it safe</line><line no="3">One component at a time</line><line no="4">There's got to be a better way</line><line no="5">Oh, people came from miles around</line><line no="6">Searching for a steady job</line><line no="7">Welcome to the Motor Town</line><line no="8">Booming like an atom bomb</line></verse><verse name="verse 2" no="2"><line no="1">Oh, Henry was the end of the story</line><line no="2">Then everything went wrong</line><line no="3">And we'll return it to its former glory</line><line no="4">But it just takes so long</line></verse></verses></song><text>help me!</text></msg>
NewMapXml5, b:
 <msg mpriority="1" mtype="alert">
  <song author="Mayer Hawthorne" title="A Long Time">
    <chorus>
      <line no="1">It's going to take a long time</line>
      <line no="2">It's going to take it, but we'll make it one day</line>
      <line no="3">It's going to take a long time</line>
      <line no="4">It's going to take it, but we'll make it one day</line>
    </chorus>
    <verses>
      <verse name="verse 1" no="1">
        <line no="1">Henry was a renegade</line>
        <line no="2">Didn't like to play it safe</line>
        <line no="3">One component at a time</line>
        <line no="4">There's got to be a better way</line>
        <line no="5">Oh, people came from miles around</line>
        <line no="6">Searching for a steady job</line>
        <line no="7">Welcome to the Motor Town</line>
        <line no="8">Booming like an atom bomb</line>
      </verse>
      <verse name="verse 2" no="2">
        <line no="1">Oh, Henry was the end of the story</line>
        <line no="2">Then everything went wrong</line>
        <line no="3">And we'll return it to its former glory</line>
        <line no="4">But it just takes so long</line>
      </verse>
    </verses>
  </song>
  <text>help me!</text>
</msg>
--- PASS: TestNewMapXml5 (0.01s)
=== RUN   TestNewMapXml6
NewMapXml6, raw:
 <?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us" updated="2009-10-04T01:35:58+00:00"><title>Code Review - My issues</title><link href="http://codereview.appspot.com/" rel="alternate"></link><link href="http://codereview.appspot.com/rss/mine/rsc" rel="self"></link><id>http://codereview.appspot.com/</id><author><name>rietveld&lt;&gt;</name></author><entry><title>rietveld: an attempt at pubsubhubbub
</title><link href="http://codereview.appspot.com/126085" rel="alternate"></link><updated>2009-10-04T01:35:58+00:00</updated><author><name>email-address-removed</name></author><id>urn:md5:134d9179c41f806be79b3a5f7877d19a</id><summary type="html">
  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 &amp;lt;link rel=&amp;quot;hub&amp;quot; href=&amp;quot;hub-server&amp;quot;&amp;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&amp;#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&amp;#39;s actual URL in
the link rel=&amp;quot;self&amp;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).


</summary></entry><entry><title>rietveld: correct tab handling
</title><link href="http://codereview.appspot.com/124106" rel="alternate"></link><updated>2009-10-03T23:02:17+00:00</updated><author><name>email-address-removed</name></author><id>urn:md5:0a2a4f19bb815101f0ba2904aed7c35a</id><summary type="html">
  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&amp;#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.


</summary></entry></feed>
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 &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). -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&#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. -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 &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).
        -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&#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.
        -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:
 <feed lang="en-us" updated="2009-10-04T01:35:58+00:00" xmlns="http://www.w3.org/2005/Atom"><author><name>rietveld<></name></author><entry><author><name>email-address-removed</name></author><id>urn:md5:134d9179c41f806be79b3a5f7877d19a</id><link href="http://codereview.appspot.com/126085" rel="alternate"/><summary type="html">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).</summary><title>rietveld: an attempt at pubsubhubbub</title><updated>2009-10-04T01:35:58+00:00</updated></entry><entry><author><name>email-address-removed</name></author><id>urn:md5:0a2a4f19bb815101f0ba2904aed7c35a</id><link href="http://codereview.appspot.com/124106" rel="alternate"/><summary type="html">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.</summary><title>rietveld: correct tab handling</title><updated>2009-10-03T23:02:17+00:00</updated></entry><id>http://codereview.appspot.com/</id><link href="http://codereview.appspot.com/" rel="alternate"/><link href="http://codereview.appspot.com/rss/mine/rsc" rel="self"/><title>Code Review - My issues</title></feed>
NewMapXml6, b:
 <feed lang="en-us" updated="2009-10-04T01:35:58+00:00" xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>rietveld<></name>
  </author>
  <entry>
    <author>
      <name>email-address-removed</name>
    </author>
    <id>urn:md5:134d9179c41f806be79b3a5f7877d19a</id>
    <link href="http://codereview.appspot.com/126085" rel="alternate"/>
    <summary type="html">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).</summary>
    <title>rietveld: an attempt at pubsubhubbub</title>
    <updated>2009-10-04T01:35:58+00:00</updated>
  </entry>
  <entry>
    <author>
      <name>email-address-removed</name>
    </author>
    <id>urn:md5:0a2a4f19bb815101f0ba2904aed7c35a</id>
    <link href="http://codereview.appspot.com/124106" rel="alternate"/>
    <summary type="html">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.</summary>
    <title>rietveld: correct tab handling</title>
    <updated>2009-10-03T23:02:17+00:00</updated>
  </entry>
  <id>http://codereview.appspot.com/</id>
  <link href="http://codereview.appspot.com/" rel="alternate"/>
  <link href="http://codereview.appspot.com/rss/mine/rsc" rel="self"/>
  <title>Code Review - My issues</title>
</feed>
--- PASS: TestNewMapXml6 (0.02s)
=== RUN   TestXml3

------------ xml3_test.go
--- PASS: TestXml3 (0.00s)
=== RUN   TestOnlyAttributes
========== TestOnlyAttributes
<memballoon model="virtio">
  <address bus="0x00" domain="0x0000" function="0x0" slot="0x05" type="pci"/>
  <empty/>
</memballoon>
--- PASS: TestOnlyAttributes (0.00s)
=== RUN   TestOnlyAttributesSeq
========== TestOnlyAttributesSeq
<memballoon model="virtio">
  <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0"/>
  <empty/>
</memballoon>
--- PASS: TestOnlyAttributesSeq (0.00s)
=== RUN   TestDecodeSimpleValuesAsMap
========== TestDecodeSimpleValuesAsMap
xml: <item>
	<id>30102</id>
	<title>Mini Drone Inteligente - Branco</title>
	<price unit="BRL">149.90</price>
</item>
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: <root><this>is a test</this></root>
NewMapXmlReader, m  : map[root:map[this:is a test]]
NewMapXmlReader, raw: <root2><newtag>something more</newtag><list><item>1</item><item>2</item></list></root2>
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:<nil> tag1:some data tag2:more data]
Xml_1, x : <doc><boolean>true</boolean><float>3.14159625</float><null/><tag1>some data</tag1><tag2>more data</tag2></doc>
--- PASS: TestXml_1 (0.00s)
=== RUN   TestXml_2
Xml_2, mv: map[array:[string true 36.4]]
Xml_2, x : <doc><array>string</array><array>true</array><array>36.4</array></doc>
--- PASS: TestXml_2 (0.00s)
=== RUN   TestXml_3
Xml_3, mv: map[array:[[string true 36.4] string2]]
Xml_3, x : <doc><array>string</array><array>true</array><array>36.4</array><array>string2</array></doc>
--- PASS: TestXml_3 (0.00s)
=== RUN   TestXml_4
Xml_4, mv: map[array:map[innerkey:[[string true 36.4] string2]]]
Xml_4, x : <array><innerkey>string</innerkey><innerkey>true</innerkey><innerkey>36.4</innerkey><innerkey>string2</innerkey></array>
--- 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 : <array><innerkey>string</innerkey><innerkey>true</innerkey><innerkey>36.4</innerkey><innerkey>string2</innerkey></array><array><some>more</some></array>
--- PASS: TestXml_5 (0.00s)
=== RUN   TestXml_Strings
Xml_strings, mv: map[sometag:some data strings:[string1 string2]]
Xml_strings, x : <doc><sometag>some data</sometag><strings<strings>string1</strings><strings>string2</strings></doc>
--- PASS: TestXml_Strings (0.00s)
=== RUN   TestXmlWriter
XmlWriter, b  : <myRootTag><boolean>true</boolean><float>3.14159625</float><tag1>some data</tag1><tag2>more data</tag2></myRootTag>
--- PASS: TestXmlWriter (0.00s)
=== RUN   TestXmlSeqHeader

----------------  xmlseq_test.go ...
--- PASS: TestXmlSeqHeader (0.00s)
=== RUN   TestNewMapXmlSeq
NewMapXmlSeq, x:
 <doc> 
   <books>
      <book seq="1">
         <author>William T. Gaddis</author>
			<review>Gaddis is one of the most influential but little know authors in America.</review>
         <title>The Recognitions</title>
			<!-- here's the rest of the review -->
         <review>One of the great seminal American novels of the 20th century.</review>
         <review>Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow.</review>
      </book>
      <book seq="2">
         <author>Austin Tappan Wright</author>
         <title>Islandia</title>
         <review>An example of earlier 20th century American utopian fiction.</review>
      </book>
      <book>
         <author>John Hawkes</author>
         <title>The Beetle Leg</title>
			<!throw in a directive here>
         <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
      </book>
      <book> 
         <author>
				<?cat first_name last_name?>
            <first_name>T.E.</first_name>
            <last_name>Porter</last_name>
         </author>
         <title>King's Day</title>
         <review>A magical novella.</review>
      </book>
   </books>
</doc>
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():
 <doc>
  <books>
    <book seq="1">
      <author>William T. Gaddis</author>
      <review>Gaddis is one of the most influential but little know authors in America.</review>
      <title>The Recognitions</title>
      <!-- here's the rest of the review -->
      <review>One of the great seminal American novels of the 20th century.</review>
      <review>Without it Thomas Pynchon probably wouldn't have written Gravity's Rainbow.</review>
    </book>
    <book seq="2">
      <author>Austin Tappan Wright</author>
      <title>Islandia</title>
      <review>An example of earlier 20th century American utopian fiction.</review>
    </book>
    <book>
      <author>John Hawkes</author>
      <title>The Beetle Leg</title>
      <!throw in a directive here>
      <review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
    </book>
    <book>
      <author>
        <?cat first_name last_name?>
        <first_name>T.E.</first_name>
        <last_name>Porter</last_name>
      </author>
      <title>King's Day</title>
      <review>A magical novella.</review>
    </book>
  </books>
</doc>
--- PASS: TestNewMapXmlSeq (0.00s)
=== RUN   TestXmlSeqDecodeError
------------ TestXmlSeqDecodeError ...
err ok: element book not properly terminated, got books at #461
--- PASS: TestXmlSeqDecodeError (0.00s)
=== RUN   TestXMPPStreamTag
----------- TestXMPPStreamTag ...

<stream:stream
    from='example.com'
    xmlns="jabber:client"
    xmlns:stream="http://etherx.jabber.org/streams"
    version="1.0">
map[stream:map[-from:example.com -stream:http://etherx.jabber.org/streams -version:1.0 -xmlns:jabber:client]]

<stream:features>
  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
  <sm xmlns="urn:xmpp:sm:3"/>
</stream:features>
map[features:map[bind:map[-xmlns:urn:ietf:params:xml:ns:xmpp-bind] sm:map[-xmlns:urn:xmpp:sm:3]]]

<stream:stream>
map[stream:map[]]
--- PASS: TestXMPPStreamTag (0.00s)
=== RUN   TestXMPPStreamTagSeq
----------- TestXMPPStreamTagSeq ...

<stream:stream
    from='example.com'
    xmlns="jabber:client"
    xmlns:stream="http://etherx.jabber.org/streams"
    version="1.0">
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]]]]

<stream:features>
  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
  <sm xmlns="urn:xmpp:sm:3"/>
</stream:features>
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]]]

<stream:stream>
map[stream:stream:map[]]
--- PASS: TestXMPPStreamTagSeq (0.00s)
PASS
ok  	github.com/clbanning/mxj	0.131s
=== RUN   TestJsonToXml_1
[{"some-null-value":"", "a-non-null-value":"bar"}]
xmloutput: <object><a-non-null-value>bar</a-non-null-value><some-null-value/></object>
--- PASS: TestJsonToXml_1 (0.00s)
=== RUN   TestJsonToXml_2
{"somekey":[{"value":"1st"},{"value":"2nd"}]}
xmloutput: <somekey><value>1st</value></somekey><somekey><value>2nd</value></somekey>
--- PASS: TestJsonToXml_2 (0.00s)
PASS
ok  	github.com/clbanning/mxj/j2x	0.023s
?   	github.com/clbanning/mxj/x2j	[no test files]
=== 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:0x140c470 nilVal:<nil> 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:0x150c348 goofyVal:0x140c470 nilVal:<nil> 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: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>

entry :
  vars :
    foo :[string] bar
    foo2 :
      hello :[string] world
--- PASS: TestToMap (0.00s)
=== RUN   TestToJson

ToJson - Read doc: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>
json: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}}
--- PASS: TestToJson (0.00s)
=== RUN   TestToJsonIndent

ToJsonIndent - Read doc: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>
json: {
  "entry": {
    "vars": {
      "foo": "bar",
      "foo2": {
        "hello": "world"
      }
    }
  }
}
--- PASS: TestToJsonIndent (0.00s)
=== RUN   TestBulkParser

BulkParser (with error) - Read doc: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry><this><is>an</err><entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>
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 <is> closed by </err>
phandler m: map[entry:map[vars:map[foo:bar foo2:map[hello:world]]]]
--- PASS: TestBulkParser (0.00s)
=== RUN   TestBulkParserToJson

BulkParser (with error) - Read doc: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry><this><is>an</err><entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>
phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}}
ehandler err: xml.Decoder.Token() - XML syntax error on line 1: element <is> closed by </err>
phandlerj s: {"entry":{"vars":{"foo":"bar","foo2":{"hello":"world"}}}}
--- PASS: TestBulkParserToJson (0.00s)
=== RUN   TestX2j

================================ x2j_test.go ...

=================== TestX2j ...

XML doc:
 <msg mtype="alert" mpriority="1">
	<text>help me!</text>
	<song title="A Long Time" author="Mayer Hawthorne">
		<verses>
			<verse name="verse 1" no="1">
				<line no="1">Henry was a renegade</line>
				<line no="2">Didn't like to play it safe</line>
				<line no="3">One component at a time</line>
				<line no="4">There's got to be a better way</line>
				<line no="5">Oh, people came from miles around</line>
				<line no="6">Searching for a steady job</line>
				<line no="7">Welcome to the Motor Town</line>
				<line no="8">Booming like an atom bomb</line>
			</verse>
			<verse name="verse 2" no="2">
				<line no="1">Oh, Henry was the end of the story</line>
				<line no="2">Then everything went wrong</line>
				<line no="3">And we'll return it to its former glory</line>
				<line no="4">But it just takes so long</line>
			</verse>
		</verses>
		<chorus>
			<line no="1">It's going to take a long time</line>
			<line no="2">It's going to take it, but we'll make it one day</line>
			<line no="3">It's going to take a long time</line>
			<line no="4">It's going to take it, but we'll make it one day</line>
		</chorus>
	</song>
</msg>


DocToMap(), recast==true:
 
msg :
  -mtype :[string] alert
  -mpriority :[float64] 1.00e+00
  text :[string] help me!
  song :
    -title :[string] A Long Time
    -author :[string] Mayer Hawthorne
    verses :
      verse :[[]interface{}]
        [item: 0]        
          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
          -no :[float64] 1.00e+00
        [item: 1]        
          -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]            
              #text :[string] But it just takes so long
              -no :[float64] 4.00e+00
          -name :[string] verse 2
    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

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.01s)
=== RUN   TestGetValue

=================== TestGetValue ...

Read doc: <entry><vars><foo>bar</foo><foo2><hello>world</hello></foo2></vars></entry>
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: <entry><vars>
		<foo item="1">bar</foo>
		<foo item="2">
			<hello item="3">world</hello>
			<hello item="4">universe</hello>
		</foo></vars></entry>
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 ...
<doc>
				<tag item="1">val2</tag>
				<tag item="2">val2</tag>
				<tag item="2" instance="2">val3</tag>
			</doc>

doc :
  tag :[[]interface{}]
    [item: 0]    
      #text :[string] val2
      -item :[string] 1
    [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 ...

<tag item="1">val2</tag>
<tag item="2">val2</tag>
<tag item="2" instance="2">val3</tag>

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 <chorus> closed by </song>
procError err: xml.Decoder.Token() - XML syntax error on line 1: unexpected end element </msg>
--- PASS: TestBulk (0.01s)
=== RUN   TestTagAndKey

=================== TestTagAndKey ...

TestTagAndKey()
 <doc>
		<sections>
			<section>one</section>
			<section>
				<parts>
					<part>two.one</part>
					<part>two.two</part>
				</parts>
			</section>
		</sections>
		<partitions>
			<parts>
				<sections>
					<section>one</section>
					<section>two</section>
				</sections>
			</parts>
		</partitions>	
	</doc>
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.01s)
=== 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()
 
<doc>
	<books>
		<book seq="1">
			<author>William H. Gaddis</author>
			<title>The Recognitions</title>
			<review>One of the great seminal American novels of the 20th century.</review>
		</book>
		<book seq="2">
			<author>Austin Tappan Wright</author>
			<title>Islandia</title>
			<review>An example of earlier 20th century American utopian fiction.</review>
		</book>
		<book seq="3">
			<author>John Hawkes</author>
			<title>The Beetle Leg</title>
			<review>A lyrical novel about the construction of Ft. Peck Dam in Montana.</review>
		</book>
		<book seq="4">
			<author>
				<first_name>T.E.</first_name>
				<last_name>Porter</last_name>
			</author>
			<title>King's Day</title>
			<review>A magical novella.</review>
		</book>
	</books>
</doc>

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 : The Recognitions
1 : One of the great seminal American novels of the 20th century.
2 : William H. Gaddis
3 : An example of earlier 20th century American utopian fiction.
4 : Austin Tappan Wright
5 : Islandia
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 : One of the great seminal American novels of the 20th century.
1 : William H. Gaddis
2 : The Recognitions
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.01s)
=== RUN   TestValuesFromTagPath2

TestValuesFromTagPath2(), iteration: 0 
 
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <netid>
        <disable>no</disable>
        <text1>default:text</text1>
        <word1>default:word</word1>
    </netid>
</data>

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]
	 text1 : default:text
	 word1 : default:word
	 disable : no

path == data.*.*: len(v): 3
0 : no
1 : default:text
2 : default:word

TestValuesFromTagPath2(), iteration: 1 
 
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <idnet>
        <disable>yes</disable>
        <text1>default:text</text1>
        <word1>default:word</word1>
    </idnet>
</data>

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: <info><name>clbanning</name><address>unknown</address></info>
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: <doc> <name>Mayer Hawthorne</name> <song> <title>A Long Time</title> <verse no="1"> <line no="1">Henry was a renegade</line> <line no="2">Didn't like to play it safe</line> </verse> </song> </doc>
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/x2j-wrapper	0.075s
   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.5.7-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../golang-github-clbanning-mxj_2.5.7-1_armhf.buildinfo
 dpkg-genchanges --build=binary -O../golang-github-clbanning-mxj_2.5.7-1_armhf.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/9095/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/9095/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/9095 and its subdirectories
I: Current time: Fri May 26 10:44:59 +14 2023
I: pbuilder-time-stamp: 1685047499