Diff of the two buildlogs: -- --- b1/build.log 2025-12-02 07:22:42.631748792 +0000 +++ b2/build.log 2025-12-02 07:31:12.660313654 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Jan 4 01:43:31 -12 2027 -I: pbuilder-time-stamp: 1799070211 +I: Current time: Tue Dec 2 21:22:45 +14 2025 +I: pbuilder-time-stamp: 1764660165 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -25,53 +25,85 @@ dpkg-source: info: applying 0002-beancount-scripts-doctor_test.py-Allow-pytest-import.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/600223/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2057833/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-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 Dec 2 07:23 /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/2057833/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2057833/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=42 ' - DISTRIBUTION='forky' - 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]="3" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.3.3(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=40 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='089ef20b328549a0a114132ca3907286' - 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='600223' - PS1='# ' - PS2='> ' + INVOCATION_ID=6f6f09cd85b64bfb82727b6c074675bc + 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=2057833 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.8wbmH4o7/pbuilderrc_J260 --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8wbmH4o7/b1 --logfile b1/build.log beancount_3.2.0-1.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152: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.8wbmH4o7/pbuilderrc_rkQP --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8wbmH4o7/b2 --logfile b2/build.log beancount_3.2.0-1.dsc' + SUDO_GID=111 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/600223/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2057833/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -325,7 +357,7 @@ Get: 164 http://deb.debian.org/debian forky/main amd64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 165 http://deb.debian.org/debian forky/main amd64 python3-pytest all 8.4.2-1 [266 kB] Get: 166 http://deb.debian.org/debian forky/main amd64 python3-regex amd64 0.1.20250918-1 [277 kB] -Fetched 56.7 MB in 6s (9517 kB/s) +Fetched 56.7 MB in 42s (1365 kB/s) Preconfiguring packages ... Selecting previously unselected package m4. (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 ... 19867 files and directories currently installed.) @@ -860,8 +892,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Jan 4 13:44:15 UTC 2027. -Universal Time is now: Mon Jan 4 13:44:15 UTC 2027. +Local time is now: Tue Dec 2 07:27:33 UTC 2025. +Universal Time is now: Tue Dec 2 07:27:33 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20240727.1) ... @@ -1024,7 +1056,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/beancount-3.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../beancount_3.2.0-1_source.changes +I: user script /srv/workspace/pbuilder/2057833/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/2057833/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/beancount-3.2.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../beancount_3.2.0-1_source.changes dpkg-buildpackage: info: source package beancount dpkg-buildpackage: info: source version 3.2.0-1 dpkg-buildpackage: info: source distribution unstable @@ -1049,11 +1085,11 @@ I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:317: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/beancount-3.2.0/.pybuild/cpython3_3.13 --config-setting compile-args=--verbose --config-setting setup-args=--wrap-mode=nodownload --config-setting setup-args=--prefix=/usr --config-setting setup-args=--sysconfdir=/etc --config-setting setup-args=--localstatedir=/var --config-setting setup-args=--libdir=lib/x86_64-linux-gnu * Building wheel... -+ meson setup /build/reproducible-path/beancount-3.2.0 /build/reproducible-path/beancount-3.2.0/.mesonpy-xp0tmkwl -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu --native-file=/build/reproducible-path/beancount-3.2.0/.mesonpy-xp0tmkwl/meson-python-native-file.ini ++ meson setup /build/reproducible-path/beancount-3.2.0 /build/reproducible-path/beancount-3.2.0/.mesonpy-kmxc9pq2 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/x86_64-linux-gnu --native-file=/build/reproducible-path/beancount-3.2.0/.mesonpy-kmxc9pq2/meson-python-native-file.ini The Meson build system Version: 1.9.1 Source dir: /build/reproducible-path/beancount-3.2.0 -Build dir: /build/reproducible-path/beancount-3.2.0/.mesonpy-xp0tmkwl +Build dir: /build/reproducible-path/beancount-3.2.0/.mesonpy-kmxc9pq2 Build type: native build Project name: beancount Project version: 3.2.0 @@ -1071,7 +1107,7 @@ beancount 3.2.0 User defined options - Native files : /build/reproducible-path/beancount-3.2.0/.mesonpy-xp0tmkwl/meson-python-native-file.ini + Native files : /build/reproducible-path/beancount-3.2.0/.mesonpy-kmxc9pq2/meson-python-native-file.ini b_ndebug : if-release b_vscrt : md buildtype : release @@ -1091,7 +1127,7 @@ [6/8] cc -I_parser.cpython-313-x86_64-linux-gnu.so.p -I. -I.. -I/usr/include/python3.13 -I/usr/include/x86_64-linux-gnu/python3.13 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -DPARSER_SOURCE_HASH=b92d5a38f5530cb59866c0c76e59cdbc -DBEANCOUNT_VERSION=3.2.0 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/beancount-3.2.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_lexer.c.o -MF _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_lexer.c.o.d -o _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_lexer.c.o -c _parser.cpython-313-x86_64-linux-gnu.so.p/beancount/parser/lexer.c [7/8] cc -I_parser.cpython-313-x86_64-linux-gnu.so.p -I. -I.. -I/usr/include/python3.13 -I/usr/include/x86_64-linux-gnu/python3.13 -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -DPARSER_SOURCE_HASH=b92d5a38f5530cb59866c0c76e59cdbc -DBEANCOUNT_VERSION=3.2.0 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/beancount-3.2.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MQ _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_grammar.c.o -MF _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_grammar.c.o.d -o _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_grammar.c.o -c _parser.cpython-313-x86_64-linux-gnu.so.p/beancount/parser/grammar.c [8/8] cc -o _parser.cpython-313-x86_64-linux-gnu.so _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_lexer.c.o _parser.cpython-313-x86_64-linux-gnu.so.p/meson-generated_beancount_parser_grammar.c.o _parser.cpython-313-x86_64-linux-gnu.so.p/beancount_parser_decimal.c.o _parser.cpython-313-x86_64-linux-gnu.so.p/beancount_parser_parser.c.o _parser.cpython-313-x86_64-linux-gnu.so.p/beancount_parser_tokens.c.o -Wl,--as-needed -Wl,--allow-shlib-undefined -Wl,-O1 -shared -fPIC -Wl,-z,relro -Wl,-z,now -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/beancount-3.2.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -[1/172] /build/reproducible-path/beancount-3.2.0/.mesonpy-xp0tmkwl/_parser.cpython-313-x86_64-linux-gnu.so +[1/172] /build/reproducible-path/beancount-3.2.0/.mesonpy-kmxc9pq2/_parser.cpython-313-x86_64-linux-gnu.so [2/172] /build/reproducible-path/beancount-3.2.0/beancount/__init__.py [3/172] /build/reproducible-path/beancount-3.2.0/beancount/VERSION [4/172] /build/reproducible-path/beancount-3.2.0/beancount/py.typed @@ -1284,2248 +1320,7 @@ ./$binary > /build/reproducible-path/beancount-3.2.0/debian/manpages/$binary.1 ; \ done make[1]: Leaving directory '/build/reproducible-path/beancount-3.2.0' - dh_auto_test -O--buildsystem=pybuild -I: pybuild pybuild:308: cp -r /build/reproducible-path/beancount-3.2.0/beancount /build/reproducible-path/beancount-3.2.0/.pybuild/cpython3_3.13/build/beancount; -I: pybuild base:317: cd /build/reproducible-path/beancount-3.2.0/.pybuild/cpython3_3.13/build; python3.13 -m pytest -v -k "not test_export_basic" -============================= test session starts ============================== -platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 -cachedir: .pytest_cache -rootdir: /build/reproducible-path/beancount-3.2.0/.pybuild/cpython3_3.13/build -configfile: pyproject.toml -plugins: typeguard-4.4.4 -collecting ... collected 2230 items / 2 deselected / 2228 selected - -beancount/beancount/core/account_test.py::TestAccount::test_account_join PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_account_split PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_commonprefix PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_has_component PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_is_valid PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_leaf PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_parent PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_root PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccount::test_sans_root PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccountCoreOnly::test_parent_matcher PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccountCoreOnly::test_parents PASSED [ 0%] -beancount/beancount/core/account_test.py::TestWalk::test_walk PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccountTransformer::test_noop PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccountTransformer::test_parse PASSED [ 0%] -beancount/beancount/core/account_test.py::TestAccountTransformer::test_render PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_basics PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_get_account_sign PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_get_account_sort_key PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_get_account_type PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_is_account_categories PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_is_account_type PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_is_inverted_account PASSED [ 0%] -beancount/beancount/core/account_types_test.py::TestAccountTypes::test_is_root_account PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_abs PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_add PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_comparisons PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_constructor PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_div PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_fromstring PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_hash PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_mult PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_mutation PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_neg PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_sort__explicit PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_sort__natural PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_sub PASSED [ 1%] -beancount/beancount/core/amount_test.py::TestAmount::test_tostring PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_compare_entries PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_excludes_entries PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_hash_entries PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_hash_entries_same_postings PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_hash_entries_with_duplicates PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_hash_with_exclude_meta PASSED [ 1%] -beancount/beancount/core/compare_test.py::TestCompare::test_includes_entries PASSED [ 1%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__fail PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__noop PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__success PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_amount_with_date PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_both PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_rate_to_rate PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_value_rate PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_success_on_implieds PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_but_same_currency PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_convert_position__success PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_cost__empty PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_cost__missing PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_cost__not_empty PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_old_test PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_units PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_value__currency_from_cost PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_value__no_currency PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_weight__no_cost PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_weight__with_cost PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPositionConversions::test_weight__with_cost_missing PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__fail PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__noop PASSED [ 2%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__success PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_amount_with_date PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__currency_from_price PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_both PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_rate_to_rate PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_value_rate PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_success_on_implieds PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_but_same_currency PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_convert_position__success PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_cost__empty PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_cost__missing PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_cost__not_empty PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_old_test PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_units PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_value__currency_from_cost PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_value__currency_from_price PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_value__no_currency PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_weight__no_cost PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_weight__with_cost PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_weight__with_cost_missing PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_weight_with_cost_and_price PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestPostingConversions::test_weight_with_only_price PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_mixed_currencies PASSED [ 3%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_no_change PASSED [ 4%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_other_currency PASSED [ 4%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_stock_different_ones PASSED [ 4%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_stock_many_lots PASSED [ 4%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_stock_not_found PASSED [ 4%] -beancount/beancount/core/convert_test.py::TestMarketValue::test_stock_single PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_create_simple_posting PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_create_simple_posting_with_cost PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_entry_sortkey PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_filter_txns PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_find_closest PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_get_entry PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_has_entry_account_component PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_iter_entry_dates PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_posting_has_conversion PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_posting_sortkey PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_remove_account_postings PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_sanity_check_types PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_sort PASSED [ 4%] -beancount/beancount/core/data_test.py::TestData::test_transaction_has_conversion PASSED [ 4%] -beancount/beancount/core/data_test.py::TestPickle::test_data_tuples_support_pickle PASSED [ 4%] -beancount/beancount/core/data_test.py::TestAnnotations::test_directive_typed_named_tuples PASSED [ 4%] -beancount/beancount/core/display_context_test.py::TestDisplayContext::test_dump PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContext::test_set_fixed_precision PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_clear_mode PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_commas PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_maximum PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_no_clear_mode PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_reserved PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_uninitialized PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_fractional PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_fractional_commas PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_integer PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_integer_commas PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_sign PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextRight::test_right_uninitialized PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_basic PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_basic_multi PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_fractional PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_fractional_commas PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_integer PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_integer_commas PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_sign PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_uninitialized PASSED [ 5%] -beancount/beancount/core/display_context_test.py::TestDisplayContextQuantize::test_quantize_basic PASSED [ 6%] -beancount/beancount/core/display_context_test.py::TestFixedContext::test_get_fractional PASSED [ 6%] -beancount/beancount/core/display_context_test.py::TestFixedContext::test_init PASSED [ 6%] -beancount/beancount/core/display_context_test.py::TestFixedContext::test_str PASSED [ 6%] -beancount/beancount/core/display_context_test.py::TestFixedContext::test_update PASSED [ 6%] -beancount/beancount/core/display_context_test.py::TestFixedContext::test_update_from PASSED [ 6%] -beancount/beancount/core/distribution_test.py::TestDistribution::test_distribution PASSED [ 6%] -beancount/beancount/core/distribution_test.py::TestDistributionUpdateFrom::test_update_from PASSED [ 6%] -beancount/beancount/core/flags_test.py::TestFlags::test_unique_flags PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_account_components PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_account_open_close PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_account_open_close__duplicates PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_accounts PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_accounts_use_map PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_active_years PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_all_links PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_all_payees PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_all_tags PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_commodity_directives PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_dict_accounts PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_entry_accounts PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_leveln_parent_accounts PASSED [ 6%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_min_max_dates PASSED [ 7%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_values_meta__multi PASSED [ 7%] -beancount/beancount/core/getters_test.py::TestGetters::test_get_values_meta__single PASSED [ 7%] -beancount/beancount/core/getters_test.py::TestGetters::test_methods_coverage PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestBalance::test_compute_residual PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestBalance::test_fill_residual_posting PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestBalance::test_has_nontrivial_balance PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_at_cost PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_conversions PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_currencies PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entry_context PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53_price PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53a PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53b PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__capped_inference PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__cost_and_number_ignored PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__dubious_precision PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_cost PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_cost_and_price PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_price PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__minimum_on_costs PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__missing_units_only PASSED [ 7%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__multiplier PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__no_precision PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_fail_to_succ PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_used PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_used_overrides PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__with_inference PASSED [ 8%] -beancount/beancount/core/interpolate_test.py::TestQuantize::test_quantize_with_tolerance PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventoryNew::test_from_string PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount__allow_negative PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount__booking PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount__multi_currency PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount__withlots PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_amount__zero PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_add_position PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_average PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_copy PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_cost PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_ctor_empty_len PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_currencies PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_currency_pairs PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_from_string PASSED [ 8%] -beancount/beancount/core/inventory_test.py::TestInventory::test_get_currency_units PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_get_only_position PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_is_mixed PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_is_reduced_by PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_is_small__dict PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_is_small__value PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_is_small__with_default PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_abs PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_add PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_eq PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_lt PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_mul PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_op_neg PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_reduce PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_segregate_units PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_split PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_str PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_sum_inventories PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_units PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_units1 PASSED [ 9%] -beancount/beancount/core/inventory_test.py::TestInventory::test_update PASSED [ 9%] -beancount/beancount/core/number_test.py::TestDecimalPrecision::test_formatting PASSED [ 9%] -beancount/beancount/core/number_test.py::TestToDecimal::test_D PASSED [ 10%] -beancount/beancount/core/number_test.py::TestToDecimal::test_ZERO PASSED [ 10%] -beancount/beancount/core/number_test.py::TestToDecimal::test_round_to PASSED [ 10%] -beancount/beancount/core/number_test.py::TestToDecimal::test_same_sign PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_auto_quantize PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_none PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_normal PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_one PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_under PASSED [ 10%] -beancount/beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_under3 PASSED [ 10%] -beancount/beancount/core/position_test.py::TestCost::test_cost_to_str__detail PASSED [ 10%] -beancount/beancount/core/position_test.py::TestCost::test_cost_to_str__simple PASSED [ 10%] -beancount/beancount/core/position_test.py::TestCostSpec::test_cost_to_str__detail PASSED [ 10%] -beancount/beancount/core/position_test.py::TestCostSpec::test_cost_to_str__simple PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_abs PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_compare_zero_to_none PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_constructors PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_copy PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_currency_pair PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_eq_and_sortkey PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_eq_and_sortkey__bycost PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_from_amounts PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__empty PASSED [ 10%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__missing_currency PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__simple PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_compound_cost PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_cost PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_cost_and_date PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_everything PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_label PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_from_string__with_spaces PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_is_negative_at_cost PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_mul PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_neg PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_negative PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_quantities PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_str PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_to_string PASSED [ 11%] -beancount/beancount/core/position_test.py::TestPosition::test_to_string_no_detail PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceEntries::test_get_last_price_entries PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_build_price_map PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_build_price_map_zero_prices PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_get_all_prices PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_get_latest_price PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_get_price PASSED [ 11%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_lookup_price_and_inverse PASSED [ 12%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_normalize_base_quote PASSED [ 12%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_ordering_same_date PASSED [ 12%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_project PASSED [ 12%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_project_collisions PASSED [ 12%] -beancount/beancount/core/prices_test.py::TestPriceMap::test_project_missing PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_clone PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_ctor PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_equality PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_getitem_setitem PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_setitem_constraints PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealAccount::test_str PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealGetters::test_contains PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealGetters::test_get PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealGetters::test_get_or_create PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealGetters::test_iter_children PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealization::test_postings_by_account PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealization::test_realize PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealization::test_realize_empty PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealization::test_realize_min_accoumts PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealization::test_simple_realize PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealFilter::test_filter_almost_all PASSED [ 12%] -beancount/beancount/core/realization_test.py::TestRealFilter::test_filter_misc PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealFilter::test_filter_no_leaves PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealFilter::test_filter_to_empty PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealFilter::test_filter_with_leaves PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_compare_realizations PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_compute_balance PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_dump PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_dump_balances PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_get_postings PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealOther::test_iterate_with_balance PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestRealMisc::test_index_key PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestFindLastActive::test_find_last_active_posting PASSED [ 13%] -beancount/beancount/core/realization_test.py::TestComputeBalance::test_compute_postings_balance PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_import_exception PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_import_other_exception PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_load PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_load_nonexist PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_load_string PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_renamed_plugin_warnings PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_run_transformation_exception PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_run_transformation_systemexit PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoader::test_run_transformations PASSED [ 13%] -beancount/beancount/loader_test.py::TestLoadDoc::test_load_doc PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadDoc::test_load_doc_empty PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadDoc::test_load_doc_plugin PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadDoc::test_load_doc_plugin_auto_pythonpath PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_no_includes PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_nonexist PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_return_include_filenames PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_with_absolute_include PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_with_duplicate_includes PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_with_multiple_includes PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_with_nonexist_include PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_file_with_relative_include PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative_abs PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative_mixed PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadIncludes::test_load_string_with_relative_include PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache_disable PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache_moved_file PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache_override_filename_pattern_by_argument PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache_override_filename_pattern_by_env_var PASSED [ 14%] -beancount/beancount/loader_test.py::TestLoadCache::test_load_cache_read_only_fs PASSED [ 14%] -beancount/beancount/loader_test.py::TestOptionsAggregation::test_aggregate_operating_currencies PASSED [ 14%] -beancount/beancount/ops/balance_test.py::TestBalance::test_balance_account_does_not_exist PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_balance_before_create PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_balance_mixed_cost_and_no_cost PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_balance_with_prefix_account PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_check_samedate PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_parents PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_parents_only PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_parents_with_postings PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_precision PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_cont PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_error PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_first PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_invalid_currency PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_partial_currency_cont PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_simple_partial_currency_first PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalance::test_with_lots PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalancePrecision::test_balance_with_tolerance PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalancePrecision::test_get_balance_tolerance__explicit PASSED [ 15%] -beancount/beancount/ops/balance_test.py::TestBalancePrecision::test_get_balance_tolerance__regular PASSED [ 15%] -beancount/beancount/ops/basicops_test.py::TestBasicOpsLinks::test_filter_link PASSED [ 15%] -beancount/beancount/ops/basicops_test.py::TestBasicOpsLinks::test_group_entries_by_link PASSED [ 15%] -beancount/beancount/ops/basicops_test.py::TestBasicOpsTags::test_filter_tag PASSED [ 15%] -beancount/beancount/ops/basicops_test.py::TestBasicOpsOther::test_get_common_accounts PASSED [ 16%] -beancount/beancount/ops/compress_test.py::TestMerge::test_merge PASSED [ 16%] -beancount/beancount/ops/compress_test.py::TestMerge::test_merge_cost PASSED [ 16%] -beancount/beancount/ops/compress_test.py::TestMerge::test_merge_price PASSED [ 16%] -beancount/beancount/ops/compress_test.py::TestMerge::test_unmergeable PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocuments::test_find_documents PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocuments::test_process_documents PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocuments::test_process_documents_trailing_slash PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocuments::test_verify_document_files_exist PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocumentsDate::test_invalid_date PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__no_constraint PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__with_leaf_constraints PASSED [ 16%] -beancount/beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__with_parent_constraints PASSED [ 16%] -beancount/beancount/ops/find_prices_test.py::TestFromFile::test_find_balance_currencies PASSED [ 16%] -beancount/beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_at_cost PASSED [ 16%] -beancount/beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_converted PASSED [ 16%] -beancount/beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_priced PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_closed_open PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_cross_accounts PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_different_currencies PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_multiple_compress PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_multiple_no_compress PASSED [ 16%] -beancount/beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_single_closed PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_single_open PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_multiple PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_single_closed PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_single_open PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_days PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_weekdays PASSED [ 17%] -beancount/beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_weeks PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_at_cost PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_check_balances PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_issue362 PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_multiple_currencies PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_multiple_times PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_no_overflow PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_parent PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_parents PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_plugin_modify PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_simple PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_to_zero PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_tolerance PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_unused PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_used_twice_illegally PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_used_twice_legally PASSED [ 17%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78a PASSED [ 18%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78a_original PASSED [ 18%] -beancount/beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78b PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenClose::test_clear PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenClose::test_close PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenClose::test_open PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenClose::test_open_close_clear PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_clear PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_close PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_open PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_open_close_clear PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestClamp::test_clamp PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestCap::test_cap PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__empty PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__end_assets_explicit PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__end_assets_implicit PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_assets PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_at_cost PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_income PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestSummarize::test_summarize__complete PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestSummarize::test_summarize__ordering_non_transactions PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__empty PASSED [ 18%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__multiple PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__needed_middle PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__no_date PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__non_empty_but_empty_cost PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__not_needed PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestConversions::test_conversions__with_transactions_at_cost PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestTruncate::test_truncate__after PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestTruncate::test_truncate__before PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestTruncate::test_truncate__normal1 PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestTruncate::test_truncate__normal2 PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__empty PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__reverse PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__simple PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__first_date PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__middle PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__no_end_date PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_all_entries PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_all_opens PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_first_close PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_first_entry_open PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_new_opens PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__before PASSED [ 19%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__closed_twice PASSED [ 20%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__closed_without_open PASSED [ 20%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__duplicate_open PASSED [ 20%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__first_close PASSED [ 20%] -beancount/beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__first_entry_open PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__close_unopened PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__duplicate_close PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__duplicate_open PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__ordering PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateDuplicateBalances::test_validate_duplicate_balances PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateDuplicateCommodities::test_validate_duplicate_commodities PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_active_accounts PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_active_accounts__unopened PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_balance_after_close PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateCurrencyConstraints::test_validate_currency_constraints PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateDocumentPaths::test_validate_documents_paths PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateDataTypes::test_validate_data_types PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateCheckTransactionBalances::test_validate_check_transaction_balances PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidate::test_validate PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_global PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_specific PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_withprec PASSED [ 20%] -beancount/beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_integral PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestAllInterpolationCombinations::test_all_currency_interpolations PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestAllInterpolationCombinations::test_all_interpolation_combinations PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__against_mixed PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__multiple_auto_postings PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__redundant_auto_postings PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__two_unknown_postings PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units__ambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units__unambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost__ambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost__unambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost_price__ambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost_price__unambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_price__ambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_price__unambiguous PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestReplaceCurrenciesInGroup::test_auto_posting PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestReplaceCurrenciesInGroup::test_missing PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__quantize_with_tolerances PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_needed_one_side PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_unneeded PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_unused PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_complete PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_both PASSED [ 21%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_per PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_total PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_miss_same_posting PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_twomiss_diff_cost_and_units PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_twomiss_diff_units PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_price PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_underdefined PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_underdefined2 PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_units PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_multiple_groups PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_negative_units PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_both PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_both_none PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_missing_per PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_missing_total PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_negative_numbers PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_no_currency PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_per_only PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestComputeCostNumber::test_total_only PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__average PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__invalid PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__strict PASSED [ 22%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__at_cost__neg PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__at_cost__pos PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__incomplete_cost__empty PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__incomplete_cost__with_currency PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__no_cost__neg PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__no_cost__pos PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__none PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__none__from_mixed PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__strict PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__missing_units_number PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__competing__with_error PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__no_error_because_total PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__overflowing__with_error PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions_hifo PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__no_cost PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__no_match PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__other_currency PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__reduction_with_same_currency_not_at_cost PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__sign_change_simple PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__unambiguous PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__augmenting_without_cost PASSED [ 23%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__booking_method_allowed PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__different_account PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__different_currency PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__inverted_signs PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__multiple PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__reducing_without_cost PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__simple PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__total_replacement SKIPPED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance__matching_neg SKIPPED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance__matching_pos SKIPPED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_non_empty_balance SKIPPED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__matching_existing1 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__matching_existing2 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_mixed1 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_mixed2 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_nonmixed1 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_nonmixed2 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT_1 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT_2 PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT__mixed PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__no_match_against_any_lots PASSED [ 24%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_complete_match_against_first_three_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_complete_match_against_first_two_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_match_against_complete_first_lot PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_match_against_partial_first_lot PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_matching_more_than_is_available PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_partial_match_against_first_three_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_partial_match_against_first_two_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__no_match_against_any_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_complete_match_against_first_three_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_complete_match_against_first_two_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_match_against_complete_first_lot PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_match_against_partial_first_lot PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_matching_more_than_is_available PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_partial_match_against_first_three_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_partial_match_against_first_two_lots PASSED [ 25%] -beancount/beancount/parser/booking_full_test.py::TestBookCrossover::test_ambiguous__FIFO__no_match_against_any_lots SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__ambi SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_cost__merging SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_cost_ccy__merging SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_currency SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_currency__merging SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_date SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_with_merge SKIPPED [ 25%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_insufficient SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_insufficient_b SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match1 SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match2 SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match2_b SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge3_match1 SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__trivial1 SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__trivial2 SKIPPED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__different_cost PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__different_date PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__same_date PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestStrictWithSize::test_strict_with_size_multiple PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestStrictWithSize::test_strict_with_size_single PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBookingApi::test_book_single PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_cost PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_currency PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_label PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__any_spec PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__no_cost PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost__per PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost__total PASSED [ 26%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_currency PASSED [ 27%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_date PASSED [ 27%] -beancount/beancount/parser/booking_full_test.py::TestBook::test_reduce__same_label PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_cost_negative PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_cost_zero PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_zero_amount PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_zero_amount__with_cost PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_multiple_transactions_augmenting PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_multiple_transactions_reducing PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_single_transaction PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_simple_negative_lots PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_validate_inventory_booking PASSED [ 27%] -beancount/beancount/parser/booking_test.py::TestBookingValidation::test_validate_inventory_booking__same_day PASSED [ 27%] -beancount/beancount/parser/cmptest_test.py::TestCompareTestFunctions::test_local_booking PASSED [ 27%] -beancount/beancount/parser/cmptest_test.py::TestCompareTestFunctions::test_read_string_or_entries PASSED [ 27%] -beancount/beancount/parser/cmptest_test.py::TestTestCase::test_assertEqualEntries PASSED [ 27%] -beancount/beancount/parser/cmptest_test.py::TestTestCase::test_assertExcludesEntries PASSED [ 27%] -beancount/beancount/parser/cmptest_test.py::TestTestCase::test_assertIncludesEntries PASSED [ 27%] -beancount/beancount/parser/context_test.py::TestContext::test_context PASSED [ 27%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_balance PASSED [ 27%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_balance_with_cost PASSED [ 27%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_close PASSED [ 27%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_commodity PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_custom PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_document PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_event PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_note PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_1 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_2 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_3 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_4 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_5 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_pad PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_price PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_query PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_one_string PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_three_strings PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_two_strings PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_with_txn_keyword PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestWhitespace::test_indent_error_0 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestWhitespace::test_indent_error_1 PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserComplete::test_entry_transaction_imbalance_from_single_posting PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestParserComplete::test_entry_transaction_single_posting_at_zero PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_comment PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_comment_eof PASSED [ 28%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_empty_1 PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_empty_2 PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_comment PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_note PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_transaction PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_indent_eof PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestUglyBugs::test_no_empty_lines PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestComment::test_comment_after_posting PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestComment::test_comment_after_transaction PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestComment::test_comment_after_transaction_start PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestComment::test_comment_before_transaction PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestComment::test_comment_between_postings PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopTag::test_pop_invalid_tag PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopTag::test_tag_left_unclosed PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_forgotten PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_invalid_pop PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_normal PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_override PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_shadow PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestMultipleLines::test_multiline_narration PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestSyntaxErrors::test_lexer_default_rule_1 PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestSyntaxErrors::test_lexer_default_rule_2 PASSED [ 29%] -beancount/beancount/parser/grammar_test.py::TestSyntaxErrors::test_no_final_newline PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserOptions::test_invalid_option PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserOptions::test_option_list_value PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserOptions::test_option_single_value PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserOptions::test_readonly_option PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserInclude::test_include_absolute PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserInclude::test_include_relative PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserInclude::test_include_relative_from_string PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserInclude::test_parse_nonexist PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserPlugin::test_plugin PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserPlugin::test_plugin_as_option PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserPlugin::test_plugin_with_config PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_no PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_yes PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_yes2 PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__default PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__invalid PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__raw PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestToleranceOptions::test_inferred_tolerance_default PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestToleranceOptions::test_tolerance_defaults PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestDeprecatedOptions::test_deprecated_option PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestDeprecatedOptions::test_deprecated_plugin PASSED [ 30%] -beancount/beancount/parser/grammar_test.py::TestParserLinks::test_links PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_blank_line_not_allowed PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_blank_line_with_spaces_not_allowed PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_empty_narration PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_imbalance PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_link_and_then_tag PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_no_narration PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_no_postings PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_payee_no_narration PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_simple_1 PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_simple_2 PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_tag_then_link PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_tags_after_first_line PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_tags_after_first_posting PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_too_many_strings PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_zero_costs PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_zero_prices PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestTransactions::test_zero_units PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_amount PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_both_costs PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_date PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_empty PASSED [ 31%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_label PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_merge PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_none PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_date PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_label PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_merge PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_three_components PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_total_cost_only PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_total_empty_total PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_total_just_currency PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_two_components PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestParseLots::test_cost_with_slashes PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestCurrencies::test_different_cost_and_price_currency PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestCurrencies::test_parse_currencies PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_cost_negative PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_price_negative PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost__invalid PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost_negative PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_inverted PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_negative PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_positive PASSED [ 32%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_with_missing PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_zero_amount PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestTotalsAndSigns::test_zero_cost PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestBalance::test_total_cost PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestBalance::test_total_price PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_data_types PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_empty PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_key_syntax PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_other PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__begin PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__end PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__indented PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__many PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__middle PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__repeated PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__add PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__different_places PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__divide PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__groups PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__multiply PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__negative PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__positive PASSED [ 33%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__precedence PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__subtract PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__amount PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__balance PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__close PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__commodity PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__compound_amount PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__document PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__event PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__include PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__key_value PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__lot_cost_date PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__note PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__open PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__option PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__pad PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__plugin PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__poptag PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__posting PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__price PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__pushtag PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_LINK PASSED [ 34%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_PIPE PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_TAG PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_new PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__transaction PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__multiple PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__recovery PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__recovery2 PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_errors_in_postings PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_exception PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_exception__recovery PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_invalid_token PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_invalid_token__recovery PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average_missing_basis PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average_with_other PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_empty PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_empty_with_other PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_full PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_basis PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_currency PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_number_per PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_number_total PASSED [ 35%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_numbers PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_no_number_total PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing_currency PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing_number PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_none PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_full PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency_with_cost PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency_with_price PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number_with_cost PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number_with_price PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_with_cost PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_with_price PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestMisc::test_comment_in_postings PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestMisc::test_comment_in_postings_invalid PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestDocument::test_document_links PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestDocument::test_document_no_tags_links PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestDocument::test_document_tags PASSED [ 36%] -beancount/beancount/parser/grammar_test.py::TestMethodsSignature::test_signatures PASSED [ 36%] -beancount/beancount/parser/hashsrc_test.py::TestHashSource::test_check_parser_source_files PASSED [ 37%] -beancount/beancount/parser/hashsrc_test.py::TestHashSource::test_hash_parser_source_files PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_account_names_with_dash PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_account_names_with_numbers PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_bad_date PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_comma_currencies PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_currency_dash PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_currency_number PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_date_followed_by_number PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_invalid_directive PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_lex_indent PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_lex_iter PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_lex_unicode_account PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_no_final_newline PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_null_true_false PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_number_dots PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_number_no_integer PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_number_okay PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_number_space PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_popmeta PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_single_letter_account PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_string_escaped PASSED [ 37%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_string_newline PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_string_newline_long PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_string_newline_toolong PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexer::test_very_long_string PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__indented_comment PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__long_comment PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__org_mode_drawer PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__org_mode_title PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__something_else PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__something_else_non_flag PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception_DATE PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception__recovery PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception_substring_with_quotes PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_invalid_token PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_latin1_invalid PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_utf16_invalid PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_utf8 PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerMisc::test_invalid_commas_in_fractional PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerMisc::test_invalid_commas_in_integral PASSED [ 38%] -beancount/beancount/parser/lexer_test.py::TestLexerMisc::test_valid_commas_in_number PASSED [ 38%] -beancount/beancount/parser/options_test.py::TestOptions::test_get_account_types PASSED [ 38%] -beancount/beancount/parser/options_test.py::TestOptions::test_get_current_accounts PASSED [ 38%] -beancount/beancount/parser/options_test.py::TestOptions::test_get_previous_accounts PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestOptions::test_list_options PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__basic_fail PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__fail_invalid_order PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__fail_invalid_other PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__invalid_leaf PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__invalid_root PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__success PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__success_reset PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestValidateOptions::test_validate__plugin_processing_mode__invalid PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision__invalid_format PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision__invalid_value PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_no PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_yes PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_yes2 PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestToleranceOptions::test_inferred_tolerance_default PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestToleranceOptions::test_tolerance_defaults PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDeprecatedOptions::test_deprecated_option PASSED [ 39%] -beancount/beancount/parser/options_test.py::TestDeprecatedOptions::test_deprecated_plugin PASSED [ 39%] -beancount/beancount/parser/parser_test.py::TestCompareTestFunctions::test_is_entry_incomplete PASSED [ 39%] -beancount/beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__disabled PASSED [ 39%] -beancount/beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__errors XFAIL [ 39%] -beancount/beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__noerrors XFAIL [ 40%] -beancount/beancount/parser/parser_test.py::TestParserInputs::test_parse_None PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestParserInputs::test_parse_file PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestParserInputs::test_parse_filename PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestParserInputs::test_parse_stdin PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestParserInputs::test_parse_string PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestUnicodeErrors::test_bytes_encoded_incorrect PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestUnicodeErrors::test_bytes_encoded_utf8 PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestTestUtils::test_parse_many PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestTestUtils::test_parse_one PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex_filename PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex_multi PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestReferenceCounting::test_parser_parse PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_lex PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_lex_lineno PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_parse PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_parse_doc PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_parse_lineno PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_parse_string PASSED [ 40%] -beancount/beancount/parser/parser_test.py::TestLineno::test_parse_string_lineno PASSED [ 40%] -beancount/beancount/parser/printer_test.py::TestPrinter::test_format_and_print_error PASSED [ 40%] -beancount/beancount/parser/printer_test.py::TestPrinter::test_methods_coverage PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinter::test_render_source PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Balance PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_BalanceTolerance PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Close PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Document PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Event PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Note PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Open PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Pad PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Price PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Query PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_Transaction PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_metadata PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestEntryPrinter::test_write_source PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterSpacing::test_interline_spacing PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestDisplayContext::test_precision PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterAlignment::test_align PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterAlignment::test_align_min_width_account PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterAlignment::test_align_position_strings PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterAlignment::test_align_with_weight PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_metadata PASSED [ 41%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_no_valid_account PASSED [ 42%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_render_meta_with_None PASSED [ 42%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_render_missing PASSED [ 42%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_very_small_number PASSED [ 42%] -beancount/beancount/parser/printer_test.py::TestPrinterMisc::test_zero_cost PASSED [ 42%] -beancount/beancount/parser/version_test.py::TestVersion::test_compute_version_string PASSED [ 42%] -beancount/beancount/parser/version_test.py::TestVersion::test_version_exists PASSED [ 42%] -beancount/beancount/plugins/auto_accounts_test.py::TestAutoInsertOpen::test_auto_open PASSED [ 42%] -beancount/beancount/plugins/auto_test.py::TestAuto::test_plugins_auto PASSED [ 42%] -beancount/beancount/plugins/check_average_cost_test.py::TestMatchAverageCost::test_match_average_cost PASSED [ 42%] -beancount/beancount/plugins/check_closing_test.py::TestCheckClosing::test_check_closing PASSED [ 42%] -beancount/beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_ignore PASSED [ 42%] -beancount/beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_okay PASSED [ 42%] -beancount/beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_transaction PASSED [ 42%] -beancount/beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_used_in_balance_only PASSED [ 42%] -beancount/beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_get_commodity_map_ex PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__absence PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__declared_currencies PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__error PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__not_balance_sheet PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__same_day PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__seen_currencies PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__skip_preexisting PASSED [ 42%] -beancount/beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__with_cost_basis PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_auto_accounts_parent_close PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_basic PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_close_unopened_parent PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_empty_entries PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_leave_others_untouched PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_match PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_override PASSED [ 43%] -beancount/beancount/plugins/close_tree_test.py::TestCloseTree::test_override_complex PASSED [ 43%] -beancount/beancount/plugins/coherent_cost_test.py::TestValidateUnusedAccounts::test_validate_unused_accounts PASSED [ 43%] -beancount/beancount/plugins/commodity_attr_test.py::TestCommodityAttr::test_commodity_attr PASSED [ 43%] -beancount/beancount/plugins/commodity_attr_test.py::TestCommodityAttr::test_commodity_attr_existence_only PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_currency_conversion PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_custom_base_account PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_residual_not_conversion PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_selection PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_two_groups_already_balanced PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_with_costs_and_price PASSED [ 43%] -beancount/beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_with_costs_ignored PASSED [ 43%] -beancount/beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__all_cases PASSED [ 43%] -beancount/beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_on_different_transactions PASSED [ 43%] -beancount/beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_on_same_transaction PASSED [ 43%] -beancount/beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_overloaded PASSED [ 44%] -beancount/beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__other_account PASSED [ 44%] -beancount/beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only1 PASSED [ 44%] -beancount/beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only2 PASSED [ 44%] -beancount/beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only3 PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__balance PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__close PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__document PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__event PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__note PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__open PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__pad PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__price PASSED [ 44%] -beancount/beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__transaction PASSED [ 44%] -beancount/beancount/plugins/nounused_test.py::TestValidateUnusedAccounts::test_validate_unused_accounts PASSED [ 44%] -beancount/beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_balance PASSED [ 44%] -beancount/beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_regexp_config PASSED [ 44%] -beancount/beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_skip_declared PASSED [ 44%] -beancount/beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_skip_metadata PASSED [ 44%] -beancount/beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_transaction PASSED [ 44%] -beancount/beancount/plugins/pedantic_test.py::TestPedantic::test_plugins_pedantic PASSED [ 44%] -beancount/beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_fail_balance PASSED [ 44%] -beancount/beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_fail_imbalance PASSED [ 45%] -beancount/beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_other_currency PASSED [ 45%] -beancount/beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_success PASSED [ 45%] -beancount/beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_zero_price PASSED [ 45%] -beancount/beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__different PASSED [ 45%] -beancount/beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__from_costs PASSED [ 45%] -beancount/beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__same PASSED [ 45%] -beancount/beancount/scripts/check_examples_test.py::TestCheckExamples::test_example_files PASSED [ 45%] -beancount/beancount/scripts/check_test.py::TestScriptCheck::test_auto_plugins PASSED [ 45%] -beancount/beancount/scripts/check_test.py::TestScriptCheck::test_fail PASSED [ 45%] -beancount/beancount/scripts/check_test.py::TestScriptCheck::test_success PASSED [ 45%] -beancount/beancount/scripts/deps_test.py::TestCheckDeps::test_check_dependencies PASSED [ 45%] -beancount/beancount/scripts/directories_test.py::TestScriptCheckDirectories::test_validation PASSED [ 45%] -beancount/beancount/scripts/directories_test.py::TestScriptCheckDirectories::test_validation_no_parent PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_lexer PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_lexer_empty PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_roundtrip PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptDoctor::test_list_options PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_invocation PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_validation PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_validation_no_parent PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptMissingOpen::test_missing_open PASSED [ 45%] -beancount/beancount/scripts/doctor_test.py::TestScriptDisplayContext::test_display_context PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestContext::test_context PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestContext::test_context_multiple_files PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestLinked::test_linked_explicit_link PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestLinked::test_linked_lineno_only PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestLinked::test_linked_multiple_files PASSED [ 46%] -beancount/beancount/scripts/doctor_test.py::TestRegion::test_region PASSED [ 46%] -beancount/beancount/scripts/example_test.py::TestScriptExample::test_generate PASSED [ 46%] -beancount/beancount/scripts/example_test.py::TestScriptExample::test_generate_with_date PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_align_posting_starts PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_arithmetic_expressions SKIPPED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_commas PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_currency_issue146 PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_fixed_column PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_fixed_width PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_metadata_issue400 PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_open_only_issue80 PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_parenthesized_binary_expressions PASSED [ 46%] -beancount/beancount/scripts/format_test.py::TestScriptFormat::test_success PASSED [ 46%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_consecutive PASSED [ 46%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_empty_string PASSED [ 46%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_filenames PASSED [ 46%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_filenames_tree PASSED [ 46%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_flush_left PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_flush_right PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_no_columns PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_noise_after PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_noise_before PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_between_nodes PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_parent_child PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_same_node PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_overlapping_column PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_parents PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_simple PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_two_columns PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_unsorted PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_whitespace PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_width_narrower PASSED [ 47%] -beancount/beancount/tools/treeify_test.py::TestTreeify::test_width_wider PASSED [ 47%] -beancount/beancount/utils/bisect_key_test.py::TestBisectWithKey::test_bisect_left_with_key PASSED [ 47%] -beancount/beancount/utils/bisect_key_test.py::TestBisectWithKey::test_bisect_repeats PASSED [ 47%] -beancount/beancount/utils/defdict_test.py::TestImmutableDictWithDefault::test_dict_with_default PASSED [ 47%] -beancount/beancount/utils/defdict_test.py::TestImmutableDictWithDefault::test_pickle_defdict PASSED [ 47%] -beancount/beancount/utils/encryption_test.py::TestEncryptedFiles::test_read_encrypted_file PASSED [ 47%] -beancount/beancount/utils/encryption_test.py::TestEncryptedFilesCheck::test_is_encrypted_file PASSED [ 47%] -beancount/beancount/utils/encryption_test.py::TestLoadIncludesEncrypted::test_include_encrypted PASSED [ 48%] -beancount/beancount/utils/file_utils_test.py::TestFileUtilsFind::test_find_files PASSED [ 48%] -beancount/beancount/utils/file_utils_test.py::TestMiscFileUtils::test_guess_file_format PASSED [ 48%] -beancount/beancount/utils/file_utils_test.py::TestMiscFileUtils::test_path_greedy_split PASSED [ 48%] -beancount/beancount/utils/import_utils_test.py::TestImportSymbol::test_import_symbol PASSED [ 48%] -beancount/beancount/utils/invariants_test.py::TestInvariants::test_invariants_on_dummy PASSED [ 48%] -beancount/beancount/utils/memo_test.py::TestMemoization::test_memoization_expired PASSED [ 48%] -beancount/beancount/utils/memo_test.py::TestMemoization::test_memoization_success PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_escape_string PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_filter_type PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_get_screen_height PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_get_screen_width PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_groupby PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_is_sorted PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_log_time PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_no_curses PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestMiscUtils::test_skipiter PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestUniquify::test_sorted_uniquify_first PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestUniquify::test_sorted_uniquify_last PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestUniquify::test_uniquify_first PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestUniquify::test_uniquify_last PASSED [ 48%] -beancount/beancount/utils/misc_utils_test.py::TestLineFileProxy::test_line_file_proxy PASSED [ 48%] -beancount/beancount/utils/pager_test.py::TestPager::test_pager_nothreshold PASSED [ 49%] -beancount/beancount/utils/pager_test.py::TestPager::test_pager_threshold_above PASSED [ 49%] -beancount/beancount/utils/pager_test.py::TestPager::test_pager_threshold_below PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_attribute_to_title PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_compute_table_widths PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_create_table PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_create_table_with_index PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_generate_table PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_table_to_csv PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_table_to_html PASSED [ 49%] -beancount/beancount/utils/table_test.py::TestTable::test_table_to_text PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_capture PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_create_temporary_files PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_docfile PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_docfile_extra PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_environ_contextmanager PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_search_words PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestUtils::test_tempdir PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestCase::test_assertLines PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestTestCase::test_assertOutput PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestSkipIfRaises::test_contextmanager PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestSkipIfRaises::test_decorator PASSED [ 49%] -beancount/beancount/utils/test_utils_test.py::TestSkipIfRaises::test_decorator_many PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_account_join PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_account_split PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_commonprefix PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_has_component PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_is_valid PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_leaf PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_parent PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_root PASSED [ 50%] -beancount/core/account_test.py::TestAccount::test_sans_root PASSED [ 50%] -beancount/core/account_test.py::TestAccountCoreOnly::test_parent_matcher PASSED [ 50%] -beancount/core/account_test.py::TestAccountCoreOnly::test_parents PASSED [ 50%] -beancount/core/account_test.py::TestWalk::test_walk PASSED [ 50%] -beancount/core/account_test.py::TestAccountTransformer::test_noop PASSED [ 50%] -beancount/core/account_test.py::TestAccountTransformer::test_parse PASSED [ 50%] -beancount/core/account_test.py::TestAccountTransformer::test_render PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_basics PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_get_account_sign PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_get_account_sort_key PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_get_account_type PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_is_account_categories PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_is_account_type PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_is_inverted_account PASSED [ 50%] -beancount/core/account_types_test.py::TestAccountTypes::test_is_root_account PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_abs PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_add PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_comparisons PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_constructor PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_div PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_fromstring PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_hash PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_mult PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_mutation PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_neg PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_sort__explicit PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_sort__natural PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_sub PASSED [ 51%] -beancount/core/amount_test.py::TestAmount::test_tostring PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_compare_entries PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_excludes_entries PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_hash_entries PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_hash_entries_same_postings PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_hash_entries_with_duplicates PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_hash_with_exclude_meta PASSED [ 51%] -beancount/core/compare_test.py::TestCompare::test_includes_entries PASSED [ 51%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__fail PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__noop PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_amount__success PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_amount_with_date PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_both PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_rate_to_rate PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_miss_value_rate PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_and_success_on_implieds PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__miss_but_same_currency PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_convert_position__success PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_cost__empty PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_cost__missing PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_cost__not_empty PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_old_test PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_units PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_value__currency_from_cost PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_value__no_currency PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_weight__no_cost PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_weight__with_cost PASSED [ 52%] -beancount/core/convert_test.py::TestPositionConversions::test_weight__with_cost_missing PASSED [ 52%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__fail PASSED [ 52%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__noop PASSED [ 52%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_amount__success PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_amount_with_date PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__currency_from_price PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_both PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_rate_to_rate PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_miss_value_rate PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_and_success_on_implieds PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__miss_but_same_currency PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_convert_position__success PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_cost__empty PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_cost__missing PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_cost__not_empty PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_old_test PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_units PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_value__currency_from_cost PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_value__currency_from_price PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_value__no_currency PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_weight__no_cost PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_weight__with_cost PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_weight__with_cost_missing PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_weight_with_cost_and_price PASSED [ 53%] -beancount/core/convert_test.py::TestPostingConversions::test_weight_with_only_price PASSED [ 53%] -beancount/core/convert_test.py::TestMarketValue::test_mixed_currencies PASSED [ 53%] -beancount/core/convert_test.py::TestMarketValue::test_no_change PASSED [ 54%] -beancount/core/convert_test.py::TestMarketValue::test_other_currency PASSED [ 54%] -beancount/core/convert_test.py::TestMarketValue::test_stock_different_ones PASSED [ 54%] -beancount/core/convert_test.py::TestMarketValue::test_stock_many_lots PASSED [ 54%] -beancount/core/convert_test.py::TestMarketValue::test_stock_not_found PASSED [ 54%] -beancount/core/convert_test.py::TestMarketValue::test_stock_single PASSED [ 54%] -beancount/core/data_test.py::TestData::test_create_simple_posting PASSED [ 54%] -beancount/core/data_test.py::TestData::test_create_simple_posting_with_cost PASSED [ 54%] -beancount/core/data_test.py::TestData::test_entry_sortkey PASSED [ 54%] -beancount/core/data_test.py::TestData::test_filter_txns PASSED [ 54%] -beancount/core/data_test.py::TestData::test_find_closest PASSED [ 54%] -beancount/core/data_test.py::TestData::test_get_entry PASSED [ 54%] -beancount/core/data_test.py::TestData::test_has_entry_account_component PASSED [ 54%] -beancount/core/data_test.py::TestData::test_iter_entry_dates PASSED [ 54%] -beancount/core/data_test.py::TestData::test_posting_has_conversion PASSED [ 54%] -beancount/core/data_test.py::TestData::test_posting_sortkey PASSED [ 54%] -beancount/core/data_test.py::TestData::test_remove_account_postings PASSED [ 54%] -beancount/core/data_test.py::TestData::test_sanity_check_types PASSED [ 54%] -beancount/core/data_test.py::TestData::test_sort PASSED [ 54%] -beancount/core/data_test.py::TestData::test_transaction_has_conversion PASSED [ 54%] -beancount/core/data_test.py::TestPickle::test_data_tuples_support_pickle PASSED [ 54%] -beancount/core/data_test.py::TestAnnotations::test_directive_typed_named_tuples PASSED [ 54%] -beancount/core/display_context_test.py::TestDisplayContext::test_dump PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContext::test_set_fixed_precision PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_clear_mode PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_commas PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_maximum PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_no_clear_mode PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_reserved PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextNatural::test_natural_uninitialized PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_fractional PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_fractional_commas PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_integer PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_integer_commas PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_sign PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextRight::test_right_uninitialized PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_basic PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_basic_multi PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_fractional PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_fractional_commas PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_integer PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_integer_commas PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_sign PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextDot::test_dot_uninitialized PASSED [ 55%] -beancount/core/display_context_test.py::TestDisplayContextQuantize::test_quantize_basic PASSED [ 56%] -beancount/core/display_context_test.py::TestFixedContext::test_get_fractional PASSED [ 56%] -beancount/core/display_context_test.py::TestFixedContext::test_init PASSED [ 56%] -beancount/core/display_context_test.py::TestFixedContext::test_str PASSED [ 56%] -beancount/core/display_context_test.py::TestFixedContext::test_update PASSED [ 56%] -beancount/core/display_context_test.py::TestFixedContext::test_update_from PASSED [ 56%] -beancount/core/distribution_test.py::TestDistribution::test_distribution PASSED [ 56%] -beancount/core/distribution_test.py::TestDistributionUpdateFrom::test_update_from PASSED [ 56%] -beancount/core/flags_test.py::TestFlags::test_unique_flags PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_account_components PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_account_open_close PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_account_open_close__duplicates PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_accounts PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_accounts_use_map PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_active_years PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_all_links PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_all_payees PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_all_tags PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_commodity_directives PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_dict_accounts PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_entry_accounts PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_leveln_parent_accounts PASSED [ 56%] -beancount/core/getters_test.py::TestGetters::test_get_min_max_dates PASSED [ 57%] -beancount/core/getters_test.py::TestGetters::test_get_values_meta__multi PASSED [ 57%] -beancount/core/getters_test.py::TestGetters::test_get_values_meta__single PASSED [ 57%] -beancount/core/getters_test.py::TestGetters::test_methods_coverage PASSED [ 57%] -beancount/core/interpolate_test.py::TestBalance::test_compute_residual PASSED [ 57%] -beancount/core/interpolate_test.py::TestBalance::test_fill_residual_posting PASSED [ 57%] -beancount/core/interpolate_test.py::TestBalance::test_has_nontrivial_balance PASSED [ 57%] -beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_at_cost PASSED [ 57%] -beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_conversions PASSED [ 57%] -beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entries_balance_currencies PASSED [ 57%] -beancount/core/interpolate_test.py::TestComputeBalance::test_compute_entry_context PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53_price PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53a PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__bug53b PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__capped_inference PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__cost_and_number_ignored PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__dubious_precision PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_cost PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_cost_and_price PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__ignore_price PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__minimum_on_costs PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__missing_units_only PASSED [ 57%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__multiplier PASSED [ 58%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__no_precision PASSED [ 58%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_fail_to_succ PASSED [ 58%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_used PASSED [ 58%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__number_on_cost_used_overrides PASSED [ 58%] -beancount/core/interpolate_test.py::TestInferTolerances::test_tolerances__with_inference PASSED [ 58%] -beancount/core/interpolate_test.py::TestQuantize::test_quantize_with_tolerance PASSED [ 58%] -beancount/core/inventory_test.py::TestInventoryNew::test_from_string PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount__allow_negative PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount__booking PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount__multi_currency PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount__withlots PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_amount__zero PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_add_position PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_average PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_copy PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_cost PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_ctor_empty_len PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_currencies PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_currency_pairs PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_from_string PASSED [ 58%] -beancount/core/inventory_test.py::TestInventory::test_get_currency_units PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_get_only_position PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_is_mixed PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_is_reduced_by PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_is_small__dict PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_is_small__value PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_is_small__with_default PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_abs PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_add PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_eq PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_lt PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_mul PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_op_neg PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_reduce PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_segregate_units PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_split PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_str PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_sum_inventories PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_units PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_units1 PASSED [ 59%] -beancount/core/inventory_test.py::TestInventory::test_update PASSED [ 59%] -beancount/core/number_test.py::TestDecimalPrecision::test_formatting PASSED [ 59%] -beancount/core/number_test.py::TestToDecimal::test_D PASSED [ 60%] -beancount/core/number_test.py::TestToDecimal::test_ZERO PASSED [ 60%] -beancount/core/number_test.py::TestToDecimal::test_round_to PASSED [ 60%] -beancount/core/number_test.py::TestToDecimal::test_same_sign PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_auto_quantize PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_none PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_normal PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_one PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_under PASSED [ 60%] -beancount/core/number_test.py::TestInferQuantization::test_infer_quantization_under3 PASSED [ 60%] -beancount/core/position_test.py::TestCost::test_cost_to_str__detail PASSED [ 60%] -beancount/core/position_test.py::TestCost::test_cost_to_str__simple PASSED [ 60%] -beancount/core/position_test.py::TestCostSpec::test_cost_to_str__detail PASSED [ 60%] -beancount/core/position_test.py::TestCostSpec::test_cost_to_str__simple PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_abs PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_compare_zero_to_none PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_constructors PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_copy PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_currency_pair PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_eq_and_sortkey PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_eq_and_sortkey__bycost PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_from_amounts PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_from_string__empty PASSED [ 60%] -beancount/core/position_test.py::TestPosition::test_from_string__missing_currency PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__simple PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_compound_cost PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_cost PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_cost_and_date PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_everything PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_label PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_from_string__with_spaces PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_is_negative_at_cost PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_mul PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_neg PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_negative PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_quantities PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_str PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_to_string PASSED [ 61%] -beancount/core/position_test.py::TestPosition::test_to_string_no_detail PASSED [ 61%] -beancount/core/prices_test.py::TestPriceEntries::test_get_last_price_entries PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_build_price_map PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_build_price_map_zero_prices PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_get_all_prices PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_get_latest_price PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_get_price PASSED [ 61%] -beancount/core/prices_test.py::TestPriceMap::test_lookup_price_and_inverse PASSED [ 62%] -beancount/core/prices_test.py::TestPriceMap::test_normalize_base_quote PASSED [ 62%] -beancount/core/prices_test.py::TestPriceMap::test_ordering_same_date PASSED [ 62%] -beancount/core/prices_test.py::TestPriceMap::test_project PASSED [ 62%] -beancount/core/prices_test.py::TestPriceMap::test_project_collisions PASSED [ 62%] -beancount/core/prices_test.py::TestPriceMap::test_project_missing PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_clone PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_ctor PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_equality PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_getitem_setitem PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_setitem_constraints PASSED [ 62%] -beancount/core/realization_test.py::TestRealAccount::test_str PASSED [ 62%] -beancount/core/realization_test.py::TestRealGetters::test_contains PASSED [ 62%] -beancount/core/realization_test.py::TestRealGetters::test_get PASSED [ 62%] -beancount/core/realization_test.py::TestRealGetters::test_get_or_create PASSED [ 62%] -beancount/core/realization_test.py::TestRealGetters::test_iter_children PASSED [ 62%] -beancount/core/realization_test.py::TestRealization::test_postings_by_account PASSED [ 62%] -beancount/core/realization_test.py::TestRealization::test_realize PASSED [ 62%] -beancount/core/realization_test.py::TestRealization::test_realize_empty PASSED [ 62%] -beancount/core/realization_test.py::TestRealization::test_realize_min_accoumts PASSED [ 62%] -beancount/core/realization_test.py::TestRealization::test_simple_realize PASSED [ 62%] -beancount/core/realization_test.py::TestRealFilter::test_filter_almost_all PASSED [ 62%] -beancount/core/realization_test.py::TestRealFilter::test_filter_misc PASSED [ 63%] -beancount/core/realization_test.py::TestRealFilter::test_filter_no_leaves PASSED [ 63%] -beancount/core/realization_test.py::TestRealFilter::test_filter_to_empty PASSED [ 63%] -beancount/core/realization_test.py::TestRealFilter::test_filter_with_leaves PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_compare_realizations PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_compute_balance PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_dump PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_dump_balances PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_get_postings PASSED [ 63%] -beancount/core/realization_test.py::TestRealOther::test_iterate_with_balance PASSED [ 63%] -beancount/core/realization_test.py::TestRealMisc::test_index_key PASSED [ 63%] -beancount/core/realization_test.py::TestFindLastActive::test_find_last_active_posting PASSED [ 63%] -beancount/core/realization_test.py::TestComputeBalance::test_compute_postings_balance PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_import_exception PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_import_other_exception PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_load PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_load_nonexist PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_load_string PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_renamed_plugin_warnings PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_run_transformation_exception PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_run_transformation_systemexit PASSED [ 63%] -beancount/loader_test.py::TestLoader::test_run_transformations PASSED [ 63%] -beancount/loader_test.py::TestLoadDoc::test_load_doc PASSED [ 64%] -beancount/loader_test.py::TestLoadDoc::test_load_doc_empty PASSED [ 64%] -beancount/loader_test.py::TestLoadDoc::test_load_doc_plugin PASSED [ 64%] -beancount/loader_test.py::TestLoadDoc::test_load_doc_plugin_auto_pythonpath PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_no_includes PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_nonexist PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_return_include_filenames PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_with_absolute_include PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_with_duplicate_includes PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_with_multiple_includes PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_with_nonexist_include PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_file_with_relative_include PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative_abs PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_glob_relative_mixed PASSED [ 64%] -beancount/loader_test.py::TestLoadIncludes::test_load_string_with_relative_include PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache_disable PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache_moved_file PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache_override_filename_pattern_by_argument PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache_override_filename_pattern_by_env_var PASSED [ 64%] -beancount/loader_test.py::TestLoadCache::test_load_cache_read_only_fs PASSED [ 64%] -beancount/loader_test.py::TestOptionsAggregation::test_aggregate_operating_currencies PASSED [ 64%] -beancount/ops/balance_test.py::TestBalance::test_balance_account_does_not_exist PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_balance_before_create PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_balance_mixed_cost_and_no_cost PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_balance_with_prefix_account PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_check_samedate PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_parents PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_parents_only PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_parents_with_postings PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_precision PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_cont PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_error PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_first PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_invalid_currency PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_partial_currency_cont PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_simple_partial_currency_first PASSED [ 65%] -beancount/ops/balance_test.py::TestBalance::test_with_lots PASSED [ 65%] -beancount/ops/balance_test.py::TestBalancePrecision::test_balance_with_tolerance PASSED [ 65%] -beancount/ops/balance_test.py::TestBalancePrecision::test_get_balance_tolerance__explicit PASSED [ 65%] -beancount/ops/balance_test.py::TestBalancePrecision::test_get_balance_tolerance__regular PASSED [ 65%] -beancount/ops/basicops_test.py::TestBasicOpsLinks::test_filter_link PASSED [ 65%] -beancount/ops/basicops_test.py::TestBasicOpsLinks::test_group_entries_by_link PASSED [ 65%] -beancount/ops/basicops_test.py::TestBasicOpsTags::test_filter_tag PASSED [ 65%] -beancount/ops/basicops_test.py::TestBasicOpsOther::test_get_common_accounts PASSED [ 66%] -beancount/ops/compress_test.py::TestMerge::test_merge PASSED [ 66%] -beancount/ops/compress_test.py::TestMerge::test_merge_cost PASSED [ 66%] -beancount/ops/compress_test.py::TestMerge::test_merge_price PASSED [ 66%] -beancount/ops/compress_test.py::TestMerge::test_unmergeable PASSED [ 66%] -beancount/ops/documents_test.py::TestDocuments::test_find_documents PASSED [ 66%] -beancount/ops/documents_test.py::TestDocuments::test_process_documents PASSED [ 66%] -beancount/ops/documents_test.py::TestDocuments::test_process_documents_trailing_slash PASSED [ 66%] -beancount/ops/documents_test.py::TestDocuments::test_verify_document_files_exist PASSED [ 66%] -beancount/ops/documents_test.py::TestDocumentsDate::test_invalid_date PASSED [ 66%] -beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__no_constraint PASSED [ 66%] -beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__with_leaf_constraints PASSED [ 66%] -beancount/ops/documents_test.py::TestDocumentsConstraints::test_find_documents__with_parent_constraints PASSED [ 66%] -beancount/ops/find_prices_test.py::TestFromFile::test_find_balance_currencies PASSED [ 66%] -beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_at_cost PASSED [ 66%] -beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_converted PASSED [ 66%] -beancount/ops/find_prices_test.py::TestFromFile::test_find_currencies_priced PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_closed_open PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_cross_accounts PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCommodityLifetimes::test_lifetimes_different_currencies PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_multiple_compress PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_multiple_no_compress PASSED [ 66%] -beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_single_closed PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestCompressLifetimes::test_single_open PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_multiple PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_single_closed PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestTrimLifetimes::test_single_open PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_days PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_weekdays PASSED [ 67%] -beancount/ops/lifetimes_test.py::TestLifetimeDateIterators::test_iter_weeks PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_at_cost PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_check_balances PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_issue362 PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_multiple_currencies PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_multiple_times PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_no_overflow PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_parent PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_parents PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_plugin_modify PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_simple PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_to_zero PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_tolerance PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_unused PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_used_twice_illegally PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_used_twice_legally PASSED [ 67%] -beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78a PASSED [ 68%] -beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78a_original PASSED [ 68%] -beancount/ops/pad_test.py::TestPadding::test_pad_zero_padding_issue78b PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenClose::test_clear PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenClose::test_close PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenClose::test_open PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenClose::test_open_close_clear PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_clear PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_close PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_open PASSED [ 68%] -beancount/ops/summarize_test.py::TestOpenCloseWithOptions::test_open_close_clear PASSED [ 68%] -beancount/ops/summarize_test.py::TestClamp::test_clamp PASSED [ 68%] -beancount/ops/summarize_test.py::TestCap::test_cap PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__empty PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__end_assets_explicit PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__end_assets_implicit PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_assets PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_at_cost PASSED [ 68%] -beancount/ops/summarize_test.py::TestTransferBalances::test_transfer_balances__middle_income PASSED [ 68%] -beancount/ops/summarize_test.py::TestSummarize::test_summarize__complete PASSED [ 68%] -beancount/ops/summarize_test.py::TestSummarize::test_summarize__ordering_non_transactions PASSED [ 68%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__empty PASSED [ 68%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__multiple PASSED [ 69%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__needed_middle PASSED [ 69%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__no_date PASSED [ 69%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__non_empty_but_empty_cost PASSED [ 69%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__not_needed PASSED [ 69%] -beancount/ops/summarize_test.py::TestConversions::test_conversions__with_transactions_at_cost PASSED [ 69%] -beancount/ops/summarize_test.py::TestTruncate::test_truncate__after PASSED [ 69%] -beancount/ops/summarize_test.py::TestTruncate::test_truncate__before PASSED [ 69%] -beancount/ops/summarize_test.py::TestTruncate::test_truncate__normal1 PASSED [ 69%] -beancount/ops/summarize_test.py::TestTruncate::test_truncate__normal2 PASSED [ 69%] -beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__empty PASSED [ 69%] -beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__reverse PASSED [ 69%] -beancount/ops/summarize_test.py::TestEntriesFromBalance::test_create_entries_from_balances__simple PASSED [ 69%] -beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__first_date PASSED [ 69%] -beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__middle PASSED [ 69%] -beancount/ops/summarize_test.py::TestBalanceByAccount::test_balance_by_account__no_end_date PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_all_entries PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_all_opens PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_first_close PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_first_entry_open PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__after_new_opens PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__before PASSED [ 69%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__closed_twice PASSED [ 70%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__closed_without_open PASSED [ 70%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__duplicate_open PASSED [ 70%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__first_close PASSED [ 70%] -beancount/ops/summarize_test.py::TestOpenAtDate::test_get_open_entries__first_entry_open PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__close_unopened PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__duplicate_close PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__duplicate_open PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateOpenClose::test_validate_open_close__ordering PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateDuplicateBalances::test_validate_duplicate_balances PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateDuplicateCommodities::test_validate_duplicate_commodities PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_active_accounts PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_active_accounts__unopened PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateActiveAccounts::test_validate_balance_after_close PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateCurrencyConstraints::test_validate_currency_constraints PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateDocumentPaths::test_validate_documents_paths PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateDataTypes::test_validate_data_types PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateCheckTransactionBalances::test_validate_check_transaction_balances PASSED [ 70%] -beancount/ops/validation_test.py::TestValidate::test_validate PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_global PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_specific PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_fractional_withprec PASSED [ 70%] -beancount/ops/validation_test.py::TestValidateTolerances::test_tolerance_implicit_integral PASSED [ 71%] -beancount/parser/booking_full_test.py::TestAllInterpolationCombinations::test_all_currency_interpolations PASSED [ 71%] -beancount/parser/booking_full_test.py::TestAllInterpolationCombinations::test_all_interpolation_combinations PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__against_mixed PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__multiple_auto_postings PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__redundant_auto_postings PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__two_unknown_postings PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units__ambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units__unambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost__ambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost__unambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost_price__ambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_cost_price__unambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_price__ambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestCategorizeCurrencyGroup::test_categorize__units_price__unambiguous PASSED [ 71%] -beancount/parser/booking_full_test.py::TestReplaceCurrenciesInGroup::test_auto_posting PASSED [ 71%] -beancount/parser/booking_full_test.py::TestReplaceCurrenciesInGroup::test_missing PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__quantize_with_tolerances PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_needed_one_side PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_unneeded PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_auto_posting__superfluous_unused PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_complete PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_both PASSED [ 71%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_per PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_cost_total PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_miss_same_posting PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_twomiss_diff_cost_and_units PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_impossible_twomiss_diff_units PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_price PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_underdefined PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_underdefined2 PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_incomplete_units PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_multiple_groups PASSED [ 72%] -beancount/parser/booking_full_test.py::TestInterpolateCurrencyGroup::test_negative_units PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_both PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_both_none PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_missing_per PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_missing_total PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_negative_numbers PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_no_currency PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_per_only PASSED [ 72%] -beancount/parser/booking_full_test.py::TestComputeCostNumber::test_total_only PASSED [ 72%] -beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__average PASSED [ 72%] -beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__invalid PASSED [ 72%] -beancount/parser/booking_full_test.py::TestParseBookingOptions::test_booking_method__strict PASSED [ 72%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__at_cost__neg PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__at_cost__pos PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__incomplete_cost__empty PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__incomplete_cost__with_currency PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__no_cost__neg PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookAugmentations::test_augment__from_empty__no_cost__pos PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__none PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__none__from_mixed PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__ambiguous__strict PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__missing_units_number PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__competing__with_error PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__no_error_because_total PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions__overflowing__with_error PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__multiple_reductions_hifo PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__no_cost PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__no_match PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__other_currency PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__reduction_with_same_currency_not_at_cost PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__sign_change_simple PASSED [ 73%] -beancount/parser/booking_full_test.py::TestBookReductions::test_reduce__unambiguous PASSED [ 73%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__augmenting_without_cost PASSED [ 73%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__booking_method_allowed PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__different_account PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__different_currency PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__inverted_signs PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__multiple PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__reducing_without_cost PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__simple PASSED [ 74%] -beancount/parser/booking_full_test.py::TestHasSelfReductions::test_has_self_reductions__total_replacement SKIPPED [ 74%] -beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance__matching_neg SKIPPED [ 74%] -beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_empty_balance__matching_pos SKIPPED [ 74%] -beancount/parser/booking_full_test.py::TestBookReductionsSelf::test_reduce__augment_and_reduce_with_non_empty_balance SKIPPED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__matching_existing1 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__matching_existing2 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_mixed1 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_mixed2 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_nonmixed1 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__NONE__notmatching_nonmixed2 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT_1 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT_2 PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguous::test_ambiguous__STRICT__mixed PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__no_match_against_any_lots PASSED [ 74%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_complete_match_against_first_three_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_complete_match_against_first_two_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_match_against_complete_first_lot PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_match_against_partial_first_lot PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_matching_more_than_is_available PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_partial_match_against_first_three_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousFIFO::test_ambiguous__FIFO__test_partial_match_against_first_two_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__no_match_against_any_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_complete_match_against_first_three_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_complete_match_against_first_two_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_match_against_complete_first_lot PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_match_against_partial_first_lot PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_matching_more_than_is_available PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_partial_match_against_first_three_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookAmbiguousLIFO::test_ambiguous__LIFO__test_partial_match_against_first_two_lots PASSED [ 75%] -beancount/parser/booking_full_test.py::TestBookCrossover::test_ambiguous__FIFO__no_match_against_any_lots SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__ambi SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_cost__merging SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_cost_ccy__merging SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_currency SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_currency__merging SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_date SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__mixed_currencies__unambi_with_merge SKIPPED [ 75%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_insufficient SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_insufficient_b SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match1 SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match2 SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge2_match2_b SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__simple_merge3_match1 SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__trivial1 SKIPPED [ 76%] -beancount/parser/booking_full_test.py::_TestBookAmbiguousAVERAGE::test_ambiguous__AVERAGE__trivial2 SKIPPED [ 76%] -beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__different_cost PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__different_date PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBasicBooking::test_augment__at_cost__same_date PASSED [ 76%] -beancount/parser/booking_full_test.py::TestStrictWithSize::test_strict_with_size_multiple PASSED [ 76%] -beancount/parser/booking_full_test.py::TestStrictWithSize::test_strict_with_size_single PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBookingApi::test_book_single PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_cost PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_currency PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_augment__at_cost__different_label PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__any_spec PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__no_cost PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost__per PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_cost__total PASSED [ 76%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_currency PASSED [ 77%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_date PASSED [ 77%] -beancount/parser/booking_full_test.py::TestBook::test_reduce__same_label PASSED [ 77%] -beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_cost_negative PASSED [ 77%] -beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_cost_zero PASSED [ 77%] -beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_zero_amount PASSED [ 77%] -beancount/parser/booking_test.py::TestInvalidAmountsErrors::test_zero_amount__with_cost PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_multiple_transactions_augmenting PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_multiple_transactions_reducing PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_mixed_lots_in_single_transaction PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_simple_negative_lots PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_validate_inventory_booking PASSED [ 77%] -beancount/parser/booking_test.py::TestBookingValidation::test_validate_inventory_booking__same_day PASSED [ 77%] -beancount/parser/cmptest_test.py::TestCompareTestFunctions::test_local_booking PASSED [ 77%] -beancount/parser/cmptest_test.py::TestCompareTestFunctions::test_read_string_or_entries PASSED [ 77%] -beancount/parser/cmptest_test.py::TestTestCase::test_assertEqualEntries PASSED [ 77%] -beancount/parser/cmptest_test.py::TestTestCase::test_assertExcludesEntries PASSED [ 77%] -beancount/parser/cmptest_test.py::TestTestCase::test_assertIncludesEntries PASSED [ 77%] -beancount/parser/context_test.py::TestContext::test_context PASSED [ 77%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_balance PASSED [ 77%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_balance_with_cost PASSED [ 77%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_close PASSED [ 77%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_commodity PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_custom PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_document PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_event PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_note PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_1 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_2 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_3 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_4 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_open_5 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_pad PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_price PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_query PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_one_string PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_three_strings PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_two_strings PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserEntryTypes::test_entry_transaction_with_txn_keyword PASSED [ 78%] -beancount/parser/grammar_test.py::TestWhitespace::test_indent_error_0 PASSED [ 78%] -beancount/parser/grammar_test.py::TestWhitespace::test_indent_error_1 PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserComplete::test_entry_transaction_imbalance_from_single_posting PASSED [ 78%] -beancount/parser/grammar_test.py::TestParserComplete::test_entry_transaction_single_posting_at_zero PASSED [ 78%] -beancount/parser/grammar_test.py::TestUglyBugs::test_comment PASSED [ 78%] -beancount/parser/grammar_test.py::TestUglyBugs::test_comment_eof PASSED [ 78%] -beancount/parser/grammar_test.py::TestUglyBugs::test_empty_1 PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_empty_2 PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_comment PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_note PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_extra_whitespace_transaction PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_indent_eof PASSED [ 79%] -beancount/parser/grammar_test.py::TestUglyBugs::test_no_empty_lines PASSED [ 79%] -beancount/parser/grammar_test.py::TestComment::test_comment_after_posting PASSED [ 79%] -beancount/parser/grammar_test.py::TestComment::test_comment_after_transaction PASSED [ 79%] -beancount/parser/grammar_test.py::TestComment::test_comment_after_transaction_start PASSED [ 79%] -beancount/parser/grammar_test.py::TestComment::test_comment_before_transaction PASSED [ 79%] -beancount/parser/grammar_test.py::TestComment::test_comment_between_postings PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopTag::test_pop_invalid_tag PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopTag::test_tag_left_unclosed PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_forgotten PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_invalid_pop PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_normal PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_override PASSED [ 79%] -beancount/parser/grammar_test.py::TestPushPopMeta::test_pushmeta_shadow PASSED [ 79%] -beancount/parser/grammar_test.py::TestMultipleLines::test_multiline_narration PASSED [ 79%] -beancount/parser/grammar_test.py::TestSyntaxErrors::test_lexer_default_rule_1 PASSED [ 79%] -beancount/parser/grammar_test.py::TestSyntaxErrors::test_lexer_default_rule_2 PASSED [ 79%] -beancount/parser/grammar_test.py::TestSyntaxErrors::test_no_final_newline PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserOptions::test_invalid_option PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserOptions::test_option_list_value PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserOptions::test_option_single_value PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserOptions::test_readonly_option PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserInclude::test_include_absolute PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserInclude::test_include_relative PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserInclude::test_include_relative_from_string PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserInclude::test_parse_nonexist PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserPlugin::test_plugin PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserPlugin::test_plugin_as_option PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserPlugin::test_plugin_with_config PASSED [ 80%] -beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_no PASSED [ 80%] -beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_yes PASSED [ 80%] -beancount/parser/grammar_test.py::TestDisplayContextOptions::test_render_commas_yes2 PASSED [ 80%] -beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__default PASSED [ 80%] -beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__invalid PASSED [ 80%] -beancount/parser/grammar_test.py::TestMiscOptions::test_plugin_processing_mode__raw PASSED [ 80%] -beancount/parser/grammar_test.py::TestToleranceOptions::test_inferred_tolerance_default PASSED [ 80%] -beancount/parser/grammar_test.py::TestToleranceOptions::test_tolerance_defaults PASSED [ 80%] -beancount/parser/grammar_test.py::TestDeprecatedOptions::test_deprecated_option PASSED [ 80%] -beancount/parser/grammar_test.py::TestDeprecatedOptions::test_deprecated_plugin PASSED [ 80%] -beancount/parser/grammar_test.py::TestParserLinks::test_links PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_blank_line_not_allowed PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_blank_line_with_spaces_not_allowed PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_empty_narration PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_imbalance PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_link_and_then_tag PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_no_narration PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_no_postings PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_payee_no_narration PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_simple_1 PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_simple_2 PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_tag_then_link PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_tags_after_first_line PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_tags_after_first_posting PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_too_many_strings PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_zero_costs PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_zero_prices PASSED [ 81%] -beancount/parser/grammar_test.py::TestTransactions::test_zero_units PASSED [ 81%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_amount PASSED [ 81%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_both_costs PASSED [ 81%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_date PASSED [ 81%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_empty PASSED [ 81%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_label PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_merge PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_none PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_date PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_label PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_repeated_merge PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_three_components PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_total_cost_only PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_total_empty_total PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_total_just_currency PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_two_components PASSED [ 82%] -beancount/parser/grammar_test.py::TestParseLots::test_cost_with_slashes PASSED [ 82%] -beancount/parser/grammar_test.py::TestCurrencies::test_different_cost_and_price_currency PASSED [ 82%] -beancount/parser/grammar_test.py::TestCurrencies::test_parse_currencies PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_cost_negative PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_price_negative PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost__invalid PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_cost_negative PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_inverted PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_negative PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_positive PASSED [ 82%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_total_price_with_missing PASSED [ 83%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_zero_amount PASSED [ 83%] -beancount/parser/grammar_test.py::TestTotalsAndSigns::test_zero_cost PASSED [ 83%] -beancount/parser/grammar_test.py::TestBalance::test_total_cost PASSED [ 83%] -beancount/parser/grammar_test.py::TestBalance::test_total_price PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_data_types PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_empty PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_key_syntax PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_other PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__begin PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__end PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__indented PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__many PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__middle PASSED [ 83%] -beancount/parser/grammar_test.py::TestMetaData::test_metadata_transaction__repeated PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__add PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__different_places PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__divide PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__groups PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__multiply PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__negative PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__positive PASSED [ 83%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__precedence PASSED [ 84%] -beancount/parser/grammar_test.py::TestArithmetic::test_number_expr__subtract PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__amount PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__balance PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__close PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__commodity PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__compound_amount PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__document PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__event PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__include PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__key_value PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__lot_cost_date PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__note PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__open PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__option PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__pad PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__plugin PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__poptag PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__posting PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__price PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__pushtag PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_LINK PASSED [ 84%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_PIPE PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_TAG PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__tag_link_new PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_exceptions__transaction PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__multiple PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__recovery PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_grammar_syntax_error__recovery2 PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_errors_in_postings PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_exception PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_exception__recovery PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_invalid_token PASSED [ 85%] -beancount/parser/grammar_test.py::TestLexerAndParserErrors::test_lexer_invalid_token__recovery PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average_missing_basis PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_average_with_other PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_empty PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_empty_with_other PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_full PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_basis PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_currency PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_number_per PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_number_total PASSED [ 85%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_missing_numbers PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_cost_no_number_total PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing_currency PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_missing_number PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_price_none PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_full PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency_with_cost PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_currency_with_price PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number_with_cost PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_number_with_price PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_with_cost PASSED [ 86%] -beancount/parser/grammar_test.py::TestIncompleteInputs::test_units_missing_with_price PASSED [ 86%] -beancount/parser/grammar_test.py::TestMisc::test_comment_in_postings PASSED [ 86%] -beancount/parser/grammar_test.py::TestMisc::test_comment_in_postings_invalid PASSED [ 86%] -beancount/parser/grammar_test.py::TestDocument::test_document_links PASSED [ 86%] -beancount/parser/grammar_test.py::TestDocument::test_document_no_tags_links PASSED [ 86%] -beancount/parser/grammar_test.py::TestDocument::test_document_tags PASSED [ 86%] -beancount/parser/grammar_test.py::TestMethodsSignature::test_signatures PASSED [ 86%] -beancount/parser/hashsrc_test.py::TestHashSource::test_check_parser_source_files PASSED [ 87%] -beancount/parser/hashsrc_test.py::TestHashSource::test_hash_parser_source_files PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_account_names_with_dash PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_account_names_with_numbers PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_bad_date PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_comma_currencies PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_currency_dash PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_currency_number PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_date_followed_by_number PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_invalid_directive PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_lex_indent PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_lex_iter PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_lex_unicode_account PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_no_final_newline PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_null_true_false PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_number_dots PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_number_no_integer PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_number_okay PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_number_space PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_popmeta PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_single_letter_account PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_string_escaped PASSED [ 87%] -beancount/parser/lexer_test.py::TestLexer::test_string_newline PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexer::test_string_newline_long PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexer::test_string_newline_toolong PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexer::test_very_long_string PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__indented_comment PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__long_comment PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__org_mode_drawer PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__org_mode_title PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__something_else PASSED [ 88%] -beancount/parser/lexer_test.py::TestIgnoredLines::test_ignored__something_else_non_flag PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception_DATE PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception__recovery PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_exception_substring_with_quotes PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerErrors::test_lexer_invalid_token PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_latin1_invalid PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_utf16_invalid PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerUnicode::test_bytes_encoded_utf8 PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerMisc::test_invalid_commas_in_fractional PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerMisc::test_invalid_commas_in_integral PASSED [ 88%] -beancount/parser/lexer_test.py::TestLexerMisc::test_valid_commas_in_number PASSED [ 88%] -beancount/parser/options_test.py::TestOptions::test_get_account_types PASSED [ 88%] -beancount/parser/options_test.py::TestOptions::test_get_current_accounts PASSED [ 88%] -beancount/parser/options_test.py::TestOptions::test_get_previous_accounts PASSED [ 89%] -beancount/parser/options_test.py::TestOptions::test_list_options PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__basic_fail PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__fail_invalid_order PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__fail_invalid_other PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__invalid_leaf PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__invalid_root PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__success PASSED [ 89%] -beancount/parser/options_test.py::TestAccountTypeOptions::test_custom_account_names__success_reset PASSED [ 89%] -beancount/parser/options_test.py::TestValidateOptions::test_validate__plugin_processing_mode__invalid PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision__invalid_format PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_display_precision__invalid_value PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_no PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_yes PASSED [ 89%] -beancount/parser/options_test.py::TestDisplayContextOptions::test_render_commas_yes2 PASSED [ 89%] -beancount/parser/options_test.py::TestToleranceOptions::test_inferred_tolerance_default PASSED [ 89%] -beancount/parser/options_test.py::TestToleranceOptions::test_tolerance_defaults PASSED [ 89%] -beancount/parser/options_test.py::TestDeprecatedOptions::test_deprecated_option PASSED [ 89%] -beancount/parser/options_test.py::TestDeprecatedOptions::test_deprecated_plugin PASSED [ 89%] -beancount/parser/parser_test.py::TestCompareTestFunctions::test_is_entry_incomplete PASSED [ 89%] -beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__disabled PASSED [ 89%] -beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__errors XFAIL [ 89%] -beancount/parser/parser_test.py::TestParserDoc::test_parse_doc__noerrors XFAIL [ 90%] -beancount/parser/parser_test.py::TestParserInputs::test_parse_None PASSED [ 90%] -beancount/parser/parser_test.py::TestParserInputs::test_parse_file PASSED [ 90%] -beancount/parser/parser_test.py::TestParserInputs::test_parse_filename PASSED [ 90%] -beancount/parser/parser_test.py::TestParserInputs::test_parse_stdin PASSED [ 90%] -beancount/parser/parser_test.py::TestParserInputs::test_parse_string PASSED [ 90%] -beancount/parser/parser_test.py::TestUnicodeErrors::test_bytes_encoded_incorrect PASSED [ 90%] -beancount/parser/parser_test.py::TestUnicodeErrors::test_bytes_encoded_utf8 PASSED [ 90%] -beancount/parser/parser_test.py::TestTestUtils::test_parse_many PASSED [ 90%] -beancount/parser/parser_test.py::TestTestUtils::test_parse_one PASSED [ 90%] -beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex PASSED [ 90%] -beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex_filename PASSED [ 90%] -beancount/parser/parser_test.py::TestReferenceCounting::test_parser_lex_multi PASSED [ 90%] -beancount/parser/parser_test.py::TestReferenceCounting::test_parser_parse PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_lex PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_lex_lineno PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_parse PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_parse_doc PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_parse_lineno PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_parse_string PASSED [ 90%] -beancount/parser/parser_test.py::TestLineno::test_parse_string_lineno PASSED [ 90%] -beancount/parser/printer_test.py::TestPrinter::test_format_and_print_error PASSED [ 90%] -beancount/parser/printer_test.py::TestPrinter::test_methods_coverage PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinter::test_render_source PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Balance PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_BalanceTolerance PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Close PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Document PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Event PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Note PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Open PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Pad PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Price PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Query PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_Transaction PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_metadata PASSED [ 91%] -beancount/parser/printer_test.py::TestEntryPrinter::test_write_source PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterSpacing::test_interline_spacing PASSED [ 91%] -beancount/parser/printer_test.py::TestDisplayContext::test_precision PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterAlignment::test_align PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterAlignment::test_align_min_width_account PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterAlignment::test_align_position_strings PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterAlignment::test_align_with_weight PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterMisc::test_metadata PASSED [ 91%] -beancount/parser/printer_test.py::TestPrinterMisc::test_no_valid_account PASSED [ 92%] -beancount/parser/printer_test.py::TestPrinterMisc::test_render_meta_with_None PASSED [ 92%] -beancount/parser/printer_test.py::TestPrinterMisc::test_render_missing PASSED [ 92%] -beancount/parser/printer_test.py::TestPrinterMisc::test_very_small_number PASSED [ 92%] -beancount/parser/printer_test.py::TestPrinterMisc::test_zero_cost PASSED [ 92%] -beancount/parser/version_test.py::TestVersion::test_compute_version_string PASSED [ 92%] -beancount/parser/version_test.py::TestVersion::test_version_exists PASSED [ 92%] -beancount/plugins/auto_accounts_test.py::TestAutoInsertOpen::test_auto_open PASSED [ 92%] -beancount/plugins/auto_test.py::TestAuto::test_plugins_auto PASSED [ 92%] -beancount/plugins/check_average_cost_test.py::TestMatchAverageCost::test_match_average_cost PASSED [ 92%] -beancount/plugins/check_closing_test.py::TestCheckClosing::test_check_closing PASSED [ 92%] -beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_ignore PASSED [ 92%] -beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_okay PASSED [ 92%] -beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_transaction PASSED [ 92%] -beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_check_commodity_used_in_balance_only PASSED [ 92%] -beancount/plugins/check_commodity_test.py::TestCheckCommodity::test_get_commodity_map_ex PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__absence PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__declared_currencies PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__error PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__not_balance_sheet PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__same_day PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__seen_currencies PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__skip_preexisting PASSED [ 92%] -beancount/plugins/check_drained_test.py::TestCheckCloseEmpty::test_check_drained__with_cost_basis PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_auto_accounts_parent_close PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_basic PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_close_unopened_parent PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_empty_entries PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_leave_others_untouched PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_match PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_override PASSED [ 93%] -beancount/plugins/close_tree_test.py::TestCloseTree::test_override_complex PASSED [ 93%] -beancount/plugins/coherent_cost_test.py::TestValidateUnusedAccounts::test_validate_unused_accounts PASSED [ 93%] -beancount/plugins/commodity_attr_test.py::TestCommodityAttr::test_commodity_attr PASSED [ 93%] -beancount/plugins/commodity_attr_test.py::TestCommodityAttr::test_commodity_attr_existence_only PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_currency_conversion PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_custom_base_account PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_residual_not_conversion PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_selection PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_two_groups_already_balanced PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_with_costs_and_price PASSED [ 93%] -beancount/plugins/currency_accounts_test.py::TestCurrencyTradingAccounts::test_with_costs_ignored PASSED [ 93%] -beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__all_cases PASSED [ 93%] -beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_on_different_transactions PASSED [ 93%] -beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_on_same_transaction PASSED [ 93%] -beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__duplicates_overloaded PASSED [ 94%] -beancount/plugins/implicit_prices_test.py::TestImplicitPrices::test_add_implicit_prices__other_account PASSED [ 94%] -beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only1 PASSED [ 94%] -beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only2 PASSED [ 94%] -beancount/plugins/leafonly_test.py::TestLeafOnly::test_leaf_only3 PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__balance PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__close PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__document PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__event PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__note PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__open PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__pad PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__price PASSED [ 94%] -beancount/plugins/noduplicates_test.py::TestValidateDuplicates::test_validate_no_duplicates__transaction PASSED [ 94%] -beancount/plugins/nounused_test.py::TestValidateUnusedAccounts::test_validate_unused_accounts PASSED [ 94%] -beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_balance PASSED [ 94%] -beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_regexp_config PASSED [ 94%] -beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_skip_declared PASSED [ 94%] -beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_skip_metadata PASSED [ 94%] -beancount/plugins/onecommodity_test.py::TestOneCommodity::test_one_commodity_transaction PASSED [ 94%] -beancount/plugins/pedantic_test.py::TestPedantic::test_plugins_pedantic PASSED [ 94%] -beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_fail_balance PASSED [ 94%] -beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_fail_imbalance PASSED [ 95%] -beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_other_currency PASSED [ 95%] -beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_success PASSED [ 95%] -beancount/plugins/sellgains_test.py::TestSellGains::test_sellgains_zero_price PASSED [ 95%] -beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__different PASSED [ 95%] -beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__from_costs PASSED [ 95%] -beancount/plugins/unique_prices_test.py::TestValidateAmbiguousPrices::test_validate_unique_prices__same PASSED [ 95%] -beancount/scripts/check_examples_test.py::TestCheckExamples::test_example_files PASSED [ 95%] -beancount/scripts/check_test.py::TestScriptCheck::test_auto_plugins PASSED [ 95%] -beancount/scripts/check_test.py::TestScriptCheck::test_fail PASSED [ 95%] -beancount/scripts/check_test.py::TestScriptCheck::test_success PASSED [ 95%] -beancount/scripts/deps_test.py::TestCheckDeps::test_check_dependencies PASSED [ 95%] -beancount/scripts/directories_test.py::TestScriptCheckDirectories::test_validation PASSED [ 95%] -beancount/scripts/directories_test.py::TestScriptCheckDirectories::test_validation_no_parent PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_lexer PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_lexer_empty PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptDoctor::test_dump_roundtrip PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptDoctor::test_list_options PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_invocation PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_validation PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptCheckDirectories::test_validation_no_parent PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptMissingOpen::test_missing_open PASSED [ 95%] -beancount/scripts/doctor_test.py::TestScriptDisplayContext::test_display_context PASSED [ 96%] -beancount/scripts/doctor_test.py::TestContext::test_context PASSED [ 96%] -beancount/scripts/doctor_test.py::TestContext::test_context_multiple_files PASSED [ 96%] -beancount/scripts/doctor_test.py::TestLinked::test_linked_explicit_link PASSED [ 96%] -beancount/scripts/doctor_test.py::TestLinked::test_linked_lineno_only PASSED [ 96%] -beancount/scripts/doctor_test.py::TestLinked::test_linked_multiple_files PASSED [ 96%] -beancount/scripts/doctor_test.py::TestRegion::test_region PASSED [ 96%] -beancount/scripts/example_test.py::TestScriptExample::test_generate PASSED [ 96%] -beancount/scripts/example_test.py::TestScriptExample::test_generate_with_date PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_align_posting_starts PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_arithmetic_expressions SKIPPED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_commas PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_currency_issue146 PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_fixed_column PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_fixed_width PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_metadata_issue400 PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_open_only_issue80 PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_parenthesized_binary_expressions PASSED [ 96%] -beancount/scripts/format_test.py::TestScriptFormat::test_success PASSED [ 96%] -beancount/tools/treeify_test.py::TestTreeify::test_consecutive PASSED [ 96%] -beancount/tools/treeify_test.py::TestTreeify::test_empty_string PASSED [ 96%] -beancount/tools/treeify_test.py::TestTreeify::test_filenames PASSED [ 96%] -beancount/tools/treeify_test.py::TestTreeify::test_filenames_tree PASSED [ 96%] -beancount/tools/treeify_test.py::TestTreeify::test_flush_left PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_flush_right PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_no_columns PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_noise_after PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_noise_before PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_between_nodes PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_parent_child PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_noise_middle_same_node PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_overlapping_column PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_parents PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_simple PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_two_columns PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_unsorted PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_whitespace PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_width_narrower PASSED [ 97%] -beancount/tools/treeify_test.py::TestTreeify::test_width_wider PASSED [ 97%] -beancount/utils/bisect_key_test.py::TestBisectWithKey::test_bisect_left_with_key PASSED [ 97%] -beancount/utils/bisect_key_test.py::TestBisectWithKey::test_bisect_repeats PASSED [ 97%] -beancount/utils/defdict_test.py::TestImmutableDictWithDefault::test_dict_with_default PASSED [ 97%] -beancount/utils/defdict_test.py::TestImmutableDictWithDefault::test_pickle_defdict PASSED [ 97%] -beancount/utils/encryption_test.py::TestEncryptedFiles::test_read_encrypted_file PASSED [ 97%] -beancount/utils/encryption_test.py::TestEncryptedFilesCheck::test_is_encrypted_file PASSED [ 97%] -beancount/utils/encryption_test.py::TestLoadIncludesEncrypted::test_include_encrypted PASSED [ 98%] -beancount/utils/file_utils_test.py::TestFileUtilsFind::test_find_files PASSED [ 98%] -beancount/utils/file_utils_test.py::TestMiscFileUtils::test_guess_file_format PASSED [ 98%] -beancount/utils/file_utils_test.py::TestMiscFileUtils::test_path_greedy_split PASSED [ 98%] -beancount/utils/import_utils_test.py::TestImportSymbol::test_import_symbol PASSED [ 98%] -beancount/utils/invariants_test.py::TestInvariants::test_invariants_on_dummy PASSED [ 98%] -beancount/utils/memo_test.py::TestMemoization::test_memoization_expired PASSED [ 98%] -beancount/utils/memo_test.py::TestMemoization::test_memoization_success PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_escape_string PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_filter_type PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_get_screen_height PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_get_screen_width PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_groupby PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_is_sorted PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_log_time PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_no_curses PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestMiscUtils::test_skipiter PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestUniquify::test_sorted_uniquify_first PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestUniquify::test_sorted_uniquify_last PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestUniquify::test_uniquify_first PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestUniquify::test_uniquify_last PASSED [ 98%] -beancount/utils/misc_utils_test.py::TestLineFileProxy::test_line_file_proxy PASSED [ 98%] -beancount/utils/pager_test.py::TestPager::test_pager_nothreshold PASSED [ 99%] -beancount/utils/pager_test.py::TestPager::test_pager_threshold_above PASSED [ 99%] -beancount/utils/pager_test.py::TestPager::test_pager_threshold_below PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_attribute_to_title PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_compute_table_widths PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_create_table PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_create_table_with_index PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_generate_table PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_table_to_csv PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_table_to_html PASSED [ 99%] -beancount/utils/table_test.py::TestTable::test_table_to_text PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_capture PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_create_temporary_files PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_docfile PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_docfile_extra PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_environ_contextmanager PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_search_words PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestUtils::test_tempdir PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestCase::test_assertLines PASSED [ 99%] -beancount/utils/test_utils_test.py::TestTestCase::test_assertOutput PASSED [ 99%] -beancount/utils/test_utils_test.py::TestSkipIfRaises::test_contextmanager PASSED [ 99%] -beancount/utils/test_utils_test.py::TestSkipIfRaises::test_decorator PASSED [ 99%] -beancount/utils/test_utils_test.py::TestSkipIfRaises::test_decorator_many PASSED [100%] - -========== 2182 passed, 42 skipped, 2 deselected, 4 xfailed in 22.44s ========== -I: pybuild pybuild:334: :; +dh: command-omitted: The call to "dh_auto_test -O--buildsystem=pybuild" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild @@ -3563,8 +1358,8 @@ dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'beancount' in '../beancount_3.2.0-1_all.deb'. -dpkg-deb: building package 'python3-beancount' in '../python3-beancount_3.2.0-1_amd64.deb'. dpkg-deb: building package 'python3-beancount-dbgsym' in '../python3-beancount-dbgsym_3.2.0-1_amd64.deb'. +dpkg-deb: building package 'python3-beancount' in '../python3-beancount_3.2.0-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../beancount_3.2.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../beancount_3.2.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -3572,12 +1367,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2057833/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2057833/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/600223 and its subdirectories -I: Current time: Mon Jan 4 01:45:41 -12 2027 -I: pbuilder-time-stamp: 1799070341 +I: removing directory /srv/workspace/pbuilder/2057833 and its subdirectories +I: Current time: Tue Dec 2 21:31:12 +14 2025 +I: pbuilder-time-stamp: 1764660672