Diff of the two buildlogs: -- --- b1/build.log 2025-11-27 18:58:16.972242798 +0000 +++ b2/build.log 2025-11-27 18:59:41.780335953 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Dec 30 13:19:46 -12 2026 -I: pbuilder-time-stamp: 1798679986 +I: Current time: Fri Nov 28 08:58:18 +14 2025 +I: pbuilder-time-stamp: 1764269898 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-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/2009097/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/148691/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 27 18:58 /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/148691/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/148691/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + 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]="aarch64-unknown-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=arm64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='d979ca89ece0439a8236d18872577285' - 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='2009097' - PS1='# ' - PS2='> ' + INVOCATION_ID=a2ee8283a79a4f7e80c51c0df8390042 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=148691 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.BZRoJOhT/pbuilderrc_BCvy --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.BZRoJOhT/b1 --logfile b1/build.log beancount_3.2.0-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.BZRoJOhT/pbuilderrc_Z6lw --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.BZRoJOhT/b2 --logfile b2/build.log beancount_3.2.0-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2009097/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/148691/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 unstable/main arm64 python3-pygments all 2.18.0+dfsg-2 [836 kB] Get: 165 http://deb.debian.org/debian unstable/main arm64 python3-pytest all 8.4.2-1 [266 kB] Get: 166 http://deb.debian.org/debian unstable/main arm64 python3-regex arm64 0.1.20250918-1 [264 kB] -Fetched 54.5 MB in 0s (141 MB/s) +Fetched 54.5 MB in 0s (190 MB/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 ... 19968 files and directories currently installed.) @@ -860,8 +892,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Dec 31 01:20:11 UTC 2026. -Universal Time is now: Thu Dec 31 01:20:11 UTC 2026. +Local time is now: Thu Nov 27 18:58:44 UTC 2025. +Universal Time is now: Thu Nov 27 18:58:44 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/148691/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/148691/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:311: 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/aarch64-linux-gnu * Building wheel... -+ meson setup /build/reproducible-path/beancount-3.2.0 /build/reproducible-path/beancount-3.2.0/.mesonpy-1xom0sgi -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/aarch64-linux-gnu --native-file=/build/reproducible-path/beancount-3.2.0/.mesonpy-1xom0sgi/meson-python-native-file.ini ++ meson setup /build/reproducible-path/beancount-3.2.0 /build/reproducible-path/beancount-3.2.0/.mesonpy-anlbkrvf -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --wrap-mode=nodownload --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/aarch64-linux-gnu --native-file=/build/reproducible-path/beancount-3.2.0/.mesonpy-anlbkrvf/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-1xom0sgi +Build dir: /build/reproducible-path/beancount-3.2.0/.mesonpy-anlbkrvf 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-1xom0sgi/meson-python-native-file.ini + Native files : /build/reproducible-path/beancount-3.2.0/.mesonpy-anlbkrvf/meson-python-native-file.ini b_ndebug : if-release b_vscrt : md buildtype : release @@ -1093,7 +1129,7 @@ [8/8] cc -o _parser.cpython-313-aarch64-linux-gnu.so _parser.cpython-313-aarch64-linux-gnu.so.p/meson-generated_beancount_parser_lexer.c.o _parser.cpython-313-aarch64-linux-gnu.so.p/meson-generated_beancount_parser_grammar.c.o _parser.cpython-313-aarch64-linux-gnu.so.p/beancount_parser_decimal.c.o _parser.cpython-313-aarch64-linux-gnu.so.p/beancount_parser_parser.c.o _parser.cpython-313-aarch64-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 -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. -[1/172] /build/reproducible-path/beancount-3.2.0/.mesonpy-1xom0sgi/_parser.cpython-313-aarch64-linux-gnu.so +[1/172] /build/reproducible-path/beancount-3.2.0/.mesonpy-anlbkrvf/_parser.cpython-313-aarch64-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 @@ -1286,2248 +1322,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:311: 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 12.30s ========== -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 @@ -3568,9 +1363,9 @@ dh_gencontrol -O--buildsystem=pybuild dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild +dpkg-deb: building package 'python3-beancount-dbgsym' in '../python3-beancount-dbgsym_3.2.0-1_arm64.deb'. 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_arm64.deb'. -dpkg-deb: building package 'python3-beancount-dbgsym' in '../python3-beancount-dbgsym_3.2.0-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../beancount_3.2.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../beancount_3.2.0-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -3578,12 +1373,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/148691/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/148691/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/2009097 and its subdirectories -I: Current time: Wed Dec 30 13:21:15 -12 2026 -I: pbuilder-time-stamp: 1798680075 +I: removing directory /srv/workspace/pbuilder/148691 and its subdirectories +I: Current time: Fri Nov 28 08:59:40 +14 2025 +I: pbuilder-time-stamp: 1764269980