Diff of the two buildlogs: -- --- b1/build.log 2024-05-20 17:38:07.463850709 +0000 +++ b2/build.log 2024-05-20 17:40:37.557462086 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon May 20 05:34:10 -12 2024 -I: pbuilder-time-stamp: 1716226450 +I: Current time: Mon Jun 23 14:01:10 +14 2025 +I: pbuilder-time-stamp: 1750636870 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -29,52 +29,84 @@ dpkg-source: info: applying xmlbeans-versioned.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3353950/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jun 23 00:01 /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/4176170/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='457dbc1cef1f44aa9ca30a8b7f0fd3ff' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3353950' - PS1='# ' - PS2='> ' + INVOCATION_ID=9d2dd4103f0b48d9b5edce4567fa911e + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=4176170 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.IxGObTzM/pbuilderrc_x9t4 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.IxGObTzM/b1 --logfile b1/build.log octave-io_2.6.4-3.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.IxGObTzM/pbuilderrc_Efrg --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.IxGObTzM/b2 --logfile b2/build.log octave-io_2.6.4-3.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos11-amd64 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 19 07:43 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3353950/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Jun 22 14:05 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -656,7 +688,7 @@ Get: 540 http://deb.debian.org/debian unstable/main amd64 gfortran amd64 4:13.2.0-7 [1440 B] Get: 541 http://deb.debian.org/debian unstable/main amd64 octave-dev amd64 9.1.0-3 [991 kB] Get: 542 http://deb.debian.org/debian unstable/main amd64 dh-octave all 1.8.0 [22.7 kB] -Fetched 234 MB in 4s (60.5 MB/s) +Fetched 234 MB in 3s (85.2 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (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 ... 19718 files and directories currently installed.) @@ -2881,7 +2913,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/octave-io-2.6.4/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../octave-io_2.6.4-3_source.changes +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/octave-io-2.6.4/ && 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 > ../octave-io_2.6.4-3_source.changes dpkg-buildpackage: info: source package octave-io dpkg-buildpackage: info: source version 2.6.4-3 dpkg-buildpackage: info: source distribution unstable @@ -2937,19 +2973,19 @@ /usr/bin/mkoctfile --verbose csvconcat.cc /usr/bin/mkoctfile --verbose cell2csv.cc /usr/bin/mkoctfile --verbose col2num.cc +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csvexplode.cc -o /tmp/oct-JqwN7e.o /usr/bin/mkoctfile --verbose num2col.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csvexplode.cc -o /tmp/oct-5adw34.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csv2cell.cc -o /tmp/oct-XOg4nR.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection cell2csv.cc -o /tmp/oct-zqa1OC.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csvconcat.cc -o /tmp/oct-vFXVGU.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection col2num.cc -o /tmp/oct-wPEoYV.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection num2col.cc -o /tmp/oct-nFPVgF.o -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o num2col.oct /tmp/oct-nFPVgF.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o col2num.oct /tmp/oct-wPEoYV.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csvconcat.oct /tmp/oct-vFXVGU.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csvexplode.oct /tmp/oct-5adw34.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o cell2csv.oct /tmp/oct-zqa1OC.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csv2cell.oct /tmp/oct-XOg4nR.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csv2cell.cc -o /tmp/oct-edCqvh.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection csvconcat.cc -o /tmp/oct-RYu9wb.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection cell2csv.cc -o /tmp/oct-Bm7ZN8.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection col2num.cc -o /tmp/oct-GBDdFu.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection num2col.cc -o /tmp/oct-YAU7oD.o +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o num2col.oct /tmp/oct-YAU7oD.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o col2num.oct /tmp/oct-GBDdFu.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csvconcat.oct /tmp/oct-RYu9wb.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csvexplode.oct /tmp/oct-JqwN7e.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o cell2csv.oct /tmp/oct-Bm7ZN8.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.1.0/octave/.. -I/usr/include/octave-9.1.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-io-2.6.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -o csv2cell.oct /tmp/oct-edCqvh.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[1]: Leaving directory '/build/reproducible-path/octave-io-2.6.4/src' copyfile /build/reproducible-path/octave-io-2.6.4/./src/cell2csv.oct /build/reproducible-path/octave-io-2.6.4/./src/col2num.oct /build/reproducible-path/octave-io-2.6.4/./src/csv2cell.oct /build/reproducible-path/octave-io-2.6.4/./src/csvconcat.oct /build/reproducible-path/octave-io-2.6.4/./src/csvexplode.oct /build/reproducible-path/octave-io-2.6.4/./src/num2col.oct /build/reproducible-path/octave-io-2.6.4/./src/cell2csv.cc-tst /build/reproducible-path/octave-io-2.6.4/./src/col2num.cc-tst /build/reproducible-path/octave-io-2.6.4/./src/csv2cell.cc-tst /build/reproducible-path/octave-io-2.6.4/./src/num2col.cc-tst /build/reproducible-path/octave-io-2.6.4/./inst/x86_64-pc-linux-gnu-api-v59 For information about changes from previous versions of the io package, run 'news io'. @@ -2958,25 +2994,265 @@ Checking package... Run the unit tests... Checking m files ... -[inst/object2json.m] ->>>>> /build/reproducible-path/octave-io-2.6.4/inst/object2json.m -***** test - assert(object2json([logical(1), logical(0)]), '[true,false]'); -warning: object2json is deprecated and will be removed in a future io release -warning: called from - object2json at line 59 column 7 - __test__ at line 3 column 2 - test at line 682 column 11 - /tmp/tmp.QJ7ojmbZBZ at line 14 column 31 - -***** test - car.name = 'Mzd R8'; - car.speedsamples = [98, 33, 50; 56, 120, 102; 77, 82, 93]; - car.toofast = car.speedsamples >= 90; - car.leased = logical(1); - car.european = logical(0); - assert(object2json(car), '{"name":"Mzd R8","speedsamples":[[98,33,50],[56,120,102],[77,82,93]],"toofast":[[true,false,false],[false,true,true],[false,false,true]],"leased":true,"european":false}'); -2 tests, 2 passed, 0 known failure, 0 skipped +[inst/toJSON.m] +>>>>> /build/reproducible-path/octave-io-2.6.4/inst/toJSON.m +***** test ## invalid args +***** warning toJSON(0,struct); +***** warning toJSON(0,:,struct); +***** test ## no args + assert(toJSON(),''); +***** test ## empty string + assert(toJSON(''),'""'); +***** test ## empty array + assert(toJSON([]),'[]'); +***** test ## zero + assert(toJSON(0),"0") +***** test ## false + assert(toJSON(false),'false') +***** test ## float + assert(toJSON(pi),'3.14159265358979') +***** test ## PREC input arg test + assert(toJSON(pi, 0),'3') + assert(toJSON(pi, 5),'3.1416') + assert(toJSON(pi, -5),'3.1416') + assert(toJSON(pi, 25),'3.141592653589793115997963') + assert(toJSON(pi, :),'3.14159265358979') + assert(toJSON(pi, []),'3.14159265358979') + assert(toJSON(pi, false),'3.14159265358979'); + assert(toJSON(pi, {}),'3.14159265358979'); +***** test ## number single + assert(toJSON(single(pi)),'3.14159274101257') +***** test ## number int8 + assert(toJSON(int8(pi)),'3') +***** test ## number int32 + assert(toJSON(int32(pi)),'3') +***** test ## number string + assert(toJSON("3"),'"3"') +***** test ## string + assert(toJSON("abcdefg"), '"abcdefg"'); +***** test ## unknown class + if usejava("jvm") + obj = javaObject ("java.math.BigDecimal", 1.0); + assert(toJSON(obj), '"[java.math.BigDecimal]"'); + endif +***** test ## apparent JSON string, do not quote + assert(toJSON('[]'),'[]'); + assert(toJSON('[1,2, 3]'),'[1,2, 3]'); + assert(toJSON('{}'),'{}'); + assert(toJSON('{"a":4}'),'{"a":4}'); + assert(toJSON('""'),'""'); +***** test ## apparent JSON string blocked, quote it + assert(toJSON('"abc def" '),'"\"abc def\" "'); +***** test ## vectors + assert(toJSON([1,2,3]),'[1,2,3]') + assert(toJSON([1;2;3]),'[1,2,3]') +***** test ## vector with PREC + assert(toJSON(pi*(1:4),3),'[3.14,6.28,9.42,12.6]') +***** test ## matrix + assert(toJSON([1,2,3;13,14,15]),'[[1,2,3],[13,14,15]]') +***** test ## boolean 2D array + assert(toJSON(![1 1;0 1]),'[[false,false],[true,false]]') +***** test ## ND array + assert(toJSON(reshape(1:8,2,2,2)),'[[[1,3],[2,4]],[[5,7],[6,8]]]') +***** test ## more N ND array + ndmat = ones(2,2,2,3); + ndmat([4,9,21]) = [4,9,21]; + json = toJSON(ndmat); + assert(json,'[[[[1,1],[1,4]],[[1,1],[1,1]]],[[[9,1],[1,1]],[[1,1],[1,1]]],[[[1,1],[1,1]],[[21,1],[1,1]]]]') +***** test ## string array + assert(toJSON(["a";"bc";"defg"]), '["a ","bc ","defg"]'); +***** test ## string array + assert(toJSON(["a";"bc";"defg"]'), '["abd"," ce"," f"," g"]'); +***** test ## cell vector + assert(toJSON({1,2,3}),'[1,2,3]') + assert(toJSON({1;2;3}),'[1,2,3]') +***** test ## mixed cell vector + assert(toJSON({1,2,3,"a"}),'[1,2,3,"a"]') +***** test ## cell array of numerical vectors + assert(toJSON({[1,2,3];[3,4,5]}),'[[1,2,3],[3,4,5]]') +***** test ## numerical ND cell array (look just like ND numerical array) + json = toJSON(num2cell(reshape(1:8,2,2,2))); + assert(json,'[[[1,3],[2,4]],[[5,7],[6,8]]]') +***** test ## numerical ND cell array, with PREC + c = num2cell(reshape(1:8,2,2,2)); c{5} = pi; + assert(toJSON(c,5),'[[[1,3],[2,4]],[[3.1416,7],[6,8]]]') +***** test ## mixed ND cell array + c = num2cell(reshape(1:8,2,2,2)); c{5} = "a"; + assert(toJSON(c),'[[[1,3],[2,4]],[["a",7],[6,8]]]') +***** test ## structure numbers + assert(toJSON(struct(), true),'{}') +***** test ## structure numbers + assert(toJSON(struct("a",3,"b",5), true),'{"a":3,"b":5}') +***** test ## structure string + s = struct("a","hello","b",4); + assert(toJSON(s, true),'{"a":"hello","b":4}') +***** test ## structure string array + s = struct("a","","b",4); s.a = {"hello","bye"}; + assert(toJSON(s, true),'{"a":["hello","bye"],"b":4}') +***** test ## structure array COMPACT=false + assert(toJSON(struct("a",{3.125;3.125}), false),'[{"a":3.125},{"a":3.125}]') +***** test ## structure array COMPACT=true + assert(toJSON(struct("a",{3.125;3.125}), true),'{"a":[3.125,3.125]}') + assert(toJSON(struct("a",{pi;pi}), 5, true),'{"a":[3.1416,3.1416]}') +***** test ## structure array 2D + s = struct("a",{1 3;2 4},"b",{11 13;12 14}); + assert(toJSON(s, true),'{"a":[[1,3],[2,4]],"b":[[11,13],[12,14]]}') +***** test ## structure array 2D COMPACT=false + s = struct("a",{1 3;2 4},"b",{11 13;12 14}); + assert(toJSON(s, false),'[[{"a":1,"b":11},{"a":3,"b":13}],[{"a":2,"b":12},{"a":4,"b":14}]]') +***** test ## mixed cell array + assert(toJSON({1,2,3,"a",struct("a",3)}, true),'[1,2,3,"a",{"a":3}]') +***** test ## complex number + assert(toJSON(i, true),'{"re":0,"im":1}'); +***** test ## complex number 1D array + assert(toJSON([i,1], true),'{"re":[0,1],"im":[1,0]}'); +***** test ## complex number COMPACT=false, + assert(toJSON([i,1], false),'[{"re":0,"im":1},{"re":1,"im":0}]'); +***** test ## test complex number 2D array + assert(toJSON([i 1;2 i*3],true),'{"re":[[0,1],[2,0]],"im":[[1,0],[0,3]]}'); +***** test ## struct with complex number + assert(toJSON(struct('a',1+i,'b',3),true), '{"a":{"re":1,"im":1},"b":3}'); +***** test ## struct ARRAY with complex number + json = toJSON(struct('a',{1;i},'b',{5;2}),true); + assert(json, '{"a":{"re":[1,0],"im":[0,1]},"b":[5,2]}'); +***** test ## struct ARRAY with complex number COMPACT=false, + json = toJSON(struct('a',{1;i},'b',{5;2}),false); + assert(json, '[{"a":1,"b":5},{"a":{"re":0,"im":1},"b":2}]'); +***** test ## struct ARRAY with complex number COMPACT=false, + json = toJSON(struct('a',{[1 2i];[3 i]},'b',{5;2}),false); + assert(json, '[{"a":[{"re":1,"im":0},{"re":0,"im":2}],"b":5},{"a":[{"re":3,"im":0},{"re":0,"im":1}],"b":2}]'); +***** test ## ND struct array + json=toJSON(struct('a',num2cell(reshape(1:8,2,2,2))),true); + assert(json, '{"a":[[[1,3],[2,4]],[[5,7],[6,8]]]}'); +***** test ## ND struct array COMPACT=false, + json=toJSON(struct('a',num2cell(reshape(1:8,2,2,2))),false); + assert(json, '[[[{"a":1},{"a":3}],[{"a":2},{"a":4}]],[[{"a":5},{"a":7}],[{"a":6},{"a":8}]]]'); +***** test ## inline function + assert(toJSON(@sin),'"@@(x) sin(x)"') + assert(toJSON(@(a,b)a+b+c),'"@@(a, b) a + b + c"') +***** test ## struct with java object + if usejava("jvm") + obj = javaObject ("java.math.BigDecimal", 1.0); + assert(toJSON(struct('a',obj)), '{"a":"[java.math.BigDecimal]"}'); + endif +***** test ## structure array DEFAULT COMPACT + s = struct("a",{3.125;3.125}); + assert(toJSON(s),'[{"a":3.125},{"a":3.125}]') +***** test %% jsondecode's a big test + var1 = struct ('para', ['A meta-markup language, used to create ' ... + 'markup languages such as DocBook.'], ... + 'GlossSeeAlso', {{'GML'; 'XML'}}); + var2 = struct ('ID', 'SGML', 'SortAs', 'SGML', ... + 'GlossTerm', 'Standard Generalized Markup Language', ... + 'Acronym', 'SGML', 'Abbrev', 'ISO 8879:1986', ... + 'GlossDef', var1, 'GlossSee', 'markup'); + data = struct ('glossary', ... + struct ('title', 'example glossary', ... + 'GlossDiv', struct ('title', 'S', ... + 'GlossList', ... + struct ('GlossEntry', var2)))); + exp = ['{' , ... + '"glossary":{', ... + '"title":"example glossary",', ... + '"GlossDiv":{', ... + '"title":"S",', ... + '"GlossList":{', ... + '"GlossEntry":{', ... + '"ID":"SGML",', ... + '"SortAs":"SGML",', ... + '"GlossTerm":"Standard Generalized Markup Language",', ... + '"Acronym":"SGML",', ... + '"Abbrev":"ISO 8879:1986",', ... + '"GlossDef":{', ... + '"para":"A meta-markup language, ', ... + 'used to create markup languages such as DocBook.",', ... + '"GlossSeeAlso":["GML","XML"]', ... + '},', ... + '"GlossSee":"markup"', ... + '}', ... + '}', ... + '}', ... + '}', ... + '}']; + assert (toJSON (data), exp); +***** test %% jsondecode's another big Test + var1 = struct ('id', {0; 1; 2}, 'name', {'Collins'; 'Hays'; 'Griffin'}); + var2 = struct ('id', {0; 1; 2}, 'name', {'Osborn'; 'Mcdowell'; 'Jewel'}); + var3 = struct ('id', {0; 1; 2}, 'name', {'Socorro'; 'Darla'; 'Leanne'}); + data = struct (... + 'x_id', {'5ee28980fc9ab3'; '5ee28980dd7250'; '5ee289802422ac'}, ... + 'index', {0; 1; 2}, ... + 'guid', {'b229d1de-f94a'; '39cee338-01fb'; '3db8d55a-663e'}, ... + 'latitude', {-17.124067; 13.205994; -35.453456}, ... + 'longitude', {-61.161831; -37.276231; 14.080287}, ... + 'friends', {var1; var2; var3}); + exp = ['[', ... + '{', ... + '"x_id":"5ee28980fc9ab3",', ... + '"index":0,', ... + '"guid":"b229d1de-f94a",', ... + '"latitude":-17.124067,', ... + '"longitude":-61.161831,', ... + '"friends":[', ... + '{', ... + '"id":0,', ... + '"name":"Collins"', ... + '},', ... + '{', ... + '"id":1,', ... + '"name":"Hays"', ... + '},', ... + '{', ... + '"id":2,', ... + '"name":"Griffin"', ... + '}', ... + ']', ... + '},', ... + '{', ... + '"x_id":"5ee28980dd7250",', ... + '"index":1,', ... + '"guid":"39cee338-01fb",', ... + '"latitude":13.205994,', ... + '"longitude":-37.276231,', ... + '"friends":[', ... + '{', ... + '"id":0,', ... + '"name":"Osborn"', ... + '},', ... + '{', ... + '"id":1,', ... + '"name":"Mcdowell"', ... + '},', ... + '{', ... + '"id":2,', ... + '"name":"Jewel"', ... + '}', ... + ']', ... + '},', ... + '{', ... + '"x_id":"5ee289802422ac",', ... + '"index":2,', ... + '"guid":"3db8d55a-663e",', ... + '"latitude":-35.453456,', ... + '"longitude":14.080287,', ... + '"friends":[', ... + '{', ... + '"id":0,', ... + '"name":"Socorro"', ... + '},', ... + '{', ... + '"id":1,', ... + '"name":"Darla"', ... + '},', ... + '{', ... + '"id":2,', ... + '"name":"Leanne"', ... + '}', ... + ']', ... + '}', ... + ']']; + assert (toJSON (data), exp); +56 tests, 56 passed, 0 known failure, 0 skipped [inst/read_namelist.m] >>>>> /build/reproducible-path/octave-io-2.6.4/inst/read_namelist.m ***** test @@ -3020,6 +3296,55 @@ assert (strcmp(nm.test.c, '"/'), 1, eps); assert (strcmp(nm.test.d, '''/'), 1, eps); 3 tests, 3 passed, 0 known failure, 0 skipped +[inst/object2json.m] +>>>>> /build/reproducible-path/octave-io-2.6.4/inst/object2json.m +***** test + assert(object2json([logical(1), logical(0)]), '[true,false]'); +warning: object2json is deprecated and will be removed in a future io release +warning: called from + object2json at line 59 column 7 + __test__ at line 3 column 2 + test at line 682 column 11 + /tmp/tmp.aLklozpjRS at line 30 column 31 + +***** test + car.name = 'Mzd R8'; + car.speedsamples = [98, 33, 50; 56, 120, 102; 77, 82, 93]; + car.toofast = car.speedsamples >= 90; + car.leased = logical(1); + car.european = logical(0); + assert(object2json(car), '{"name":"Mzd R8","speedsamples":[[98,33,50],[56,120,102],[77,82,93]],"toofast":[[true,false,false],[false,true,true],[false,false,true]],"leased":true,"european":false}'); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/calccelladdress.m] +>>>>> /build/reproducible-path/octave-io-2.6.4/inst/calccelladdress.m +***** test + a = calccelladdress (1, 1); + assert (a, "A1"); +***** test + a = calccelladdress (378, 28); + assert (a, "AB378"); +***** test + a = calccelladdress (65536, 1024); + assert (a, "AMJ65536"); +***** test + a = calccelladdress (1048576, 16384); + assert (a, "XFD1048576"); +***** test + a = calccelladdress (378, 26); + assert (a, "Z378"); +***** test + a = calccelladdress (378, 702); + assert (a, "ZZ378"); +***** test + a = calccelladdress (378, 701); + assert (a, "ZY378"); +***** test + a = calccelladdress (378, 703); + assert (a, "AAA378"); +***** test + a = calccelladdress (378, 676); + assert (a, "YZ378"); +9 tests, 9 passed, 0 known failure, 0 skipped [inst/fromJSON.m] >>>>> /build/reproducible-path/octave-io-2.6.4/inst/fromJSON.m ***** test ## input validation @@ -3477,295 +3802,6 @@ assert (fromJSON(json, true), exp ); assert (fromJSON(json, false), {exp}); 152 tests, 152 passed, 0 known failure, 0 skipped -[inst/calccelladdress.m] ->>>>> /build/reproducible-path/octave-io-2.6.4/inst/calccelladdress.m -***** test - a = calccelladdress (1, 1); - assert (a, "A1"); -***** test - a = calccelladdress (378, 28); - assert (a, "AB378"); -***** test - a = calccelladdress (65536, 1024); - assert (a, "AMJ65536"); -***** test - a = calccelladdress (1048576, 16384); - assert (a, "XFD1048576"); -***** test - a = calccelladdress (378, 26); - assert (a, "Z378"); -***** test - a = calccelladdress (378, 702); - assert (a, "ZZ378"); -***** test - a = calccelladdress (378, 701); - assert (a, "ZY378"); -***** test - a = calccelladdress (378, 703); - assert (a, "AAA378"); -***** test - a = calccelladdress (378, 676); - assert (a, "YZ378"); -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/toJSON.m] ->>>>> /build/reproducible-path/octave-io-2.6.4/inst/toJSON.m -***** test ## invalid args -***** warning toJSON(0,struct); -***** warning toJSON(0,:,struct); -***** test ## no args - assert(toJSON(),''); -***** test ## empty string - assert(toJSON(''),'""'); -***** test ## empty array - assert(toJSON([]),'[]'); -***** test ## zero - assert(toJSON(0),"0") -***** test ## false - assert(toJSON(false),'false') -***** test ## float - assert(toJSON(pi),'3.14159265358979') -***** test ## PREC input arg test - assert(toJSON(pi, 0),'3') - assert(toJSON(pi, 5),'3.1416') - assert(toJSON(pi, -5),'3.1416') - assert(toJSON(pi, 25),'3.141592653589793115997963') - assert(toJSON(pi, :),'3.14159265358979') - assert(toJSON(pi, []),'3.14159265358979') - assert(toJSON(pi, false),'3.14159265358979'); - assert(toJSON(pi, {}),'3.14159265358979'); -***** test ## number single - assert(toJSON(single(pi)),'3.14159274101257') -***** test ## number int8 - assert(toJSON(int8(pi)),'3') -***** test ## number int32 - assert(toJSON(int32(pi)),'3') -***** test ## number string - assert(toJSON("3"),'"3"') -***** test ## string - assert(toJSON("abcdefg"), '"abcdefg"'); -***** test ## unknown class - if usejava("jvm") - obj = javaObject ("java.math.BigDecimal", 1.0); - assert(toJSON(obj), '"[java.math.BigDecimal]"'); - endif -***** test ## apparent JSON string, do not quote - assert(toJSON('[]'),'[]'); - assert(toJSON('[1,2, 3]'),'[1,2, 3]'); - assert(toJSON('{}'),'{}'); - assert(toJSON('{"a":4}'),'{"a":4}'); - assert(toJSON('""'),'""'); -***** test ## apparent JSON string blocked, quote it - assert(toJSON('"abc def" '),'"\"abc def\" "'); -***** test ## vectors - assert(toJSON([1,2,3]),'[1,2,3]') - assert(toJSON([1;2;3]),'[1,2,3]') -***** test ## vector with PREC - assert(toJSON(pi*(1:4),3),'[3.14,6.28,9.42,12.6]') -***** test ## matrix - assert(toJSON([1,2,3;13,14,15]),'[[1,2,3],[13,14,15]]') -***** test ## boolean 2D array - assert(toJSON(![1 1;0 1]),'[[false,false],[true,false]]') -***** test ## ND array - assert(toJSON(reshape(1:8,2,2,2)),'[[[1,3],[2,4]],[[5,7],[6,8]]]') -***** test ## more N ND array - ndmat = ones(2,2,2,3); - ndmat([4,9,21]) = [4,9,21]; - json = toJSON(ndmat); - assert(json,'[[[[1,1],[1,4]],[[1,1],[1,1]]],[[[9,1],[1,1]],[[1,1],[1,1]]],[[[1,1],[1,1]],[[21,1],[1,1]]]]') -***** test ## string array - assert(toJSON(["a";"bc";"defg"]), '["a ","bc ","defg"]'); -***** test ## string array - assert(toJSON(["a";"bc";"defg"]'), '["abd"," ce"," f"," g"]'); -***** test ## cell vector - assert(toJSON({1,2,3}),'[1,2,3]') - assert(toJSON({1;2;3}),'[1,2,3]') -***** test ## mixed cell vector - assert(toJSON({1,2,3,"a"}),'[1,2,3,"a"]') -***** test ## cell array of numerical vectors - assert(toJSON({[1,2,3];[3,4,5]}),'[[1,2,3],[3,4,5]]') -***** test ## numerical ND cell array (look just like ND numerical array) - json = toJSON(num2cell(reshape(1:8,2,2,2))); - assert(json,'[[[1,3],[2,4]],[[5,7],[6,8]]]') -***** test ## numerical ND cell array, with PREC - c = num2cell(reshape(1:8,2,2,2)); c{5} = pi; - assert(toJSON(c,5),'[[[1,3],[2,4]],[[3.1416,7],[6,8]]]') -***** test ## mixed ND cell array - c = num2cell(reshape(1:8,2,2,2)); c{5} = "a"; - assert(toJSON(c),'[[[1,3],[2,4]],[["a",7],[6,8]]]') -***** test ## structure numbers - assert(toJSON(struct(), true),'{}') -***** test ## structure numbers - assert(toJSON(struct("a",3,"b",5), true),'{"a":3,"b":5}') -***** test ## structure string - s = struct("a","hello","b",4); - assert(toJSON(s, true),'{"a":"hello","b":4}') -***** test ## structure string array - s = struct("a","","b",4); s.a = {"hello","bye"}; - assert(toJSON(s, true),'{"a":["hello","bye"],"b":4}') -***** test ## structure array COMPACT=false - assert(toJSON(struct("a",{3.125;3.125}), false),'[{"a":3.125},{"a":3.125}]') -***** test ## structure array COMPACT=true - assert(toJSON(struct("a",{3.125;3.125}), true),'{"a":[3.125,3.125]}') - assert(toJSON(struct("a",{pi;pi}), 5, true),'{"a":[3.1416,3.1416]}') -***** test ## structure array 2D - s = struct("a",{1 3;2 4},"b",{11 13;12 14}); - assert(toJSON(s, true),'{"a":[[1,3],[2,4]],"b":[[11,13],[12,14]]}') -***** test ## structure array 2D COMPACT=false - s = struct("a",{1 3;2 4},"b",{11 13;12 14}); - assert(toJSON(s, false),'[[{"a":1,"b":11},{"a":3,"b":13}],[{"a":2,"b":12},{"a":4,"b":14}]]') -***** test ## mixed cell array - assert(toJSON({1,2,3,"a",struct("a",3)}, true),'[1,2,3,"a",{"a":3}]') -***** test ## complex number - assert(toJSON(i, true),'{"re":0,"im":1}'); -***** test ## complex number 1D array - assert(toJSON([i,1], true),'{"re":[0,1],"im":[1,0]}'); -***** test ## complex number COMPACT=false, - assert(toJSON([i,1], false),'[{"re":0,"im":1},{"re":1,"im":0}]'); -***** test ## test complex number 2D array - assert(toJSON([i 1;2 i*3],true),'{"re":[[0,1],[2,0]],"im":[[1,0],[0,3]]}'); -***** test ## struct with complex number - assert(toJSON(struct('a',1+i,'b',3),true), '{"a":{"re":1,"im":1},"b":3}'); -***** test ## struct ARRAY with complex number - json = toJSON(struct('a',{1;i},'b',{5;2}),true); - assert(json, '{"a":{"re":[1,0],"im":[0,1]},"b":[5,2]}'); -***** test ## struct ARRAY with complex number COMPACT=false, - json = toJSON(struct('a',{1;i},'b',{5;2}),false); - assert(json, '[{"a":1,"b":5},{"a":{"re":0,"im":1},"b":2}]'); -***** test ## struct ARRAY with complex number COMPACT=false, - json = toJSON(struct('a',{[1 2i];[3 i]},'b',{5;2}),false); - assert(json, '[{"a":[{"re":1,"im":0},{"re":0,"im":2}],"b":5},{"a":[{"re":3,"im":0},{"re":0,"im":1}],"b":2}]'); -***** test ## ND struct array - json=toJSON(struct('a',num2cell(reshape(1:8,2,2,2))),true); - assert(json, '{"a":[[[1,3],[2,4]],[[5,7],[6,8]]]}'); -***** test ## ND struct array COMPACT=false, - json=toJSON(struct('a',num2cell(reshape(1:8,2,2,2))),false); - assert(json, '[[[{"a":1},{"a":3}],[{"a":2},{"a":4}]],[[{"a":5},{"a":7}],[{"a":6},{"a":8}]]]'); -***** test ## inline function - assert(toJSON(@sin),'"@@(x) sin(x)"') - assert(toJSON(@(a,b)a+b+c),'"@@(a, b) a + b + c"') -***** test ## struct with java object - if usejava("jvm") - obj = javaObject ("java.math.BigDecimal", 1.0); - assert(toJSON(struct('a',obj)), '{"a":"[java.math.BigDecimal]"}'); - endif -***** test ## structure array DEFAULT COMPACT - s = struct("a",{3.125;3.125}); - assert(toJSON(s),'[{"a":3.125},{"a":3.125}]') -***** test %% jsondecode's a big test - var1 = struct ('para', ['A meta-markup language, used to create ' ... - 'markup languages such as DocBook.'], ... - 'GlossSeeAlso', {{'GML'; 'XML'}}); - var2 = struct ('ID', 'SGML', 'SortAs', 'SGML', ... - 'GlossTerm', 'Standard Generalized Markup Language', ... - 'Acronym', 'SGML', 'Abbrev', 'ISO 8879:1986', ... - 'GlossDef', var1, 'GlossSee', 'markup'); - data = struct ('glossary', ... - struct ('title', 'example glossary', ... - 'GlossDiv', struct ('title', 'S', ... - 'GlossList', ... - struct ('GlossEntry', var2)))); - exp = ['{' , ... - '"glossary":{', ... - '"title":"example glossary",', ... - '"GlossDiv":{', ... - '"title":"S",', ... - '"GlossList":{', ... - '"GlossEntry":{', ... - '"ID":"SGML",', ... - '"SortAs":"SGML",', ... - '"GlossTerm":"Standard Generalized Markup Language",', ... - '"Acronym":"SGML",', ... - '"Abbrev":"ISO 8879:1986",', ... - '"GlossDef":{', ... - '"para":"A meta-markup language, ', ... - 'used to create markup languages such as DocBook.",', ... - '"GlossSeeAlso":["GML","XML"]', ... - '},', ... - '"GlossSee":"markup"', ... - '}', ... - '}', ... - '}', ... - '}', ... - '}']; - assert (toJSON (data), exp); -***** test %% jsondecode's another big Test - var1 = struct ('id', {0; 1; 2}, 'name', {'Collins'; 'Hays'; 'Griffin'}); - var2 = struct ('id', {0; 1; 2}, 'name', {'Osborn'; 'Mcdowell'; 'Jewel'}); - var3 = struct ('id', {0; 1; 2}, 'name', {'Socorro'; 'Darla'; 'Leanne'}); - data = struct (... - 'x_id', {'5ee28980fc9ab3'; '5ee28980dd7250'; '5ee289802422ac'}, ... - 'index', {0; 1; 2}, ... - 'guid', {'b229d1de-f94a'; '39cee338-01fb'; '3db8d55a-663e'}, ... - 'latitude', {-17.124067; 13.205994; -35.453456}, ... - 'longitude', {-61.161831; -37.276231; 14.080287}, ... - 'friends', {var1; var2; var3}); - exp = ['[', ... - '{', ... - '"x_id":"5ee28980fc9ab3",', ... - '"index":0,', ... - '"guid":"b229d1de-f94a",', ... - '"latitude":-17.124067,', ... - '"longitude":-61.161831,', ... - '"friends":[', ... - '{', ... - '"id":0,', ... - '"name":"Collins"', ... - '},', ... - '{', ... - '"id":1,', ... - '"name":"Hays"', ... - '},', ... - '{', ... - '"id":2,', ... - '"name":"Griffin"', ... - '}', ... - ']', ... - '},', ... - '{', ... - '"x_id":"5ee28980dd7250",', ... - '"index":1,', ... - '"guid":"39cee338-01fb",', ... - '"latitude":13.205994,', ... - '"longitude":-37.276231,', ... - '"friends":[', ... - '{', ... - '"id":0,', ... - '"name":"Osborn"', ... - '},', ... - '{', ... - '"id":1,', ... - '"name":"Mcdowell"', ... - '},', ... - '{', ... - '"id":2,', ... - '"name":"Jewel"', ... - '}', ... - ']', ... - '},', ... - '{', ... - '"x_id":"5ee289802422ac",', ... - '"index":2,', ... - '"guid":"3db8d55a-663e",', ... - '"latitude":-35.453456,', ... - '"longitude":14.080287,', ... - '"friends":[', ... - '{', ... - '"id":0,', ... - '"name":"Socorro"', ... - '},', ... - '{', ... - '"id":1,', ... - '"name":"Darla"', ... - '},', ... - '{', ... - '"id":2,', ... - '"name":"Leanne"', ... - '}', ... - ']', ... - '}', ... - ']']; - assert (toJSON (data), exp); -56 tests, 56 passed, 0 known failure, 0 skipped Checking C++ files ... [src/cell2csv.cc] >>>>> /build/reproducible-path/octave-io-2.6.4/src/cell2csv.cc @@ -3936,6 +3972,12 @@ ***** error csv2cell ("f.csv", ",,"); ***** error csv2cell ("f.csv", ",", "[]"); 18 tests, 18 passed, 0 known failure, 0 skipped +[src/num2col.cc] +>>>>> /build/reproducible-path/octave-io-2.6.4/src/num2col.cc +***** test +***** test +***** test +3 tests, 3 passed, 0 known failure, 0 skipped [src/col2num.cc] >>>>> /build/reproducible-path/octave-io-2.6.4/src/col2num.cc ***** test @@ -3955,12 +3997,6 @@ ***** test ***** test 12 tests, 12 passed, 0 known failure, 0 skipped -[src/num2col.cc] ->>>>> /build/reproducible-path/octave-io-2.6.4/src/num2col.cc -***** test -***** test -***** test -3 tests, 3 passed, 0 known failure, 0 skipped Done running the unit tests. Summary: 257 tests, 257 passed, 0 known failures, 0 skipped dh_installdocs -O--buildsystem=octave @@ -3994,12 +4030,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/4176170/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4176170/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/3353950 and its subdirectories -I: Current time: Mon May 20 05:38:06 -12 2024 -I: pbuilder-time-stamp: 1716226686 +I: removing directory /srv/workspace/pbuilder/4176170 and its subdirectories +I: Current time: Mon Jun 23 14:03:37 +14 2025 +I: pbuilder-time-stamp: 1750637017