Diff of the two buildlogs: -- --- b1/build.log 2021-08-12 11:25:28.845308084 +0000 +++ b2/build.log 2021-08-12 11:48:23.417686044 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Aug 11 22:57:45 -12 2021 -I: pbuilder-time-stamp: 1628765865 +I: Current time: Fri Aug 13 01:25:48 +14 2021 +I: pbuilder-time-stamp: 1628767548 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -16,8 +16,8 @@ I: copying [./octave-financial_0.5.3-3.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.6K6meyNp/trustedkeys.kbx': General error -gpgv: Signature made Mon Jul 27 22:53:27 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.t22HCHAM/trustedkeys.kbx': General error +gpgv: Signature made Wed Jul 29 00:53:27 2020 +14 gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./octave-financial_0.5.3-3.dsc @@ -26,135 +26,169 @@ dpkg-source: info: unpacking octave-financial_0.5.3-3.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/11241/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/673/tmp/hooks/D01_modify_environment starting +debug: Running on jtx1b. +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 +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/673/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/673/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=3' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.1.4(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,-fixfilepath parallel=4' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='aa65137e1bf643f1afe6e1b8c792f16b' - 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='11241' - PS1='# ' - PS2='> ' + INVOCATION_ID=418d00b6a3f14bed88509f1e72c7c0b8 + 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=673 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/tmp.bjiQ0ACbAF/pbuilderrc_Tuij --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.bjiQ0ACbAF/b1 --logfile b1/build.log octave-financial_0.5.3-3.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:8000/' + 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/tmp.bjiQ0ACbAF/pbuilderrc_Plz8 --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.bjiQ0ACbAF/b2 --logfile b2/build.log --extrapackages usrmerge octave-financial_0.5.3-3.dsc' + SUDO_GID=114 + SUDO_UID=110 + 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:8000/ I: uname -a - Linux cbxi4a 5.10.0-8-armmp #1 SMP Debian 5.10.46-4 (2021-08-03) armv7l GNU/Linux + Linux i-capture-the-hostname 5.10.0-8-arm64 #1 SMP Debian 5.10.46-4 (2021-08-03) aarch64 GNU/Linux I: ls -l /bin total 3580 - -rwxr-xr-x 1 root root 816764 Aug 4 08:25 bash - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 9636 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 26668 Sep 22 2020 cat - -rwxr-xr-x 1 root root 43104 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 38984 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 43112 Sep 22 2020 chown - -rwxr-xr-x 1 root root 92616 Sep 22 2020 cp - -rwxr-xr-x 1 root root 75524 Dec 10 2020 dash - -rwxr-xr-x 1 root root 75880 Sep 22 2020 date - -rwxr-xr-x 1 root root 55436 Sep 22 2020 dd - -rwxr-xr-x 1 root root 59912 Sep 22 2020 df - -rwxr-xr-x 1 root root 96764 Sep 22 2020 dir - -rwxr-xr-x 1 root root 55012 Jul 28 07:09 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 22508 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 22496 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 47492 Jul 28 07:09 findmnt - -rwsr-xr-x 1 root root 26076 Feb 26 04:12 fusermount - -rwxr-xr-x 1 root root 124508 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 11:30 gzexe - -rwxr-xr-x 1 root root 64212 Mar 2 11:30 gzip - -rwxr-xr-x 1 root root 13784 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 43180 Sep 22 2020 ln - -rwxr-xr-x 1 root root 35068 Feb 7 2020 login - -rwxr-xr-x 1 root root 96764 Sep 22 2020 ls - -rwxr-xr-x 1 root root 99940 Jul 28 07:09 lsblk - -rwxr-xr-x 1 root root 51408 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 43184 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 30780 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 34408 Jul 28 07:09 more - -rwsr-xr-x 1 root root 34400 Jul 28 07:09 mount - -rwxr-xr-x 1 root root 9824 Jul 28 07:09 mountpoint - -rwxr-xr-x 1 root root 88524 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 03:38 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 26652 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Aug 4 08:25 rbash -> bash - -rwxr-xr-x 1 root root 30740 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 43104 Sep 22 2020 rm - -rwxr-xr-x 1 root root 30732 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 14144 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 76012 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Aug 9 21:28 sh -> dash - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 55360 Sep 22 2020 stty - -rwsr-xr-x 1 root root 46704 Jul 28 07:09 su - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sync - -rwxr-xr-x 1 root root 340872 Feb 16 21:55 tar - -rwxr-xr-x 1 root root 9808 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 67696 Sep 22 2020 touch - -rwxr-xr-x 1 root root 22496 Sep 22 2020 true - -rwxr-xr-x 1 root root 9636 Feb 26 04:12 ulockmgr_server - -rwsr-xr-x 1 root root 22108 Jul 28 07:09 umount - -rwxr-xr-x 1 root root 22520 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 uncompress - -rwxr-xr-x 1 root root 96764 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 38512 Jul 28 07:09 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 11:30 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 11:30 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 11:30 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 11:30 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 11:30 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 11:30 zless - -rwxr-xr-x 1 root root 1842 Mar 2 11:30 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 11:30 znew -I: user script /srv/workspace/pbuilder/11241/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 816764 Aug 5 10:25 bash + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 9636 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 26668 Sep 23 2020 cat + -rwxr-xr-x 1 root root 43104 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 38984 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 43112 Sep 23 2020 chown + -rwxr-xr-x 1 root root 92616 Sep 23 2020 cp + -rwxr-xr-x 1 root root 75524 Dec 11 2020 dash + -rwxr-xr-x 1 root root 75880 Sep 23 2020 date + -rwxr-xr-x 1 root root 55436 Sep 23 2020 dd + -rwxr-xr-x 1 root root 59912 Sep 23 2020 df + -rwxr-xr-x 1 root root 96764 Sep 23 2020 dir + -rwxr-xr-x 1 root root 55012 Jul 29 09:09 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 22508 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 22496 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 47492 Jul 29 09:09 findmnt + -rwsr-xr-x 1 root root 26076 Feb 27 06:12 fusermount + -rwxr-xr-x 1 root root 124508 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 13:30 gzexe + -rwxr-xr-x 1 root root 64212 Mar 3 13:30 gzip + -rwxr-xr-x 1 root root 13784 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 43180 Sep 23 2020 ln + -rwxr-xr-x 1 root root 35068 Feb 8 2020 login + -rwxr-xr-x 1 root root 96764 Sep 23 2020 ls + -rwxr-xr-x 1 root root 99940 Jul 29 09:09 lsblk + -rwxr-xr-x 1 root root 51408 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 43184 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 30780 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 34408 Jul 29 09:09 more + -rwsr-xr-x 1 root root 34400 Jul 29 09:09 mount + -rwxr-xr-x 1 root root 9824 Jul 29 09:09 mountpoint + -rwxr-xr-x 1 root root 88524 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 05:38 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 26652 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Aug 5 10:25 rbash -> bash + -rwxr-xr-x 1 root root 30740 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 43104 Sep 23 2020 rm + -rwxr-xr-x 1 root root 30732 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 14144 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 76012 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Aug 13 01:27 sh -> bash + lrwxrwxrwx 1 root root 4 Aug 10 23:27 sh.distrib -> dash + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 55360 Sep 23 2020 stty + -rwsr-xr-x 1 root root 46704 Jul 29 09:09 su + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sync + -rwxr-xr-x 1 root root 340872 Feb 17 23:55 tar + -rwxr-xr-x 1 root root 9808 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 67696 Sep 23 2020 touch + -rwxr-xr-x 1 root root 22496 Sep 23 2020 true + -rwxr-xr-x 1 root root 9636 Feb 27 06:12 ulockmgr_server + -rwsr-xr-x 1 root root 22108 Jul 29 09:09 umount + -rwxr-xr-x 1 root root 22520 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 uncompress + -rwxr-xr-x 1 root root 96764 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 38512 Jul 29 09:09 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 13:30 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 13:30 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 13:30 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 13:30 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 13:30 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 13:30 zless + -rwxr-xr-x 1 root root 1842 Mar 3 13:30 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 13:30 znew +I: user script /srv/workspace/pbuilder/673/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -639,7 +673,7 @@ Get: 441 http://deb.debian.org/debian bullseye/main armhf dh-octave all 1.0.3 [21.9 kB] Get: 442 http://deb.debian.org/debian bullseye/main armhf octave-io armhf 2.6.3-1+b1 [200 kB] Get: 443 http://deb.debian.org/debian bullseye/main armhf octave-statistics all 1.4.2-2 [190 kB] -Fetched 133 MB in 25s (5285 kB/s) +Fetched 133 MB in 27s (4948 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 19398 files and directories currently installed.) @@ -2457,8 +2491,26 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + usrmerge +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 13.0 kB of archives. +After this operation, 43.0 kB of additional disk space will be used. +Get:1 http://deb.debian.org/debian bullseye/main armhf usrmerge all 25 [13.0 kB] +debconf: delaying package configuration, since apt-utils is not installed +Fetched 13.0 kB in 0s (349 kB/s) +Selecting previously unselected package usrmerge. +(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 ... 35941 files and directories currently installed.) +Preparing to unpack .../archives/usrmerge_25_all.deb ... +Unpacking usrmerge (25) ... +Setting up usrmerge (25) ... +The system has been successfully converted. I: Building the package -I: Running cd /build/octave-financial-0.5.3/ && 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-financial_0.5.3-3_source.changes +hostname: Name or service not known +I: Running cd /build/octave-financial-0.5.3/ && 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-financial_0.5.3-3_source.changes dpkg-buildpackage: info: source package octave-financial dpkg-buildpackage: info: source version 0.5.3-3 dpkg-buildpackage: info: source distribution unstable @@ -2499,22 +2551,166 @@ dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... +[inst/rsindex.m] +>>>>> /build/octave-financial-0.5.3/inst/rsindex.m +***** shared c, r + c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; + r = [nan(1, 13) 85.1190 70.235 68.6684 55.6322 53.0414 49.7717]; +***** assert(rsindex(c), r, 0.0001) +***** assert(rsindex(c'), r', 0.0001) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/corr2cov.m] +>>>>> /build/octave-financial-0.5.3/inst/corr2cov.m +***** demo + sigma = [ 0.5 2.0 ]; + corr = [ 1.0 -0.5; -0.5 1.0 ]; + cov = corr2cov( sigma, corr ); + %-------------------------------------------------- + % Input standard deviations and correlation matrix, output covariance + % matrix +***** test + sigma = [0.5 2.0]; + corr = [1.0 -0.5; -0.5 1.0]; + cov = corr2cov( sigma, corr ); + assert( cov, [ 0.25 -0.5; -0.5 4.0 ] ) +1 test, 1 passed, 0 known failure, 0 skipped +[inst/pointfig.m] +>>>>> /build/octave-financial-0.5.3/inst/pointfig.m +***** shared a + a = [1 2 3 2 4 2 1]; +***** test + [s l] = movavg(a, 2, 4); + assert(s, [1 1.5 2.5 2.5 3 3 1.5]) + assert(l, [1 1.5 2 2 2.75 2.75 2.25]) +***** test + [s l] = movavg(a', 2, 4); + assert(s, [1;1.5;2.5;2.5;3;3;1.5]) + assert(l, [1;1.5;2;2;2.75;2.75;2.25]) +***** test + [s l] = movavg(a, 3, 4, 1); + assert(s, [3 4.8 7 7 9.5 8 5.5]./3, 10*eps) + assert(l, [1 11/7 20/9 2.2 3 2.7 2], 10*eps) +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/month.m] +>>>>> /build/octave-financial-0.5.3/inst/month.m +***** assert (nthargout (1:2, @month, 523383), {12 "Dec"}); +***** assert (nthargout (1:2, @month, "12-02-34", "mm-dd-yy"), {12 "Dec"}); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/taxedrr.m] +>>>>> /build/octave-financial-0.5.3/inst/taxedrr.m +***** assert (taxedrr (0.12, 0.30), 0.084, 10*eps) +***** assert (taxedrr (0.12, 0), 0.12, 10*eps) +***** assert (taxedrr (0.12, 1), 0, 10*eps) +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/llow.m] +>>>>> /build/octave-financial-0.5.3/inst/llow.m +***** shared c, l + c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21 25]; + l = [22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.61 22.67 22.86 22.86 22.86 22.86]; +***** assert(llow(c), l) +***** assert(llow(c'), l') +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/nweekdate.m] +>>>>> /build/octave-financial-0.5.3/inst/nweekdate.m +***** assert(nweekdate(1, 4, 2008, 1), datenum(2008, 1, 2)) +***** assert(nweekdate(2, 4, 2008, 1), datenum(2008, 1, 9)) +***** assert(nweekdate(3, 4, 2008, 1), datenum(2008, 1, 16)) +***** assert(nweekdate(4, 4, 2008, 1), datenum(2008, 1, 23)) +***** assert(nweekdate(5, 4, 2008, 1), datenum(2008, 1, 30)) +***** assert(nweekdate(6, 4, 2008, 1), 0) +***** assert(nweekdate(5, 6, 2008, 1), 0) +***** assert(nweekdate(1, 4, 2008, 1, 2), datenum(2008, 1, 9)) +***** assert(nweekdate(5, 4, 2008, 1, 6), 0) +***** assert(nweekdate(1:6, 4, 2008, 1, 6), [datenum(2008, 1, 2:7:23), 0, 0]) +***** assert(nweekdate('lweekdate', 4, 2008, 1), datenum(2008, 1, 30)) +***** assert(nweekdate('lweekdate', 4, 2008, 1, 6), datenum(2008, 1, 23)) +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/holidays.m] +>>>>> /build/octave-financial-0.5.3/inst/holidays.m +***** assert(holidays("jan 1 1999", "jan 1 1998"), zeros(0,1)); # return empty when startdate is after enddate +***** assert(holidays("mar 5 2008", "mar 8 2008"), zeros(0,1)); +***** assert(holidays(datenum(2008,3,5), datenum(2008,3,5)), zeros(0,1)); +***** assert(holidays(datenum(2008,1,1), datenum(2008,1,1)), datenum(2008,1,1)); +***** assert (holidays ("jan 1 2010", "mar 1 2010"), [734139; 734156; 734184]); +***** assert (holidays (datenum (2010, 1, 1), datenum (2010, 3, 1)), [734139; 734156; 734184]); +***** assert (holidays ("dec 29 2004", "jan 2 2005"), zeros (0, 1)); +***** assert (holidays ("dec 29 2005", "jan 2 2006"), datenum (2006 ,1 ,2)); +***** assert(holidays(datenum(2004,1,1), datenum(2004,12,31)), datenum(2004*ones(10,1), [1;1;2;4;5;6;7;9;11;12], [1;19;16;9;31;11;5;6;25;24])); +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/mirr.m] +>>>>> /build/octave-financial-0.5.3/inst/mirr.m +***** assert (mirr ([-100000 20000 -10000 30000 38000 50000], 0.09, 0.12), 0.0832, 0.00005) +1 test, 1 passed, 0 known failure, 0 skipped +[inst/x2mdate.m] +>>>>> /build/octave-financial-0.5.3/inst/x2mdate.m +***** assert(x2mdate(39448), datenum(2008, 1, 1)) +***** assert(x2mdate([39083 39448]), datenum(2007:2008, 1, 1)) +***** assert(x2mdate(2), datenum(1900, 1, 1)) +***** assert(x2mdate(1, 0, "ExcelBug"), datenum(1900, 1, 1)) +***** assert(x2mdate(0, 1), datenum(1904, 1, 1)) +5 tests, 5 passed, 0 known failure, 0 skipped [inst/nomrr.m] >>>>> /build/octave-financial-0.5.3/inst/nomrr.m ***** assert (nomrr (0.0938, 12), 0.09, 0.00005) 1 test, 1 passed, 0 known failure, 0 skipped -[inst/posvolidx.m] ->>>>> /build/octave-financial-0.5.3/inst/posvolidx.m -***** shared c, v, pvia, pvib +[inst/blsgamma.m] +>>>>> /build/octave-financial-0.5.3/inst/blsgamma.m +***** error blsgamma () +***** error blsgamma (1) +***** error blsgamma (1, 2) +***** error blsgamma (1, 2, 3) +***** error blsgamma (1, 2, 3, 4) +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/effrr.m] +>>>>> /build/octave-financial-0.5.3/inst/effrr.m +***** assert (effrr (0.09, 12), 0.0938, 0.00005) +1 test, 1 passed, 0 known failure, 0 skipped +[inst/thirdwednesday.m] +>>>>> /build/octave-financial-0.5.3/inst/thirdwednesday.m +***** shared m, y, bt, et + m = (1:12)'; + y = 2008; + bt = datenum(2008, m, [16;20;19;16;21;18;16;20;17;15;19;17]); + et = datenum([2008*ones(9,1);2009*ones(3,1)], [4:12 1:3]', [16;20;19;16;21;18;16;20;17;15;19;17]); +***** test + [b e] = thirdwednesday (m, y); + assert(b, bt) + assert(e, et) +***** test + [b e] = thirdwednesday (m', y); + assert(b, bt') + assert(e, et') +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/binprice.m] +>>>>> /build/octave-financial-0.5.3/inst/binprice.m +***** test + [AssetPrice, OptionValue] = binprice (100, 100, 0.04, 1, 0.25, 0.2, 0, 0.01); + assert (OptionValue(1:2,1:2), [6.4701 2.2159; 0 11.0776], 1e-4) +***** error binprice () +***** error binprice (1) +***** error binprice (1, 2) +***** error binprice (1, 2, 3) +***** error binprice (1, 2, 3, 4) +***** error binprice (1, 2, 3, 4, 5) +***** error binprice (1, 2, 3, 4, 5, 6) +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/hhigh.m] +>>>>> /build/octave-financial-0.5.3/inst/hhigh.m +***** shared c, h + c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21 25]; + h = [22.44 22.61 22.67 22.88 23.36 23.36 23.36 23.36 23.36 23.69 23.77 23.84 24.32 24.8 24.8 24.8 24.8 24.8 24.8 25]; +***** assert(hhigh(c), h) +***** assert(hhigh(c'), h') +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/onbalvol.m] +>>>>> /build/octave-financial-0.5.3/inst/onbalvol.m +***** shared c, v, obv c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; v = [10 12 23 25 34 12 32 15 15 34 54 12 86 45 32 76 89 13 28]; - pvia = [100 100.7575758 101.0249554 101.9607843 104.0998217 104.0998217 103.4276318 103.4276318 103.4276318 105.7488389 106.1059477 106.1059477 108.242309 108.242309 108.242309 107.9734953 104.7029289 104.7029289 102.9290546]'; - pvib = [5 5.037878788 5.051247772 5.098039216 5.204991087 5.204991087 5.171381588 5.171381588 5.171381588 5.287441943 5.305297383 5.305297383 5.412115451 5.412115451 5.412115451 5.398674767 5.235146444 5.235146444 5.14645273]'; -***** assert(posvolidx(c, v), pvia, 1e-5) -***** assert(posvolidx([c' v']), pvia, 1e-5) -***** assert(posvolidx(c, v, 5), pvib, 1e-5) -***** assert(posvolidx([c' v'], 5), pvib, 1e-5) -4 tests, 4 passed, 0 known failure, 0 skipped + obv = [0 12 35 60 94 82 50 35 50 84 138 150 236 281 249 173 84 97 69]'; +***** assert(onbalvol(c, v), obv) +***** assert(onbalvol([c' v']), obv) +2 tests, 2 passed, 0 known failure, 0 skipped [inst/busdate.m] >>>>> /build/octave-financial-0.5.3/inst/busdate.m ***** assert(busdate(datenum(2008,1,2)), datenum(2008,1,3)) @@ -2535,15 +2731,43 @@ ***** assert(busdate(datenum(2008,1,6), 1, holidays(datenum(2008,1,1), datenum(2008,1,31)), [1 0 0 0 0 0 0]), datenum(2008,1,7)) ***** assert(busdate(datenum(2008,1,1), 1, holidays(datenum(2008,1,1), datenum(2008,1,31)), [1 1 1 1 1 1 0]), datenum(2008,1,5)) 17 tests, 17 passed, 0 known failure, 0 skipped -[inst/onbalvol.m] ->>>>> /build/octave-financial-0.5.3/inst/onbalvol.m -***** shared c, v, obv - c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; - v = [10 12 23 25 34 12 32 15 15 34 54 12 86 45 32 76 89 13 28]; - obv = [0 12 35 60 94 82 50 35 50 84 138 150 236 281 249 173 84 97 69]'; -***** assert(onbalvol(c, v), obv) -***** assert(onbalvol([c' v']), obv) +[inst/minute.m] +>>>>> /build/octave-financial-0.5.3/inst/minute.m +***** assert (minute (451482.906781456), 45) +***** assert (minute ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 56) 2 tests, 2 passed, 0 known failure, 0 skipped +[inst/blkimpv.m] +>>>>> /build/octave-financial-0.5.3/inst/blkimpv.m +***** assert (blkimpv (90, 100, 0.04, 1, [3.4484 13.0563], 1, 1e-6, [1 0]), [0.2 0.2], 1e-4) +***** error blkimpv () +***** error blkimpv (1) +***** error blkimpv (1, 2) +***** error blkimpv (1, 2, 3) +***** error blkimpv (1, 2, 3, 4) +***** error blkimpv (1, 2, 3, 4, 5, 6, 7, 8, 2) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/bolling.m] +>>>>> /build/octave-financial-0.5.3/inst/bolling.m +***** error bolling () +***** error bolling (1) +***** error bolling (1, 2) +***** error bolling ("invalid", "type") +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/cir.m] +>>>>> /build/octave-financial-0.5.3/inst/cir.m +***** test + InitialInterestRate = 0.03; Speed = 1.; MeanInterestRate = 0.04; Volatility = 0.3; ExpiryTime = 1.; + Simulations = 1e4; Timesteps = 100; + SDE = cir (Speed, MeanInterestRate, Volatility, "StartState", InitialInterestRate); + [Paths, ~, ~] = simByEuler (SDE, Timesteps, "DeltaTime", ExpiryTime / Timesteps, "NTRIALS", Simulations, "NSTEPS", 1, "Antithetic", true, "Processes", @(t, X) max(X, 0)); + BondApproximate = mean (exp (-(sum (Paths) - InitialInterestRate) * ExpiryTime / Timesteps)); + h = sqrt (Speed * Speed + 2 * Volatility * Volatility); + d = (2 * h + (Speed + h) * (exp (ExpiryTime * h) - 1)); + A = ( (2 * h * exp ((Speed + h) * ExpiryTime / 2)) / d )^((2 * Speed * MeanInterestRate) / (Volatility * Volatility)); + B = 2 * (exp (ExpiryTime * h) - 1) / d; + Bond = A * exp (-B * InitialInterestRate); + assert (BondApproximate, Bond, 1e-3); +1 test, 1 passed, 0 known failure, 0 skipped [inst/blsdelta.m] >>>>> /build/octave-financial-0.5.3/inst/blsdelta.m ***** test @@ -2556,10 +2780,70 @@ ***** error blsdelta (1, 2, 3) ***** error blsdelta (1, 2, 3, 4) 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/day.m] ->>>>> /build/octave-financial-0.5.3/inst/day.m -***** assert (day (523383), 21); -***** assert (day ("12-02-34", "mm-dd-yy"), 2); +[inst/isbusday.m] +>>>>> /build/octave-financial-0.5.3/inst/isbusday.m +***** assert(isbusday(datenum(2008,1,2)), true()) +***** assert(isbusday(datenum(2008,1,1)), false()) +***** assert(isbusday(datenum(2008,1,1), []), false()) +***** assert(isbusday(datenum(2008,2,2)), false()) +***** assert(isbusday(datenum(2008,1,2), datenum(2008,1,2)), false()) +***** assert(isbusday(datenum(2008,1,2), [], zeros(1,7)), true()) +***** assert(isbusday(datenum(2008,1,2), [], ones(1,7)), false()) +***** assert(isbusday([datenum(2008,1,2) datenum(2008,2,2)]), [true() false()]) +***** assert(isbusday([datenum(2008,1,2);datenum(2008,2,2)]), [true();false()]) +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/blsvega.m] +>>>>> /build/octave-financial-0.5.3/inst/blsvega.m +***** test +***** error blsvega () +***** error blsvega (1) +***** error blsvega (1, 2) +***** error blsvega (1, 2, 3) +***** error blsvega (1, 2, 3, 4) +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/months.m] +>>>>> /build/octave-financial-0.5.3/inst/months.m +***** assert(months('may 31 2004', 'jun 30 2004'), 1) +***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004'), [1;1]) +***** assert(months('may 31 2004', 'jun 30 2004', 1), 1) +***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004', 1), [1;1]) +***** assert(months('may 31 2004', 'jun 30 2004', 0), 0) +***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004', 0), [0;1]) +***** assert(months('jun 30 2005', 'june 30 2006'), 12) +***** assert(months('jun 30 2005', 'june 29 2006'), 11) +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/easter.m] +>>>>> /build/octave-financial-0.5.3/inst/easter.m +***** assert(easter(1990), datenum(1990, 4, 15)) +***** assert(easter(1991), datenum(1991, 3, 31)) +***** assert(easter(1992), datenum(1992, 4, 19)) +***** assert(easter(1993), datenum(1993, 4, 11)) +***** assert(easter(1994), datenum(1994, 4, 3)) +***** assert(easter(1995), datenum(1995, 4, 16)) +***** assert(easter(1996), datenum(1996, 4, 7)) +***** assert(easter(1997), datenum(1997, 3, 30)) +***** assert(easter(1998), datenum(1998, 4, 12)) +***** assert(easter(1999), datenum(1999, 4, 4)) +***** assert(easter([2000 2001]), [datenum(2000, 4, 23) datenum(2001, 4, 15)]) +***** assert(easter([2002;2003]), [datenum(2002, 3, 31);datenum(2003, 4, 20)]) +***** assert(easter([2004 2005;2006 2007;2008 2009]), [datenum(2004, 4, 11) datenum(2005, 3, 27);datenum(2006, 4, 16) datenum(2007, 4, 8);datenum(2008, 3, 23) datenum(2009, 4, 12)]) +***** assert(easter([2002;2003]), [datenum(2002, 3, 31);datenum(2003, 4, 20)]) +14 tests, 14 passed, 0 known failure, 0 skipped +[inst/fbusdate.m] +>>>>> /build/octave-financial-0.5.3/inst/fbusdate.m +***** assert(fbusdate(2008,2), datenum(2008,2,1)) +***** assert(fbusdate(2008,1), datenum(2008,1,2)) +***** assert(fbusdate(2008,3), datenum(2008,3,3)) +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/hour.m] +>>>>> /build/octave-financial-0.5.3/inst/hour.m +***** assert (hour (451482.906781456), 21) +***** assert (hour ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 11) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/lbusdate.m] +>>>>> /build/octave-financial-0.5.3/inst/lbusdate.m +***** assert(lbusdate(2008,4), datenum(2008,4,30)) +***** assert(lbusdate(2008,5), datenum(2008,5,30)) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/blsrho.m] >>>>> /build/octave-financial-0.5.3/inst/blsrho.m @@ -2573,42 +2857,111 @@ ***** error blsrho (1, 2, 3) ***** error blsrho (1, 2, 3, 4) 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/weeknum.m] ->>>>> /build/octave-financial-0.5.3/inst/weeknum.m -***** assert (weeknum (728647), 52) -***** assert (weeknum ([728647 728848]), [52 27]) -***** assert (weeknum ([728647 ;728648]), [52 ;52]) -***** assert (weeknum ([736413 736813 ; 737213 737613]), [13 17 ; 22 28]) -***** assert (weeknum (datenum (2005, 01, 01), 2, 1), 53) -***** assert (weeknum (datenum (2005, 01, 02), 2, 1), 53) -***** assert (weeknum (datenum (2005, 12, 31), 2, 1), 52) -***** assert (weeknum (datenum (2007, 01, 01), 2, 1), 1) -***** assert (weeknum (datenum (2007, 12, 30), 2, 1), 52) -***** assert (weeknum (datenum (2007, 12, 31), 2, 1), 1) -***** assert (weeknum (datenum (2008, 01, 01), 2, 1), 1) -***** assert (weeknum (datenum (2008, 12, 28), 2, 1), 52) -***** assert (weeknum (datenum (2008, 12, 29), 2, 1), 1) -***** assert (weeknum (datenum (2008, 12, 30), 2, 1), 1) -***** assert (weeknum (datenum (2008, 12, 31), 2, 1), 1) -***** assert (weeknum (datenum (2009, 01, 01), 2, 1), 1) -***** assert (weeknum (datenum (2009, 12, 31), 2, 1), 53) -***** assert (weeknum (datenum (2010, 01, 01), 2, 1), 53) -***** assert (weeknum (datenum (2010, 01, 02), 2, 1), 53) -***** assert (weeknum (datenum (2010, 01, 03), 2, 1), 53) -***** assert (weeknum ([datenum(2005, 1, 1) datenum(2008, 12, 29)], 2, 1), [53 1]) +[inst/movavg.m] +>>>>> /build/octave-financial-0.5.3/inst/movavg.m +***** shared a + a = [1 2 3 2 4 2 1]; ***** test - [n, y] = weeknum (datenum (2010, 1, 3), 2, 1); - assert ([n y],[53 2009]) -***** demo - d = datenum (2014, 12, 29); - [w, y] = weeknum (datenum (2014, 12, 29), 2, 1); - disp(['In ISO8601 ' datestr(d) ' is week ' num2str(w) ' of year ' num2str(y)]) - disp(['Octave default weeknumber for ' datestr(d) ' is ' num2str(weeknum (d))]) -22 tests, 22 passed, 0 known failure, 0 skipped -[inst/month.m] ->>>>> /build/octave-financial-0.5.3/inst/month.m -***** assert (nthargout (1:2, @month, 523383), {12 "Dec"}); -***** assert (nthargout (1:2, @month, "12-02-34", "mm-dd-yy"), {12 "Dec"}); + [s l] = movavg(a, 2, 4); + assert(s, [1 1.5 2.5 2.5 3 3 1.5]) + assert(l, [1 1.5 2 2 2.75 2.75 2.25]) +***** test + [s l] = movavg(a', 2, 4); + assert(s, [1;1.5;2.5;2.5;3;3;1.5]) + assert(l, [1;1.5;2;2;2.75;2.75;2.25]) +***** test + [s l] = movavg(a, 3, 4, 1); + assert(s, [3 4.8 7 7 9.5 8 5.5]./3, 10*eps) + assert(l, [1 11/7 20/9 2.2 3 2.7 2], 10*eps) +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/eomdate.m] +>>>>> /build/octave-financial-0.5.3/inst/eomdate.m +***** assert(eomdate(2008, 2), datenum(2008, 2, 29)) +***** assert(eomdate(2007, 2), datenum(2007, 2, 28)) +***** assert(eomdate([2008 2007], [3 4]), [datenum(2008, 3, 31) datenum(2007, 4, 30)]) +***** assert(eomdate([2008;2007], [3;4]), [datenum(2008, 3, 31);datenum(2007, 4, 30)]) +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/opprofit.m] +>>>>> /build/octave-financial-0.5.3/inst/opprofit.m +***** assert (opprofit (100, 90, 4, 0, 0), 6) +***** assert (opprofit (80:20:120, 90, 4, 0, 0), [-4 6 26]) +***** assert (opprofit (80:20:120, 80:20:120, 0, 0, 0), [0 0 0]) +***** assert (opprofit (100, 90, 4, [0 0 1 1], [0 1 0 1]), [6 -4 -6 4]) +***** error opprofit () +***** error opprofit (1) +***** error opprofit (1, 2) +***** error opprofit (1, 2, 3) +***** error opprofit (1, 2, 3, 4) +***** error opprofit (1, 2, 3, 4, 0) +***** error opprofit (1, 2, 3, 0, 5) +11 tests, 11 passed, 0 known failure, 0 skipped +[inst/year.m] +>>>>> /build/octave-financial-0.5.3/inst/year.m +***** assert (year (523383), 1432); +***** assert (year ("12-02-34", "mm-dd-yy"), 2034); +***** assert (year ([728647 728848]), [1994 1995]); +***** assert (year ([728647; 728848]), [1994; 1995]); +***** assert (year ({"12-02-34", "12-02-85"}, "mm-dd-yy"), [2034 1985]); +***** assert (year ({"12-02-34"; "12-02-85"}, "mm-dd-yy"), [2034; 1985]); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/daysact.m] +>>>>> /build/octave-financial-0.5.3/inst/daysact.m +***** assert (daysact ("01-Jan-2007", ["10-Jan-2007"; "23-Feb-2007"; "23-Jul-2007"]), [9;53;203]) +***** assert (daysact ("7-sep-2002", "25-dec-2002"), 109) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/blsprice.m] +>>>>> /build/octave-financial-0.5.3/inst/blsprice.m +***** test + [Call, Put] = blsprice (90:10:110, 100, 0.04, 1, 0.2, 0.01); + assert (Call, [4.4037 9.3197 16.1217], 1e-4) + assert (Put, [11.3781 6.3937 3.2952], 1e-4) +***** error blsprice () +***** error blsprice (1) +***** error blsprice (1, 2) +***** error blsprice (1, 2, 3) +***** error blsprice (1, 2, 3, 4) +***** error blsprice ("invalid", "type", "argument", 4, 5) +***** error blsprice ({1, 2, 3}, [2 7 8], [8 3 1], 4, 10) +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/blstheta.m] +>>>>> /build/octave-financial-0.5.3/inst/blstheta.m +***** test + [CallTheta, PutTheta] = blstheta (90:10:110, 100, 0.04, 1, 0.2, 0.01); + assert (CallTheta, [-4.2901 -5.2337 -5.1954], 1e-4) + assert (PutTheta, [-1.3380 -2.3806 -2.4413], 1e-4) +***** error blstheta () +***** error blstheta (1) +***** error blstheta (1, 2) +***** error blstheta (1, 2, 3) +***** error blstheta (1, 2, 3, 4) +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/busdays.m] +>>>>> /build/octave-financial-0.5.3/inst/busdays.m +***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 12)), datenum (2008, 1, [2;3;4;7;8;9;10;11])) +***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 12), "d"), datenum (2008, 1, [2;3;4;7;8;9;10;11])) +***** assert (busdays (datenum (2001, 1, 2), datenum (2001, 1, 9), "w"), datenum (2001, 1, [5;12])) +***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "m"), datenum (2008, 1, 31)) +***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "m"), lbusdate ([2008*ones(12,1);2009*ones(12,1);2010*ones(5,1)], [1:12 1:12 1:5]')) +***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "q"), datenum (2008, 3, 31)) +***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "q"), lbusdate ([2008*ones(4,1);2009*ones(4,1);2010*ones(2,1)], [3:3:12 3:3:12 3 6]')) +***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "s"), datenum (2008, 6, 30)) +***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "s"), lbusdate ([2008;2008;2009;2009;2010], [6 12 6 12 6]')) +***** assert (busdays (datenum (2008, 1, 1), datenum (2011, 1, 2), "a"), datenum ([2008;2009;2010;2011], [12;12;12;12], [31;31;31;30])) +10 tests, 10 passed, 0 known failure, 0 skipped +[inst/blsimpv.m] +>>>>> /build/octave-financial-0.5.3/inst/blsimpv.m +***** assert (blsimpv (100, 100, 0.04, 1, [9.9251 6.0040], 1, 0, 1e-6, [1 0]), [0.2 0.2], 1e-4) +***** error blsimpv () +***** error blsimpv (1) +***** error blsimpv (1, 2) +***** error blsimpv (1, 2, 3) +***** error blsimpv (1, 2, 3, 4) +***** error blsimpv (1, 2, 3, 4, 5, 6, 7, 8, 2) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/day.m] +>>>>> /build/octave-financial-0.5.3/inst/day.m +***** assert (day (523383), 21); +***** assert (day ("12-02-34", "mm-dd-yy"), 2); 2 tests, 2 passed, 0 known failure, 0 skipped [inst/cfconv.m] >>>>> /build/octave-financial-0.5.3/inst/cfconv.m @@ -2625,18 +2978,18 @@ errVal = round(errVal*(1e+10)); assert(errVal, 0) 1 test, 1 passed, 0 known failure, 0 skipped -[inst/blkprice.m] ->>>>> /build/octave-financial-0.5.3/inst/blkprice.m -***** test - [Call, Put] = blkprice (90:10:110, 100, 0.04, 1, 0.2); - assert (Call, [3.4484 7.6532 13.7316], 1e-4) - assert (Put, [13.0563 7.6532 4.1237], 1e-4) -***** error blkprice () -***** error blkprice (1) -***** error blkprice (1, 2) -***** error blkprice (1, 2, 3) -***** error blkprice (1, 2, 3, 4) -6 tests, 6 passed, 0 known failure, 0 skipped +[inst/negvolidx.m] +>>>>> /build/octave-financial-0.5.3/inst/negvolidx.m +***** shared c, v, nvia, nvib + c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; + v = [10 12 23 25 34 12 32 15 15 34 54 12 86 45 32 76 89 13 28]; + nvia = [100 100 100 100 100 99.44349315 99.44349315 98.49559157 98.49559157 98.49559157 98.49559157 98.78565011 98.78565011 100.7353669 98.13574451 98.13574451 98.13574451 99.14355704 99.14355704]'; + nvib = [5 5 5 5 5 4.972174658 4.972174658 4.924779578 4.924779578 4.924779578 4.924779578 4.939282505 4.939282505 5.036768344 4.906787226 4.906787226 4.906787226 4.957177852 4.957177852]'; +***** assert(negvolidx(c, v), nvia, 1e-5) +***** assert(negvolidx([c' v']), nvia, 1e-5) +***** assert(negvolidx(c, v, 5), nvib, 1e-5) +***** assert(negvolidx([c' v'], 5), nvib, 1e-5) +4 tests, 4 passed, 0 known failure, 0 skipped [inst/cfdur.m] >>>>> /build/octave-financial-0.5.3/inst/cfdur.m ***** demo @@ -2653,6 +3006,37 @@ assert( errVal1, 0 ) assert( errVal2, 0 ) 1 test, 1 passed, 0 known failure, 0 skipped +[inst/second.m] +>>>>> /build/octave-financial-0.5.3/inst/second.m +***** assert (second (451482.906781456), 45.918, 0.01) +***** assert (second ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 34) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/blkprice.m] +>>>>> /build/octave-financial-0.5.3/inst/blkprice.m +***** test + [Call, Put] = blkprice (90:10:110, 100, 0.04, 1, 0.2); + assert (Call, [3.4484 7.6532 13.7316], 1e-4) + assert (Put, [13.0563 7.6532 4.1237], 1e-4) +***** error blkprice () +***** error blkprice (1) +***** error blkprice (1, 2) +***** error blkprice (1, 2, 3) +***** error blkprice (1, 2, 3, 4) +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/cov2corr.m] +>>>>> /build/octave-financial-0.5.3/inst/cov2corr.m +***** demo + cov = [ 0.25 -0.5; -0.5 4.0 ]; + [ sigma, corr ] = cov2corr( cov ); + %-------------------------------------------------- + % Input covariance matrix, output standard deviations and correlation + % matrix +***** test + cov = [ 0.25 -0.5; -0.5 4.0 ]; + [sigma, corr] = cov2corr( cov ); + assert( sigma, [0.5 2.0] ) + assert( corr, [1.0 -0.5; -0.5 1.0] ); +1 test, 1 passed, 0 known failure, 0 skipped [inst/yeardays.m] >>>>> /build/octave-financial-0.5.3/inst/yeardays.m ***** assert(yeardays(2000), 366) @@ -2671,48 +3055,42 @@ ***** assert(yeardays(2000, 10), 365) ***** assert(yeardays(2000, 11), 360) 15 tests, 15 passed, 0 known failure, 0 skipped -[inst/negvolidx.m] ->>>>> /build/octave-financial-0.5.3/inst/negvolidx.m -***** shared c, v, nvia, nvib +[inst/m2xdate.m] +>>>>> /build/octave-financial-0.5.3/inst/m2xdate.m +***** assert(m2xdate(datenum(2008, 1, 1)), 39448) +***** assert(m2xdate(datenum(2007:2008, 1, 1)), [39083 39448]) +***** assert(m2xdate(datenum(1900, 1, 1)), 2) +***** assert(m2xdate(datenum(1900, 1, 1), 0, "ExcelBug"), 1) +***** assert(m2xdate(datenum(1904, 1, 1), 1), 0) +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/posvolidx.m] +>>>>> /build/octave-financial-0.5.3/inst/posvolidx.m +***** shared c, v, pvia, pvib c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; v = [10 12 23 25 34 12 32 15 15 34 54 12 86 45 32 76 89 13 28]; - nvia = [100 100 100 100 100 99.44349315 99.44349315 98.49559157 98.49559157 98.49559157 98.49559157 98.78565011 98.78565011 100.7353669 98.13574451 98.13574451 98.13574451 99.14355704 99.14355704]'; - nvib = [5 5 5 5 5 4.972174658 4.972174658 4.924779578 4.924779578 4.924779578 4.924779578 4.939282505 4.939282505 5.036768344 4.906787226 4.906787226 4.906787226 4.957177852 4.957177852]'; -***** assert(negvolidx(c, v), nvia, 1e-5) -***** assert(negvolidx([c' v']), nvia, 1e-5) -***** assert(negvolidx(c, v, 5), nvib, 1e-5) -***** assert(negvolidx([c' v'], 5), nvib, 1e-5) + pvia = [100 100.7575758 101.0249554 101.9607843 104.0998217 104.0998217 103.4276318 103.4276318 103.4276318 105.7488389 106.1059477 106.1059477 108.242309 108.242309 108.242309 107.9734953 104.7029289 104.7029289 102.9290546]'; + pvib = [5 5.037878788 5.051247772 5.098039216 5.204991087 5.204991087 5.171381588 5.171381588 5.171381588 5.287441943 5.305297383 5.305297383 5.412115451 5.412115451 5.412115451 5.398674767 5.235146444 5.235146444 5.14645273]'; +***** assert(posvolidx(c, v), pvia, 1e-5) +***** assert(posvolidx([c' v']), pvia, 1e-5) +***** assert(posvolidx(c, v, 5), pvib, 1e-5) +***** assert(posvolidx([c' v'], 5), pvib, 1e-5) 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/effrr.m] ->>>>> /build/octave-financial-0.5.3/inst/effrr.m -***** assert (effrr (0.09, 12), 0.0938, 0.00005) -1 test, 1 passed, 0 known failure, 0 skipped -[inst/movavg.m] ->>>>> /build/octave-financial-0.5.3/inst/movavg.m -***** shared a - a = [1 2 3 2 4 2 1]; -***** test - [s l] = movavg(a, 2, 4); - assert(s, [1 1.5 2.5 2.5 3 3 1.5]) - assert(l, [1 1.5 2 2 2.75 2.75 2.25]) -***** test - [s l] = movavg(a', 2, 4); - assert(s, [1;1.5;2.5;2.5;3;3;1.5]) - assert(l, [1;1.5;2;2;2.75;2.75;2.25]) +[inst/blslambda.m] +>>>>> /build/octave-financial-0.5.3/inst/blslambda.m ***** test - [s l] = movavg(a, 3, 4, 1); - assert(s, [3 4.8 7 7 9.5 8 5.5]./3, 10*eps) - assert(l, [1 11/7 20/9 2.2 3 2.7 2], 10*eps) -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/blsvega.m] ->>>>> /build/octave-financial-0.5.3/inst/blsvega.m + [CallEl, PutEl] = blslambda (90:10:110, 100, 0.04, 1, 0.2); + assert (CallEl, [7.7536 6.2258 5.0647], 1e-4) + assert (PutEl, [-4.8955 -6.3639 -7.8941], 1e-4) ***** test -***** error blsvega () -***** error blsvega (1) -***** error blsvega (1, 2) -***** error blsvega (1, 2, 3) -***** error blsvega (1, 2, 3, 4) -6 tests, 6 passed, 0 known failure, 0 skipped + [CallEl, PutEl] = blslambda (90:10:110, 100, 0.04, 1, 0.2, 0.01); + assert (CallEl, [7.9108 6.3601 5.1762], 1e-4) + assert (PutEl, [-4.7695 -6.2139 -7.7255], 1e-4) +***** error blslambda () +***** error blslambda (1) +***** error blslambda (1, 2) +***** error blslambda (1, 2, 3) +***** error blslambda (1, 2, 3, 4) +7 tests, 7 passed, 0 known failure, 0 skipped [inst/gbm.m] >>>>> /build/octave-financial-0.5.3/inst/gbm.m ***** test @@ -2725,143 +3103,11 @@ [Call, ~] = blsprice (AssetPrice, Strike, RiskFreeRate, ExpiryTime, Volatility, Dividends); assert (CallApproximate, Call, 1e-1); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/pointfig.m] ->>>>> /build/octave-financial-0.5.3/inst/pointfig.m -***** shared a - a = [1 2 3 2 4 2 1]; -***** test - [s l] = movavg(a, 2, 4); - assert(s, [1 1.5 2.5 2.5 3 3 1.5]) - assert(l, [1 1.5 2 2 2.75 2.75 2.25]) -***** test - [s l] = movavg(a', 2, 4); - assert(s, [1;1.5;2.5;2.5;3;3;1.5]) - assert(l, [1;1.5;2;2;2.75;2.75;2.25]) -***** test - [s l] = movavg(a, 3, 4, 1); - assert(s, [3 4.8 7 7 9.5 8 5.5]./3, 10*eps) - assert(l, [1 11/7 20/9 2.2 3 2.7 2], 10*eps) -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/blstheta.m] ->>>>> /build/octave-financial-0.5.3/inst/blstheta.m -***** test - [CallTheta, PutTheta] = blstheta (90:10:110, 100, 0.04, 1, 0.2, 0.01); - assert (CallTheta, [-4.2901 -5.2337 -5.1954], 1e-4) - assert (PutTheta, [-1.3380 -2.3806 -2.4413], 1e-4) -***** error blstheta () -***** error blstheta (1) -***** error blstheta (1, 2) -***** error blstheta (1, 2, 3) -***** error blstheta (1, 2, 3, 4) -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/corr2cov.m] ->>>>> /build/octave-financial-0.5.3/inst/corr2cov.m -***** demo - sigma = [ 0.5 2.0 ]; - corr = [ 1.0 -0.5; -0.5 1.0 ]; - cov = corr2cov( sigma, corr ); - %-------------------------------------------------- - % Input standard deviations and correlation matrix, output covariance - % matrix -***** test - sigma = [0.5 2.0]; - corr = [1.0 -0.5; -0.5 1.0]; - cov = corr2cov( sigma, corr ); - assert( cov, [ 0.25 -0.5; -0.5 4.0 ] ) -1 test, 1 passed, 0 known failure, 0 skipped -[inst/cir.m] ->>>>> /build/octave-financial-0.5.3/inst/cir.m -***** test - InitialInterestRate = 0.03; Speed = 1.; MeanInterestRate = 0.04; Volatility = 0.3; ExpiryTime = 1.; - Simulations = 1e4; Timesteps = 100; - SDE = cir (Speed, MeanInterestRate, Volatility, "StartState", InitialInterestRate); - [Paths, ~, ~] = simByEuler (SDE, Timesteps, "DeltaTime", ExpiryTime / Timesteps, "NTRIALS", Simulations, "NSTEPS", 1, "Antithetic", true, "Processes", @(t, X) max(X, 0)); - BondApproximate = mean (exp (-(sum (Paths) - InitialInterestRate) * ExpiryTime / Timesteps)); - h = sqrt (Speed * Speed + 2 * Volatility * Volatility); - d = (2 * h + (Speed + h) * (exp (ExpiryTime * h) - 1)); - A = ( (2 * h * exp ((Speed + h) * ExpiryTime / 2)) / d )^((2 * Speed * MeanInterestRate) / (Volatility * Volatility)); - B = 2 * (exp (ExpiryTime * h) - 1) / d; - Bond = A * exp (-B * InitialInterestRate); - assert (BondApproximate, Bond, 1e-3); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/cov2corr.m] ->>>>> /build/octave-financial-0.5.3/inst/cov2corr.m -***** demo - cov = [ 0.25 -0.5; -0.5 4.0 ]; - [ sigma, corr ] = cov2corr( cov ); - %-------------------------------------------------- - % Input covariance matrix, output standard deviations and correlation - % matrix -***** test - cov = [ 0.25 -0.5; -0.5 4.0 ]; - [sigma, corr] = cov2corr( cov ); - assert( sigma, [0.5 2.0] ) - assert( corr, [1.0 -0.5; -0.5 1.0] ); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/months.m] ->>>>> /build/octave-financial-0.5.3/inst/months.m -***** assert(months('may 31 2004', 'jun 30 2004'), 1) -***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004'), [1;1]) -***** assert(months('may 31 2004', 'jun 30 2004', 1), 1) -***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004', 1), [1;1]) -***** assert(months('may 31 2004', 'jun 30 2004', 0), 0) -***** assert(months({'may 31 2004' 'may 30 2004'}, 'jun 30 2004', 0), [0;1]) -***** assert(months('jun 30 2005', 'june 30 2006'), 12) -***** assert(months('jun 30 2005', 'june 29 2006'), 11) -8 tests, 8 passed, 0 known failure, 0 skipped [inst/datefind.m] >>>>> /build/octave-financial-0.5.3/inst/datefind.m ***** assert (datefind (datenum (1999, 7, [10;20]), datenum (1999, 7, 1:31)), [10;20]) ***** assert (datefind (datenum (1999, 7, [10;20]), datenum (1999, 7, 1:31), 1), [9;10;11;19;20;21]) 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/easter.m] ->>>>> /build/octave-financial-0.5.3/inst/easter.m -***** assert(easter(1990), datenum(1990, 4, 15)) -***** assert(easter(1991), datenum(1991, 3, 31)) -***** assert(easter(1992), datenum(1992, 4, 19)) -***** assert(easter(1993), datenum(1993, 4, 11)) -***** assert(easter(1994), datenum(1994, 4, 3)) -***** assert(easter(1995), datenum(1995, 4, 16)) -***** assert(easter(1996), datenum(1996, 4, 7)) -***** assert(easter(1997), datenum(1997, 3, 30)) -***** assert(easter(1998), datenum(1998, 4, 12)) -***** assert(easter(1999), datenum(1999, 4, 4)) -***** assert(easter([2000 2001]), [datenum(2000, 4, 23) datenum(2001, 4, 15)]) -***** assert(easter([2002;2003]), [datenum(2002, 3, 31);datenum(2003, 4, 20)]) -***** assert(easter([2004 2005;2006 2007;2008 2009]), [datenum(2004, 4, 11) datenum(2005, 3, 27);datenum(2006, 4, 16) datenum(2007, 4, 8);datenum(2008, 3, 23) datenum(2009, 4, 12)]) -***** assert(easter([2002;2003]), [datenum(2002, 3, 31);datenum(2003, 4, 20)]) -14 tests, 14 passed, 0 known failure, 0 skipped -[inst/lbusdate.m] ->>>>> /build/octave-financial-0.5.3/inst/lbusdate.m -***** assert(lbusdate(2008,4), datenum(2008,4,30)) -***** assert(lbusdate(2008,5), datenum(2008,5,30)) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/blsprice.m] ->>>>> /build/octave-financial-0.5.3/inst/blsprice.m -***** test - [Call, Put] = blsprice (90:10:110, 100, 0.04, 1, 0.2, 0.01); - assert (Call, [4.4037 9.3197 16.1217], 1e-4) - assert (Put, [11.3781 6.3937 3.2952], 1e-4) -***** error blsprice () -***** error blsprice (1) -***** error blsprice (1, 2) -***** error blsprice (1, 2, 3) -***** error blsprice (1, 2, 3, 4) -***** error blsprice ("invalid", "type", "argument", 4, 5) -***** error blsprice ({1, 2, 3}, [2 7 8], [8 3 1], 4, 10) -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/rsindex.m] ->>>>> /build/octave-financial-0.5.3/inst/rsindex.m -***** shared c, r - c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21]; - r = [nan(1, 13) 85.1190 70.235 68.6684 55.6322 53.0414 49.7717]; -***** assert(rsindex(c), r, 0.0001) -***** assert(rsindex(c'), r', 0.0001) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/mirr.m] ->>>>> /build/octave-financial-0.5.3/inst/mirr.m -***** assert (mirr ([-100000 20000 -10000 30000 38000 50000], 0.09, 0.12), 0.0832, 0.00005) -1 test, 1 passed, 0 known failure, 0 skipped [inst/macd.m] >>>>> /build/octave-financial-0.5.3/inst/macd.m ***** shared d, m, n, a, b @@ -2875,41 +3121,11 @@ [a, b] = macd (d', 2); ***** assert([a, b], [m, n], 0.0001) 3 tests, 3 passed, 0 known failure, 0 skipped -[inst/thirdwednesday.m] ->>>>> /build/octave-financial-0.5.3/inst/thirdwednesday.m -***** shared m, y, bt, et - m = (1:12)'; - y = 2008; - bt = datenum(2008, m, [16;20;19;16;21;18;16;20;17;15;19;17]); - et = datenum([2008*ones(9,1);2009*ones(3,1)], [4:12 1:3]', [16;20;19;16;21;18;16;20;17;15;19;17]); -***** test - [b e] = thirdwednesday (m, y); - assert(b, bt) - assert(e, et) -***** test - [b e] = thirdwednesday (m', y); - assert(b, bt') - assert(e, et') +[inst/@sde/simulate.m] +>>>>> /build/octave-financial-0.5.3/inst/@sde/simulate.m +***** error simulate () +***** error simulate (1) 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/fbusdate.m] ->>>>> /build/octave-financial-0.5.3/inst/fbusdate.m -***** assert(fbusdate(2008,2), datenum(2008,2,1)) -***** assert(fbusdate(2008,1), datenum(2008,1,2)) -***** assert(fbusdate(2008,3), datenum(2008,3,3)) -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/busdays.m] ->>>>> /build/octave-financial-0.5.3/inst/busdays.m -***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 12)), datenum (2008, 1, [2;3;4;7;8;9;10;11])) -***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 12), "d"), datenum (2008, 1, [2;3;4;7;8;9;10;11])) -***** assert (busdays (datenum (2001, 1, 2), datenum (2001, 1, 9), "w"), datenum (2001, 1, [5;12])) -***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "m"), datenum (2008, 1, 31)) -***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "m"), lbusdate ([2008*ones(12,1);2009*ones(12,1);2010*ones(5,1)], [1:12 1:12 1:5]')) -***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "q"), datenum (2008, 3, 31)) -***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "q"), lbusdate ([2008*ones(4,1);2009*ones(4,1);2010*ones(2,1)], [3:3:12 3:3:12 3 6]')) -***** assert (busdays (datenum (2008, 1, 1), datenum (2008, 1, 2), "s"), datenum (2008, 6, 30)) -***** assert (busdays (datenum (2008, 1, 1), datenum (2010, 5, 2), "s"), lbusdate ([2008;2008;2009;2009;2010], [6 12 6 12 6]')) -***** assert (busdays (datenum (2008, 1, 1), datenum (2011, 1, 2), "a"), datenum ([2008;2009;2010;2011], [12;12;12;12], [31;31;31;30])) -10 tests, 10 passed, 0 known failure, 0 skipped [inst/@sde/simByEuler.m] >>>>> /build/octave-financial-0.5.3/inst/@sde/simByEuler.m ***** test @@ -2943,11 +3159,6 @@ ***** error simByEuler(1) ***** error simByEuler("invalid type", 1) 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@sde/simulate.m] ->>>>> /build/octave-financial-0.5.3/inst/@sde/simulate.m -***** error simulate () -***** error simulate (1) -2 tests, 2 passed, 0 known failure, 0 skipped [inst/@sde/sde.m] >>>>> /build/octave-financial-0.5.3/inst/@sde/sde.m ***** error sde () @@ -2955,197 +3166,38 @@ ***** error sde (1, 2) ***** error sde (1, 2, "OptionName") 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/hour.m] ->>>>> /build/octave-financial-0.5.3/inst/hour.m -***** assert (hour (451482.906781456), 21) -***** assert (hour ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 11) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/blslambda.m] ->>>>> /build/octave-financial-0.5.3/inst/blslambda.m -***** test - [CallEl, PutEl] = blslambda (90:10:110, 100, 0.04, 1, 0.2); - assert (CallEl, [7.7536 6.2258 5.0647], 1e-4) - assert (PutEl, [-4.8955 -6.3639 -7.8941], 1e-4) -***** test - [CallEl, PutEl] = blslambda (90:10:110, 100, 0.04, 1, 0.2, 0.01); - assert (CallEl, [7.9108 6.3601 5.1762], 1e-4) - assert (PutEl, [-4.7695 -6.2139 -7.7255], 1e-4) -***** error blslambda () -***** error blslambda (1) -***** error blslambda (1, 2) -***** error blslambda (1, 2, 3) -***** error blslambda (1, 2, 3, 4) -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/x2mdate.m] ->>>>> /build/octave-financial-0.5.3/inst/x2mdate.m -***** assert(x2mdate(39448), datenum(2008, 1, 1)) -***** assert(x2mdate([39083 39448]), datenum(2007:2008, 1, 1)) -***** assert(x2mdate(2), datenum(1900, 1, 1)) -***** assert(x2mdate(1, 0, "ExcelBug"), datenum(1900, 1, 1)) -***** assert(x2mdate(0, 1), datenum(1904, 1, 1)) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/isbusday.m] ->>>>> /build/octave-financial-0.5.3/inst/isbusday.m -***** assert(isbusday(datenum(2008,1,2)), true()) -***** assert(isbusday(datenum(2008,1,1)), false()) -***** assert(isbusday(datenum(2008,1,1), []), false()) -***** assert(isbusday(datenum(2008,2,2)), false()) -***** assert(isbusday(datenum(2008,1,2), datenum(2008,1,2)), false()) -***** assert(isbusday(datenum(2008,1,2), [], zeros(1,7)), true()) -***** assert(isbusday(datenum(2008,1,2), [], ones(1,7)), false()) -***** assert(isbusday([datenum(2008,1,2) datenum(2008,2,2)]), [true() false()]) -***** assert(isbusday([datenum(2008,1,2);datenum(2008,2,2)]), [true();false()]) -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/blsimpv.m] ->>>>> /build/octave-financial-0.5.3/inst/blsimpv.m -***** assert (blsimpv (100, 100, 0.04, 1, [9.9251 6.0040], 1, 0, 1e-6, [1 0]), [0.2 0.2], 1e-4) -***** error blsimpv () -***** error blsimpv (1) -***** error blsimpv (1, 2) -***** error blsimpv (1, 2, 3) -***** error blsimpv (1, 2, 3, 4) -***** error blsimpv (1, 2, 3, 4, 5, 6, 7, 8, 2) -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/daysact.m] ->>>>> /build/octave-financial-0.5.3/inst/daysact.m -***** assert (daysact ("01-Jan-2007", ["10-Jan-2007"; "23-Feb-2007"; "23-Jul-2007"]), [9;53;203]) -***** assert (daysact ("7-sep-2002", "25-dec-2002"), 109) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/opprofit.m] ->>>>> /build/octave-financial-0.5.3/inst/opprofit.m -***** assert (opprofit (100, 90, 4, 0, 0), 6) -***** assert (opprofit (80:20:120, 90, 4, 0, 0), [-4 6 26]) -***** assert (opprofit (80:20:120, 80:20:120, 0, 0, 0), [0 0 0]) -***** assert (opprofit (100, 90, 4, [0 0 1 1], [0 1 0 1]), [6 -4 -6 4]) -***** error opprofit () -***** error opprofit (1) -***** error opprofit (1, 2) -***** error opprofit (1, 2, 3) -***** error opprofit (1, 2, 3, 4) -***** error opprofit (1, 2, 3, 4, 0) -***** error opprofit (1, 2, 3, 0, 5) -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/minute.m] ->>>>> /build/octave-financial-0.5.3/inst/minute.m -***** assert (minute (451482.906781456), 45) -***** assert (minute ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 56) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/m2xdate.m] ->>>>> /build/octave-financial-0.5.3/inst/m2xdate.m -***** assert(m2xdate(datenum(2008, 1, 1)), 39448) -***** assert(m2xdate(datenum(2007:2008, 1, 1)), [39083 39448]) -***** assert(m2xdate(datenum(1900, 1, 1)), 2) -***** assert(m2xdate(datenum(1900, 1, 1), 0, "ExcelBug"), 1) -***** assert(m2xdate(datenum(1904, 1, 1), 1), 0) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/llow.m] ->>>>> /build/octave-financial-0.5.3/inst/llow.m -***** shared c, l - c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21 25]; - l = [22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.44 22.61 22.67 22.86 22.86 22.86 22.86]; -***** assert(llow(c), l) -***** assert(llow(c'), l') -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/eomdate.m] ->>>>> /build/octave-financial-0.5.3/inst/eomdate.m -***** assert(eomdate(2008, 2), datenum(2008, 2, 29)) -***** assert(eomdate(2007, 2), datenum(2007, 2, 28)) -***** assert(eomdate([2008 2007], [3 4]), [datenum(2008, 3, 31) datenum(2007, 4, 30)]) -***** assert(eomdate([2008;2007], [3;4]), [datenum(2008, 3, 31);datenum(2007, 4, 30)]) -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/nweekdate.m] ->>>>> /build/octave-financial-0.5.3/inst/nweekdate.m -***** assert(nweekdate(1, 4, 2008, 1), datenum(2008, 1, 2)) -***** assert(nweekdate(2, 4, 2008, 1), datenum(2008, 1, 9)) -***** assert(nweekdate(3, 4, 2008, 1), datenum(2008, 1, 16)) -***** assert(nweekdate(4, 4, 2008, 1), datenum(2008, 1, 23)) -***** assert(nweekdate(5, 4, 2008, 1), datenum(2008, 1, 30)) -***** assert(nweekdate(6, 4, 2008, 1), 0) -***** assert(nweekdate(5, 6, 2008, 1), 0) -***** assert(nweekdate(1, 4, 2008, 1, 2), datenum(2008, 1, 9)) -***** assert(nweekdate(5, 4, 2008, 1, 6), 0) -***** assert(nweekdate(1:6, 4, 2008, 1, 6), [datenum(2008, 1, 2:7:23), 0, 0]) -***** assert(nweekdate('lweekdate', 4, 2008, 1), datenum(2008, 1, 30)) -***** assert(nweekdate('lweekdate', 4, 2008, 1, 6), datenum(2008, 1, 23)) -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/bolling.m] ->>>>> /build/octave-financial-0.5.3/inst/bolling.m -***** error bolling () -***** error bolling (1) -***** error bolling (1, 2) -***** error bolling ("invalid", "type") -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/blsgamma.m] ->>>>> /build/octave-financial-0.5.3/inst/blsgamma.m -***** error blsgamma () -***** error blsgamma (1) -***** error blsgamma (1, 2) -***** error blsgamma (1, 2, 3) -***** error blsgamma (1, 2, 3, 4) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/binprice.m] ->>>>> /build/octave-financial-0.5.3/inst/binprice.m +[inst/weeknum.m] +>>>>> /build/octave-financial-0.5.3/inst/weeknum.m +***** assert (weeknum (728647), 52) +***** assert (weeknum ([728647 728848]), [52 27]) +***** assert (weeknum ([728647 ;728648]), [52 ;52]) +***** assert (weeknum ([736413 736813 ; 737213 737613]), [13 17 ; 22 28]) +***** assert (weeknum (datenum (2005, 01, 01), 2, 1), 53) +***** assert (weeknum (datenum (2005, 01, 02), 2, 1), 53) +***** assert (weeknum (datenum (2005, 12, 31), 2, 1), 52) +***** assert (weeknum (datenum (2007, 01, 01), 2, 1), 1) +***** assert (weeknum (datenum (2007, 12, 30), 2, 1), 52) +***** assert (weeknum (datenum (2007, 12, 31), 2, 1), 1) +***** assert (weeknum (datenum (2008, 01, 01), 2, 1), 1) +***** assert (weeknum (datenum (2008, 12, 28), 2, 1), 52) +***** assert (weeknum (datenum (2008, 12, 29), 2, 1), 1) +***** assert (weeknum (datenum (2008, 12, 30), 2, 1), 1) +***** assert (weeknum (datenum (2008, 12, 31), 2, 1), 1) +***** assert (weeknum (datenum (2009, 01, 01), 2, 1), 1) +***** assert (weeknum (datenum (2009, 12, 31), 2, 1), 53) +***** assert (weeknum (datenum (2010, 01, 01), 2, 1), 53) +***** assert (weeknum (datenum (2010, 01, 02), 2, 1), 53) +***** assert (weeknum (datenum (2010, 01, 03), 2, 1), 53) +***** assert (weeknum ([datenum(2005, 1, 1) datenum(2008, 12, 29)], 2, 1), [53 1]) ***** test - [AssetPrice, OptionValue] = binprice (100, 100, 0.04, 1, 0.25, 0.2, 0, 0.01); - assert (OptionValue(1:2,1:2), [6.4701 2.2159; 0 11.0776], 1e-4) -***** error binprice () -***** error binprice (1) -***** error binprice (1, 2) -***** error binprice (1, 2, 3) -***** error binprice (1, 2, 3, 4) -***** error binprice (1, 2, 3, 4, 5) -***** error binprice (1, 2, 3, 4, 5, 6) -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/year.m] ->>>>> /build/octave-financial-0.5.3/inst/year.m -***** assert (year (523383), 1432); -***** assert (year ("12-02-34", "mm-dd-yy"), 2034); -***** assert (year ([728647 728848]), [1994 1995]); -***** assert (year ([728647; 728848]), [1994; 1995]); -***** assert (year ({"12-02-34", "12-02-85"}, "mm-dd-yy"), [2034 1985]); -***** assert (year ({"12-02-34"; "12-02-85"}, "mm-dd-yy"), [2034; 1985]); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/blkimpv.m] ->>>>> /build/octave-financial-0.5.3/inst/blkimpv.m -***** assert (blkimpv (90, 100, 0.04, 1, [3.4484 13.0563], 1, 1e-6, [1 0]), [0.2 0.2], 1e-4) -***** error blkimpv () -***** error blkimpv (1) -***** error blkimpv (1, 2) -***** error blkimpv (1, 2, 3) -***** error blkimpv (1, 2, 3, 4) -***** error blkimpv (1, 2, 3, 4, 5, 6, 7, 8, 2) -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/second.m] ->>>>> /build/octave-financial-0.5.3/inst/second.m -***** assert (second (451482.906781456), 45.918, 0.01) -***** assert (second ("1967-09-21 11:56:34", "yyyy-mm-dd HH:MM:SS"), 34) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/holidays.m] ->>>>> /build/octave-financial-0.5.3/inst/holidays.m -***** assert(holidays("jan 1 1999", "jan 1 1998"), zeros(0,1)); # return empty when startdate is after enddate -***** assert(holidays("mar 5 2008", "mar 8 2008"), zeros(0,1)); -***** assert(holidays(datenum(2008,3,5), datenum(2008,3,5)), zeros(0,1)); -***** assert(holidays(datenum(2008,1,1), datenum(2008,1,1)), datenum(2008,1,1)); -***** assert (holidays ("jan 1 2010", "mar 1 2010"), [734139; 734156; 734184]); -***** assert (holidays (datenum (2010, 1, 1), datenum (2010, 3, 1)), [734139; 734156; 734184]); -***** assert (holidays ("dec 29 2004", "jan 2 2005"), zeros (0, 1)); -***** assert (holidays ("dec 29 2005", "jan 2 2006"), datenum (2006 ,1 ,2)); -***** assert(holidays(datenum(2004,1,1), datenum(2004,12,31)), datenum(2004*ones(10,1), [1;1;2;4;5;6;7;9;11;12], [1;19;16;9;31;11;5;6;25;24])); -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/hhigh.m] ->>>>> /build/octave-financial-0.5.3/inst/hhigh.m -***** shared c, h - c = [22.44 22.61 22.67 22.88 23.36 23.23 23.08 22.86 23.17 23.69 23.77 23.84 24.32 24.8 24.16 24.1 23.37 23.61 23.21 25]; - h = [22.44 22.61 22.67 22.88 23.36 23.36 23.36 23.36 23.36 23.69 23.77 23.84 24.32 24.8 24.8 24.8 24.8 24.8 24.8 25]; -***** assert(hhigh(c), h) -***** assert(hhigh(c'), h') -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/taxedrr.m] ->>>>> /build/octave-financial-0.5.3/inst/taxedrr.m -***** assert (taxedrr (0.12, 0.30), 0.084, 10*eps) -***** assert (taxedrr (0.12, 0), 0.12, 10*eps) -***** assert (taxedrr (0.12, 1), 0, 10*eps) -3 tests, 3 passed, 0 known failure, 0 skipped + [n, y] = weeknum (datenum (2010, 1, 3), 2, 1); + assert ([n y],[53 2009]) +***** demo + d = datenum (2014, 12, 29); + [w, y] = weeknum (datenum (2014, 12, 29), 2, 1); + disp(['In ISO8601 ' datestr(d) ' is week ' num2str(w) ' of year ' num2str(y)]) + disp(['Octave default weeknumber for ' datestr(d) ' is ' num2str(weeknum (d))]) +22 tests, 22 passed, 0 known failure, 0 skipped Checking C++ files ... Summary: 292 tests, 292 passed, 0 known failures, 0 skipped dh_installdocs -O--buildsystem=octave @@ -3173,12 +3225,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/673/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/673/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/11241 and its subdirectories -I: Current time: Wed Aug 11 23:25:24 -12 2021 -I: pbuilder-time-stamp: 1628767524 +I: removing directory /srv/workspace/pbuilder/673 and its subdirectories +I: Current time: Fri Aug 13 01:48:19 +14 2021 +I: pbuilder-time-stamp: 1628768899