0s autopkgtest [22:36:50]: starting date and time: 2026-02-08 22:36:50+0000 0s autopkgtest [22:36:50]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [22:36:50]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.m8tc9oal/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:exchange-calendars --apt-upgrade exchange-calendars --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=exchange-calendars/4.13.1-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-s390x-21.secgroup --name adt-resolute-s390x-exchange-calendars-20260208-223650-juju-7f2275-prod-proposed-migration-environment-2-7d36563f-e45f-484a-ae81-2740b6d48b73 --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-s390x-exchange-calendars-20260208-223650-juju-7f2275-prod-proposed-migration-environment-2-7d36563f-e45f-484a-ae81-2740b6d48b73 from image adt/ubuntu-resolute-s390x-server-20260208.img (UUID bf8d2066-816d-4293-b7d1-06f39d3d29cb)... 157s autopkgtest [22:39:27]: testbed dpkg architecture: s390x 157s autopkgtest [22:39:27]: testbed apt version: 3.1.15 158s autopkgtest [22:39:28]: @@@@@@@@@@@@@@@@@@@@ test bed setup 159s autopkgtest [22:39:29]: testbed release detected to be: None 161s autopkgtest [22:39:31]: updating testbed package index (apt update) 162s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 163s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 163s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 163s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 163s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [162 kB] 163s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1574 kB] 163s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [30.0 kB] 163s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [239 kB] 163s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [1401 kB] 163s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [7992 B] 166s Fetched 3537 kB in 4s (828 kB/s) 173s Reading package lists... 175s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 175s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 175s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 175s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 182s Reading package lists... 182s Reading package lists... 184s Building dependency tree... 184s Reading state information... 185s Calculating upgrade... 186s The following packages will be upgraded: 186s dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common 186s dbus-user-session ethtool libbsd0 libdbus-1-3 libgdbm-compat4t64 libgdbm6t64 186s libidn2-0 libjansson4 libnetfilter-conntrack3 libusb-1.0-0 libwrap0 libxau6 186s libxkbcommon0 shared-mime-info ubuntu-kernel-accessories ubuntu-standard 186s 21 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 186s Need to get 1805 kB of archives. 186s After this operation, 2317 kB disk space will be freed. 186s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libbsd0 s390x 0.12.2-2build2 [47.0 kB] 186s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dbus-system-bus-common all 1.16.2-2ubuntu3 [55.8 kB] 186s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x dbus-session-bus-common all 1.16.2-2ubuntu3 [54.4 kB] 186s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x dbus-user-session s390x 1.16.2-2ubuntu3 [9696 B] 186s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x dbus-daemon s390x 1.16.2-2ubuntu3 [116 kB] 186s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x dbus-bin s390x 1.16.2-2ubuntu3 [41.6 kB] 186s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x dbus s390x 1.16.2-2ubuntu3 [24.1 kB] 186s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libdbus-1-3 s390x 1.16.2-2ubuntu3 [185 kB] 186s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x ethtool s390x 1:6.15-3build1 [303 kB] 186s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libidn2-0 s390x 2.3.8-4build1 [67.9 kB] 186s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x shared-mime-info s390x 2.4-5build3 [473 kB] 187s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x libgdbm6t64 s390x 1.26-1build1 [37.7 kB] 187s Get:13 http://ftpmaster.internal/ubuntu resolute/main s390x libjansson4 s390x 2.14-2build4 [33.0 kB] 187s Get:14 http://ftpmaster.internal/ubuntu resolute/main s390x libnetfilter-conntrack3 s390x 1.1.1-1 [46.7 kB] 187s Get:15 http://ftpmaster.internal/ubuntu resolute/main s390x libusb-1.0-0 s390x 2:1.0.29-2build1 [54.6 kB] 187s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxau6 s390x 1:1.0.11-1build2 [7410 B] 187s Get:17 http://ftpmaster.internal/ubuntu resolute/main s390x libxkbcommon0 s390x 1.13.1-1 [165 kB] 187s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x ubuntu-standard s390x 1.564 [13.3 kB] 187s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x libgdbm-compat4t64 s390x 1.26-1build1 [6972 B] 187s Get:20 http://ftpmaster.internal/ubuntu resolute/main s390x libwrap0 s390x 7.6.q-36build2 [48.5 kB] 187s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x ubuntu-kernel-accessories s390x 1.564 [13.1 kB] 191s dpkg-preconfigure: unable to re-open stdin: No such file or directory 191s Fetched 1805 kB in 1s (1906 kB/s) 195s (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 ... 88711 files and directories currently installed.) 195s Preparing to unpack .../00-libbsd0_0.12.2-2build2_s390x.deb ... 195s Unpacking libbsd0:s390x (0.12.2-2build2) over (0.12.2-2build1) ... 195s Preparing to unpack .../01-dbus-system-bus-common_1.16.2-2ubuntu3_all.deb ... 196s Unpacking dbus-system-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 197s Preparing to unpack .../02-dbus-session-bus-common_1.16.2-2ubuntu3_all.deb ... 198s Unpacking dbus-session-bus-common (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 199s Preparing to unpack .../03-dbus-user-session_1.16.2-2ubuntu3_s390x.deb ... 199s Unpacking dbus-user-session (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 200s Preparing to unpack .../04-dbus-daemon_1.16.2-2ubuntu3_s390x.deb ... 200s Unpacking dbus-daemon (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 200s Preparing to unpack .../05-dbus-bin_1.16.2-2ubuntu3_s390x.deb ... 200s Unpacking dbus-bin (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 201s Preparing to unpack .../06-dbus_1.16.2-2ubuntu3_s390x.deb ... 201s Unpacking dbus (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 201s Preparing to unpack .../07-libdbus-1-3_1.16.2-2ubuntu3_s390x.deb ... 202s Unpacking libdbus-1-3:s390x (1.16.2-2ubuntu3) over (1.16.2-2ubuntu2) ... 202s Preparing to unpack .../08-ethtool_1%3a6.15-3build1_s390x.deb ... 202s Unpacking ethtool (1:6.15-3build1) over (1:6.15-3) ... 205s Preparing to unpack .../09-libidn2-0_2.3.8-4build1_s390x.deb ... 206s Unpacking libidn2-0:s390x (2.3.8-4build1) over (2.3.8-4) ... 208s Preparing to unpack .../10-shared-mime-info_2.4-5build3_s390x.deb ... 208s Unpacking shared-mime-info (2.4-5build3) over (2.4-5build2) ... 208s Preparing to unpack .../11-libgdbm6t64_1.26-1build1_s390x.deb ... 209s Unpacking libgdbm6t64:s390x (1.26-1build1) over (1.26-1) ... 209s Preparing to unpack .../12-libjansson4_2.14-2build4_s390x.deb ... 209s Unpacking libjansson4:s390x (2.14-2build4) over (2.14-2build3) ... 210s Preparing to unpack .../13-libnetfilter-conntrack3_1.1.1-1_s390x.deb ... 211s Unpacking libnetfilter-conntrack3:s390x (1.1.1-1) over (1.1.0-1build1) ... 213s Preparing to unpack .../14-libusb-1.0-0_2%3a1.0.29-2build1_s390x.deb ... 213s Unpacking libusb-1.0-0:s390x (2:1.0.29-2build1) over (2:1.0.29-2) ... 216s Preparing to unpack .../15-libxau6_1%3a1.0.11-1build2_s390x.deb ... 217s Unpacking libxau6:s390x (1:1.0.11-1build2) over (1:1.0.11-1build1) ... 218s Preparing to unpack .../16-libxkbcommon0_1.13.1-1_s390x.deb ... 219s Unpacking libxkbcommon0:s390x (1.13.1-1) over (1.12.3-1) ... 220s Preparing to unpack .../17-ubuntu-standard_1.564_s390x.deb ... 220s Unpacking ubuntu-standard (1.564) over (1.563) ... 220s Preparing to unpack .../18-libgdbm-compat4t64_1.26-1build1_s390x.deb ... 220s Unpacking libgdbm-compat4t64:s390x (1.26-1build1) over (1.26-1) ... 221s Preparing to unpack .../19-libwrap0_7.6.q-36build2_s390x.deb ... 221s Unpacking libwrap0:s390x (7.6.q-36build2) over (7.6.q-36build1) ... 223s Preparing to unpack .../20-ubuntu-kernel-accessories_1.564_s390x.deb ... 223s Unpacking ubuntu-kernel-accessories (1.564) over (1.563) ... 224s Setting up libxau6:s390x (1:1.0.11-1build2) ... 225s Setting up ubuntu-kernel-accessories (1.564) ... 226s Setting up libgdbm6t64:s390x (1.26-1build1) ... 226s Setting up libgdbm-compat4t64:s390x (1.26-1build1) ... 226s Setting up libidn2-0:s390x (2.3.8-4build1) ... 226s Setting up ubuntu-standard (1.564) ... 227s Setting up libjansson4:s390x (2.14-2build4) ... 227s Setting up libwrap0:s390x (7.6.q-36build2) ... 227s Setting up libdbus-1-3:s390x (1.16.2-2ubuntu3) ... 227s Setting up shared-mime-info (2.4-5build3) ... 305s Setting up libnetfilter-conntrack3:s390x (1.1.1-1) ... 306s Setting up dbus-session-bus-common (1.16.2-2ubuntu3) ... 307s Setting up libusb-1.0-0:s390x (2:1.0.29-2build1) ... 307s Setting up dbus-system-bus-common (1.16.2-2ubuntu3) ... 307s Setting up libbsd0:s390x (0.12.2-2build2) ... 307s Setting up dbus-bin (1.16.2-2ubuntu3) ... 308s Setting up ethtool (1:6.15-3build1) ... 309s Setting up libxkbcommon0:s390x (1.13.1-1) ... 310s Setting up dbus-daemon (1.16.2-2ubuntu3) ... 311s Setting up dbus-user-session (1.16.2-2ubuntu3) ... 312s Setting up dbus (1.16.2-2ubuntu3) ... 314s A reboot is required to replace the running dbus-daemon. 314s Please reboot the system when convenient. 316s Processing triggers for man-db (2.13.1-1build1) ... 371s Processing triggers for libc-bin (2.42-2ubuntu4) ... 373s autopkgtest [22:43:03]: upgrading testbed (apt dist-upgrade and autopurge) 374s Reading package lists... 375s Building dependency tree... 375s Reading state information... 376s Calculating upgrade... 377s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 378s Reading package lists... 380s Building dependency tree... 380s Reading state information... 381s Solving dependencies... 382s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 383s autopkgtest [22:43:13]: rebooting testbed after setup commands that affected boot 490s autopkgtest [22:45:00]: testbed running kernel: Linux 6.19.0-3-generic #3-Ubuntu SMP Fri Jan 23 19:02:49 UTC 2026 497s autopkgtest [22:45:07]: @@@@@@@@@@@@@@@@@@@@ apt-source exchange-calendars 504s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (dsc) [2395 B] 504s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (tar) [4083 kB] 504s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/universe exchange-calendars 4.13.1-1 (diff) [3556 B] 509s gpgv: Signature made Sun Feb 8 12:26:48 2026 UTC 509s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 509s gpgv: Can't check signature: No public key 509s dpkg-source: warning: cannot verify inline signature for ./exchange-calendars_4.13.1-1.dsc: no acceptable signature found 509s autopkgtest [22:45:19]: testing package exchange-calendars version 4.13.1-1 510s autopkgtest [22:45:20]: build not needed 516s autopkgtest [22:45:26]: test pybuild-autopkgtest: preparing testbed 517s Reading package lists... 518s Building dependency tree... 518s Reading state information... 519s Solving dependencies... 521s The following NEW packages will be installed: 521s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 521s cpp-15-s390x-linux-gnu cpp-s390x-linux-gnu debhelper debugedit dh-autoreconf 521s dh-python dh-strip-nondeterminism dwz g++ g++-15 g++-15-s390x-linux-gnu 521s g++-s390x-linux-gnu gcc gcc-15 gcc-15-s390x-linux-gnu gcc-s390x-linux-gnu 521s gettext intltool-debian libarchive-zip-perl libasan8 libblas3 libc-dev-bin 521s libc6-dev libcc1-0 libcrypt-dev libdebhelper-perl 521s libfile-stripnondeterminism-perl libgcc-15-dev libgfortran5 libgomp1 521s libisl23 libitm1 liblapack3 liblsan0 libmpc3 libstdc++-15-dev libtool 521s libtsan2 libubsan1 linux-libc-dev m4 po-debconf pybuild-plugin-autopkgtest 521s pybuild-plugin-pyproject python3-all python3-build 521s python3-exchange-calendars python3-hypothesis python3-iniconfig 521s python3-installer python3-korean-lunar-calendar python3-numpy 521s python3-numpy-dev python3-pandas python3-pandas-lib python3-pluggy 521s python3-pyluach python3-pyproject-hooks python3-pytest python3-pytz 521s python3-sortedcontainers python3-toolz python3-wheel python3.14 521s python3.14-minimal rpcsvc-proto 521s 0 upgraded, 73 newly installed, 0 to remove and 0 not upgraded. 521s Need to get 88.3 MB of archives. 521s After this operation, 334 MB of additional disk space will be used. 521s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x python3-numpy-dev s390x 1:2.3.5+ds-3 [146 kB] 521s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libblas3 s390x 3.12.1-7ubuntu1 [255 kB] 522s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgfortran5 s390x 15.2.0-12ubuntu1 [629 kB] 522s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x liblapack3 s390x 3.12.1-7ubuntu1 [2983 kB] 522s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-numpy s390x 1:2.3.5+ds-3 [5305 kB] 522s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14-minimal s390x 3.14.2-1 [2510 kB] 522s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x m4 s390x 1.4.21-1 [225 kB] 522s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x autoconf all 2.72-3.1ubuntu2 [384 kB] 522s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x autotools-dev all 20240727.1build1 [43.4 kB] 522s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x automake all 1:1.18.1-3build1 [582 kB] 522s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x autopoint all 0.23.2-1 [620 kB] 522s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x libc-dev-bin s390x 2.42-2ubuntu4 [22.9 kB] 522s Get:13 http://ftpmaster.internal/ubuntu resolute/main s390x linux-libc-dev s390x 6.19.0-3.3 [1839 kB] 523s Get:14 http://ftpmaster.internal/ubuntu resolute/main s390x libcrypt-dev s390x 1:4.5.1-1 [127 kB] 523s Get:15 http://ftpmaster.internal/ubuntu resolute/main s390x rpcsvc-proto s390x 1.4.3-1build1 [67.1 kB] 523s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libc6-dev s390x 2.42-2ubuntu4 [1696 kB] 523s Get:17 http://ftpmaster.internal/ubuntu resolute/main s390x libisl23 s390x 0.27-1build1 [702 kB] 523s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x libmpc3 s390x 1.3.1-2 [57.4 kB] 523s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x cpp-15-s390x-linux-gnu s390x 15.2.0-12ubuntu1 [10.2 MB] 523s Get:20 http://ftpmaster.internal/ubuntu resolute/main s390x cpp-15 s390x 15.2.0-12ubuntu1 [1028 B] 523s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x cpp-s390x-linux-gnu s390x 4:15.2.0-4ubuntu1 [5746 B] 523s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x cpp s390x 4:15.2.0-4ubuntu1 [22.4 kB] 523s Get:23 http://ftpmaster.internal/ubuntu resolute/main s390x libcc1-0 s390x 15.2.0-12ubuntu1 [50.0 kB] 523s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-12ubuntu1 [154 kB] 523s Get:25 http://ftpmaster.internal/ubuntu resolute/main s390x libitm1 s390x 15.2.0-12ubuntu1 [30.9 kB] 523s Get:26 http://ftpmaster.internal/ubuntu resolute/main s390x libasan8 s390x 15.2.0-12ubuntu1 [2968 kB] 523s Get:27 http://ftpmaster.internal/ubuntu resolute/main s390x liblsan0 s390x 15.2.0-12ubuntu1 [1354 kB] 523s Get:28 http://ftpmaster.internal/ubuntu resolute/main s390x libtsan2 s390x 15.2.0-12ubuntu1 [2685 kB] 523s Get:29 http://ftpmaster.internal/ubuntu resolute/main s390x libubsan1 s390x 15.2.0-12ubuntu1 [1211 kB] 523s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x libgcc-15-dev s390x 15.2.0-12ubuntu1 [1294 kB] 524s Get:31 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-15-s390x-linux-gnu s390x 15.2.0-12ubuntu1 [19.9 MB] 524s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-15 s390x 15.2.0-12ubuntu1 [519 kB] 524s Get:33 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-s390x-linux-gnu s390x 4:15.2.0-4ubuntu1 [1208 B] 524s Get:34 http://ftpmaster.internal/ubuntu resolute/main s390x gcc s390x 4:15.2.0-4ubuntu1 [5018 B] 524s Get:35 http://ftpmaster.internal/ubuntu resolute/main s390x libstdc++-15-dev s390x 15.2.0-12ubuntu1 [2660 kB] 525s Get:36 http://ftpmaster.internal/ubuntu resolute/main s390x g++-15-s390x-linux-gnu s390x 15.2.0-12ubuntu1 [11.7 MB] 525s Get:37 http://ftpmaster.internal/ubuntu resolute/main s390x g++-15 s390x 15.2.0-12ubuntu1 [25.3 kB] 525s Get:38 http://ftpmaster.internal/ubuntu resolute/main s390x g++-s390x-linux-gnu s390x 4:15.2.0-4ubuntu1 [956 B] 525s Get:39 http://ftpmaster.internal/ubuntu resolute/main s390x g++ s390x 4:15.2.0-4ubuntu1 [1078 B] 525s Get:40 http://ftpmaster.internal/ubuntu resolute/main s390x build-essential s390x 12.12ubuntu2 [5258 B] 525s Get:41 http://ftpmaster.internal/ubuntu resolute/main s390x libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 525s Get:42 http://ftpmaster.internal/ubuntu resolute/main s390x libtool all 2.5.4-9 [169 kB] 525s Get:43 http://ftpmaster.internal/ubuntu resolute/main s390x dh-autoreconf all 21+nmu1 [11.9 kB] 525s Get:44 http://ftpmaster.internal/ubuntu resolute/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 525s Get:45 http://ftpmaster.internal/ubuntu resolute/main s390x libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 525s Get:46 http://ftpmaster.internal/ubuntu resolute/main s390x dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 525s Get:47 http://ftpmaster.internal/ubuntu resolute/main s390x debugedit s390x 1:5.2-3build1 [52.7 kB] 525s Get:48 http://ftpmaster.internal/ubuntu resolute/main s390x dwz s390x 0.16-2build1 [121 kB] 525s Get:49 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.2-1 [1062 kB] 525s Get:50 http://ftpmaster.internal/ubuntu resolute/main s390x intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 525s Get:51 http://ftpmaster.internal/ubuntu resolute/main s390x po-debconf all 1.0.22 [215 kB] 525s Get:52 http://ftpmaster.internal/ubuntu resolute/main s390x debhelper all 13.28ubuntu1 [916 kB] 525s Get:53 http://ftpmaster.internal/ubuntu resolute/universe s390x dh-python all 7.20260125 [122 kB] 525s Get:54 http://ftpmaster.internal/ubuntu resolute/universe s390x pybuild-plugin-autopkgtest all 7.20260125 [1744 B] 525s Get:55 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 525s Get:56 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-wheel all 0.46.1-2 [22.1 kB] 525s Get:57 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-build all 1.2.2-5 [30.9 kB] 525s Get:58 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 525s Get:59 http://ftpmaster.internal/ubuntu resolute/universe s390x pybuild-plugin-pyproject all 7.20260125 [1712 B] 525s Get:60 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14 s390x 3.14.2-1 [816 kB] 525s Get:61 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.9-3 [890 B] 525s Get:62 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-korean-lunar-calendar all 0.3.1-2build1 [9300 B] 525s Get:63 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytz all 2025.2-5 [32.4 kB] 525s Get:64 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pandas-lib s390x 2.3.3+dfsg-3 [7599 kB] 526s Get:65 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pandas all 2.3.3+dfsg-3 [2948 kB] 526s Get:66 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pyluach all 2.3.0-1 [24.2 kB] 526s Get:67 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-toolz all 1.1.0-1 [46.5 kB] 526s Get:68 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-exchange-calendars all 4.13.1-1 [156 kB] 526s Get:69 http://ftpmaster.internal/ubuntu resolute/main s390x python3-sortedcontainers all 2.4.0-2build1 [27.1 kB] 526s Get:70 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-hypothesis all 6.150.0-1 [375 kB] 526s Get:71 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 2.1.0-2 [6962 B] 526s Get:72 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pluggy all 1.6.0-2 [21.1 kB] 526s Get:73 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest all 9.0.2-2 [277 kB] 530s Fetched 88.3 MB in 4s (19.8 MB/s) 530s Selecting previously unselected package python3-numpy-dev:s390x. 534s (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 ... 88628 files and directories currently installed.) 534s Preparing to unpack .../00-python3-numpy-dev_1%3a2.3.5+ds-3_s390x.deb ... 534s Unpacking python3-numpy-dev:s390x (1:2.3.5+ds-3) ... 534s Selecting previously unselected package libblas3:s390x. 534s Preparing to unpack .../01-libblas3_3.12.1-7ubuntu1_s390x.deb ... 534s Unpacking libblas3:s390x (3.12.1-7ubuntu1) ... 534s Selecting previously unselected package libgfortran5:s390x. 534s Preparing to unpack .../02-libgfortran5_15.2.0-12ubuntu1_s390x.deb ... 534s Unpacking libgfortran5:s390x (15.2.0-12ubuntu1) ... 534s Selecting previously unselected package liblapack3:s390x. 534s Preparing to unpack .../03-liblapack3_3.12.1-7ubuntu1_s390x.deb ... 534s Unpacking liblapack3:s390x (3.12.1-7ubuntu1) ... 535s Selecting previously unselected package python3-numpy. 535s Preparing to unpack .../04-python3-numpy_1%3a2.3.5+ds-3_s390x.deb ... 535s Unpacking python3-numpy (1:2.3.5+ds-3) ... 538s Selecting previously unselected package python3.14-minimal. 538s Preparing to unpack .../05-python3.14-minimal_3.14.2-1_s390x.deb ... 538s Unpacking python3.14-minimal (3.14.2-1) ... 539s Selecting previously unselected package m4. 539s Preparing to unpack .../06-m4_1.4.21-1_s390x.deb ... 539s Unpacking m4 (1.4.21-1) ... 539s Selecting previously unselected package autoconf. 539s Preparing to unpack .../07-autoconf_2.72-3.1ubuntu2_all.deb ... 539s Unpacking autoconf (2.72-3.1ubuntu2) ... 540s Selecting previously unselected package autotools-dev. 540s Preparing to unpack .../08-autotools-dev_20240727.1build1_all.deb ... 540s Unpacking autotools-dev (20240727.1build1) ... 540s Selecting previously unselected package automake. 540s Preparing to unpack .../09-automake_1%3a1.18.1-3build1_all.deb ... 540s Unpacking automake (1:1.18.1-3build1) ... 541s Selecting previously unselected package autopoint. 541s Preparing to unpack .../10-autopoint_0.23.2-1_all.deb ... 541s Unpacking autopoint (0.23.2-1) ... 541s Selecting previously unselected package libc-dev-bin. 541s Preparing to unpack .../11-libc-dev-bin_2.42-2ubuntu4_s390x.deb ... 541s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 541s Selecting previously unselected package linux-libc-dev:s390x. 541s Preparing to unpack .../12-linux-libc-dev_6.19.0-3.3_s390x.deb ... 541s Unpacking linux-libc-dev:s390x (6.19.0-3.3) ... 541s Selecting previously unselected package libcrypt-dev:s390x. 541s Preparing to unpack .../13-libcrypt-dev_1%3a4.5.1-1_s390x.deb ... 541s Unpacking libcrypt-dev:s390x (1:4.5.1-1) ... 541s Selecting previously unselected package rpcsvc-proto. 542s Preparing to unpack .../14-rpcsvc-proto_1.4.3-1build1_s390x.deb ... 542s Unpacking rpcsvc-proto (1.4.3-1build1) ... 542s Selecting previously unselected package libc6-dev:s390x. 542s Preparing to unpack .../15-libc6-dev_2.42-2ubuntu4_s390x.deb ... 542s Unpacking libc6-dev:s390x (2.42-2ubuntu4) ... 543s Selecting previously unselected package libisl23:s390x. 543s Preparing to unpack .../16-libisl23_0.27-1build1_s390x.deb ... 543s Unpacking libisl23:s390x (0.27-1build1) ... 543s Selecting previously unselected package libmpc3:s390x. 543s Preparing to unpack .../17-libmpc3_1.3.1-2_s390x.deb ... 544s Unpacking libmpc3:s390x (1.3.1-2) ... 544s Selecting previously unselected package cpp-15-s390x-linux-gnu. 544s Preparing to unpack .../18-cpp-15-s390x-linux-gnu_15.2.0-12ubuntu1_s390x.deb ... 544s Unpacking cpp-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 546s Selecting previously unselected package cpp-15. 546s Preparing to unpack .../19-cpp-15_15.2.0-12ubuntu1_s390x.deb ... 546s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 546s Selecting previously unselected package cpp-s390x-linux-gnu. 546s Preparing to unpack .../20-cpp-s390x-linux-gnu_4%3a15.2.0-4ubuntu1_s390x.deb ... 546s Unpacking cpp-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 546s Selecting previously unselected package cpp. 546s Preparing to unpack .../21-cpp_4%3a15.2.0-4ubuntu1_s390x.deb ... 546s Unpacking cpp (4:15.2.0-4ubuntu1) ... 546s Selecting previously unselected package libcc1-0:s390x. 546s Preparing to unpack .../22-libcc1-0_15.2.0-12ubuntu1_s390x.deb ... 546s Unpacking libcc1-0:s390x (15.2.0-12ubuntu1) ... 546s Selecting previously unselected package libgomp1:s390x. 546s Preparing to unpack .../23-libgomp1_15.2.0-12ubuntu1_s390x.deb ... 546s Unpacking libgomp1:s390x (15.2.0-12ubuntu1) ... 547s Selecting previously unselected package libitm1:s390x. 547s Preparing to unpack .../24-libitm1_15.2.0-12ubuntu1_s390x.deb ... 547s Unpacking libitm1:s390x (15.2.0-12ubuntu1) ... 547s Selecting previously unselected package libasan8:s390x. 547s Preparing to unpack .../25-libasan8_15.2.0-12ubuntu1_s390x.deb ... 547s Unpacking libasan8:s390x (15.2.0-12ubuntu1) ... 548s Selecting previously unselected package liblsan0:s390x. 548s Preparing to unpack .../26-liblsan0_15.2.0-12ubuntu1_s390x.deb ... 548s Unpacking liblsan0:s390x (15.2.0-12ubuntu1) ... 549s Selecting previously unselected package libtsan2:s390x. 549s Preparing to unpack .../27-libtsan2_15.2.0-12ubuntu1_s390x.deb ... 549s Unpacking libtsan2:s390x (15.2.0-12ubuntu1) ... 549s Selecting previously unselected package libubsan1:s390x. 549s Preparing to unpack .../28-libubsan1_15.2.0-12ubuntu1_s390x.deb ... 549s Unpacking libubsan1:s390x (15.2.0-12ubuntu1) ... 549s Selecting previously unselected package libgcc-15-dev:s390x. 549s Preparing to unpack .../29-libgcc-15-dev_15.2.0-12ubuntu1_s390x.deb ... 549s Unpacking libgcc-15-dev:s390x (15.2.0-12ubuntu1) ... 550s Selecting previously unselected package gcc-15-s390x-linux-gnu. 550s Preparing to unpack .../30-gcc-15-s390x-linux-gnu_15.2.0-12ubuntu1_s390x.deb ... 550s Unpacking gcc-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 557s Selecting previously unselected package gcc-15. 557s Preparing to unpack .../31-gcc-15_15.2.0-12ubuntu1_s390x.deb ... 557s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 557s Selecting previously unselected package gcc-s390x-linux-gnu. 557s Preparing to unpack .../32-gcc-s390x-linux-gnu_4%3a15.2.0-4ubuntu1_s390x.deb ... 557s Unpacking gcc-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 557s Selecting previously unselected package gcc. 558s Preparing to unpack .../33-gcc_4%3a15.2.0-4ubuntu1_s390x.deb ... 558s Unpacking gcc (4:15.2.0-4ubuntu1) ... 558s Selecting previously unselected package libstdc++-15-dev:s390x. 558s Preparing to unpack .../34-libstdc++-15-dev_15.2.0-12ubuntu1_s390x.deb ... 558s Unpacking libstdc++-15-dev:s390x (15.2.0-12ubuntu1) ... 560s Selecting previously unselected package g++-15-s390x-linux-gnu. 560s Preparing to unpack .../35-g++-15-s390x-linux-gnu_15.2.0-12ubuntu1_s390x.deb ... 560s Unpacking g++-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 564s Selecting previously unselected package g++-15. 564s Preparing to unpack .../36-g++-15_15.2.0-12ubuntu1_s390x.deb ... 564s Unpacking g++-15 (15.2.0-12ubuntu1) ... 564s Selecting previously unselected package g++-s390x-linux-gnu. 565s Preparing to unpack .../37-g++-s390x-linux-gnu_4%3a15.2.0-4ubuntu1_s390x.deb ... 565s Unpacking g++-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 565s Selecting previously unselected package g++. 565s Preparing to unpack .../38-g++_4%3a15.2.0-4ubuntu1_s390x.deb ... 565s Unpacking g++ (4:15.2.0-4ubuntu1) ... 565s Selecting previously unselected package build-essential. 565s Preparing to unpack .../39-build-essential_12.12ubuntu2_s390x.deb ... 565s Unpacking build-essential (12.12ubuntu2) ... 565s Selecting previously unselected package libdebhelper-perl. 565s Preparing to unpack .../40-libdebhelper-perl_13.28ubuntu1_all.deb ... 565s Unpacking libdebhelper-perl (13.28ubuntu1) ... 566s Selecting previously unselected package libtool. 566s Preparing to unpack .../41-libtool_2.5.4-9_all.deb ... 566s Unpacking libtool (2.5.4-9) ... 566s Selecting previously unselected package dh-autoreconf. 566s Preparing to unpack .../42-dh-autoreconf_21+nmu1_all.deb ... 566s Unpacking dh-autoreconf (21+nmu1) ... 566s Selecting previously unselected package libarchive-zip-perl. 566s Preparing to unpack .../43-libarchive-zip-perl_1.68-1_all.deb ... 566s Unpacking libarchive-zip-perl (1.68-1) ... 566s Selecting previously unselected package libfile-stripnondeterminism-perl. 567s Preparing to unpack .../44-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 567s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 567s Selecting previously unselected package dh-strip-nondeterminism. 567s Preparing to unpack .../45-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 567s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 567s Selecting previously unselected package debugedit. 567s Preparing to unpack .../46-debugedit_1%3a5.2-3build1_s390x.deb ... 567s Unpacking debugedit (1:5.2-3build1) ... 567s Selecting previously unselected package dwz. 567s Preparing to unpack .../47-dwz_0.16-2build1_s390x.deb ... 567s Unpacking dwz (0.16-2build1) ... 567s Selecting previously unselected package gettext. 567s Preparing to unpack .../48-gettext_0.23.2-1_s390x.deb ... 567s Unpacking gettext (0.23.2-1) ... 568s Selecting previously unselected package intltool-debian. 568s Preparing to unpack .../49-intltool-debian_0.35.0+20060710.6build1_all.deb ... 568s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 568s Selecting previously unselected package po-debconf. 568s Preparing to unpack .../50-po-debconf_1.0.22_all.deb ... 568s Unpacking po-debconf (1.0.22) ... 569s Selecting previously unselected package debhelper. 569s Preparing to unpack .../51-debhelper_13.28ubuntu1_all.deb ... 569s Unpacking debhelper (13.28ubuntu1) ... 569s Selecting previously unselected package dh-python. 570s Preparing to unpack .../52-dh-python_7.20260125_all.deb ... 570s Unpacking dh-python (7.20260125) ... 570s Selecting previously unselected package pybuild-plugin-autopkgtest. 570s Preparing to unpack .../53-pybuild-plugin-autopkgtest_7.20260125_all.deb ... 570s Unpacking pybuild-plugin-autopkgtest (7.20260125) ... 570s Selecting previously unselected package python3-pyproject-hooks. 570s Preparing to unpack .../54-python3-pyproject-hooks_1.2.0-1_all.deb ... 570s Unpacking python3-pyproject-hooks (1.2.0-1) ... 571s Selecting previously unselected package python3-wheel. 571s Preparing to unpack .../55-python3-wheel_0.46.1-2_all.deb ... 571s Unpacking python3-wheel (0.46.1-2) ... 571s Selecting previously unselected package python3-build. 571s Preparing to unpack .../56-python3-build_1.2.2-5_all.deb ... 571s Unpacking python3-build (1.2.2-5) ... 571s Selecting previously unselected package python3-installer. 571s Preparing to unpack .../57-python3-installer_0.7.0+dfsg1-3_all.deb ... 571s Unpacking python3-installer (0.7.0+dfsg1-3) ... 571s Selecting previously unselected package pybuild-plugin-pyproject. 571s Preparing to unpack .../58-pybuild-plugin-pyproject_7.20260125_all.deb ... 571s Unpacking pybuild-plugin-pyproject (7.20260125) ... 571s Selecting previously unselected package python3.14. 571s Preparing to unpack .../59-python3.14_3.14.2-1_s390x.deb ... 571s Unpacking python3.14 (3.14.2-1) ... 572s Selecting previously unselected package python3-all. 572s Preparing to unpack .../60-python3-all_3.13.9-3_s390x.deb ... 572s Unpacking python3-all (3.13.9-3) ... 572s Selecting previously unselected package python3-korean-lunar-calendar. 572s Preparing to unpack .../61-python3-korean-lunar-calendar_0.3.1-2build1_all.deb ... 572s Unpacking python3-korean-lunar-calendar (0.3.1-2build1) ... 572s Selecting previously unselected package python3-pytz. 572s Preparing to unpack .../62-python3-pytz_2025.2-5_all.deb ... 572s Unpacking python3-pytz (2025.2-5) ... 572s Selecting previously unselected package python3-pandas-lib:s390x. 572s Preparing to unpack .../63-python3-pandas-lib_2.3.3+dfsg-3_s390x.deb ... 572s Unpacking python3-pandas-lib:s390x (2.3.3+dfsg-3) ... 574s Selecting previously unselected package python3-pandas. 574s Preparing to unpack .../64-python3-pandas_2.3.3+dfsg-3_all.deb ... 574s Unpacking python3-pandas (2.3.3+dfsg-3) ... 577s Selecting previously unselected package python3-pyluach. 577s Preparing to unpack .../65-python3-pyluach_2.3.0-1_all.deb ... 577s Unpacking python3-pyluach (2.3.0-1) ... 578s Selecting previously unselected package python3-toolz. 578s Preparing to unpack .../66-python3-toolz_1.1.0-1_all.deb ... 578s Unpacking python3-toolz (1.1.0-1) ... 578s Selecting previously unselected package python3-exchange-calendars. 578s Preparing to unpack .../67-python3-exchange-calendars_4.13.1-1_all.deb ... 578s Unpacking python3-exchange-calendars (4.13.1-1) ... 578s Selecting previously unselected package python3-sortedcontainers. 578s Preparing to unpack .../68-python3-sortedcontainers_2.4.0-2build1_all.deb ... 578s Unpacking python3-sortedcontainers (2.4.0-2build1) ... 578s Selecting previously unselected package python3-hypothesis. 578s Preparing to unpack .../69-python3-hypothesis_6.150.0-1_all.deb ... 578s Unpacking python3-hypothesis (6.150.0-1) ... 578s Selecting previously unselected package python3-iniconfig. 578s Preparing to unpack .../70-python3-iniconfig_2.1.0-2_all.deb ... 578s Unpacking python3-iniconfig (2.1.0-2) ... 578s Selecting previously unselected package python3-pluggy. 578s Preparing to unpack .../71-python3-pluggy_1.6.0-2_all.deb ... 578s Unpacking python3-pluggy (1.6.0-2) ... 579s Selecting previously unselected package python3-pytest. 579s Preparing to unpack .../72-python3-pytest_9.0.2-2_all.deb ... 579s Unpacking python3-pytest (9.0.2-2) ... 579s Setting up dh-python (7.20260125) ... 580s Setting up python3-iniconfig (2.1.0-2) ... 585s Setting up python3-pyluach (2.3.0-1) ... 586s Setting up libarchive-zip-perl (1.68-1) ... 586s Setting up libdebhelper-perl (13.28ubuntu1) ... 586s Setting up linux-libc-dev:s390x (6.19.0-3.3) ... 586s Setting up m4 (1.4.21-1) ... 586s Setting up python3-pytz (2025.2-5) ... 588s Setting up python3-sortedcontainers (2.4.0-2build1) ... 589s Setting up libgomp1:s390x (15.2.0-12ubuntu1) ... 589s Setting up python3-wheel (0.46.1-2) ... 591s Setting up autotools-dev (20240727.1build1) ... 591s Setting up libblas3:s390x (3.12.1-7ubuntu1) ... 591s update-alternatives: using /usr/lib/s390x-linux-gnu/blas/libblas.so.3 to provide /usr/lib/s390x-linux-gnu/libblas.so.3 (libblas.so.3-s390x-linux-gnu) in auto mode 591s Setting up python3-korean-lunar-calendar (0.3.1-2build1) ... 592s Setting up rpcsvc-proto (1.4.3-1build1) ... 592s Setting up python3-pyproject-hooks (1.2.0-1) ... 594s Setting up libmpc3:s390x (1.3.1-2) ... 594s Setting up python3-numpy-dev:s390x (1:2.3.5+ds-3) ... 594s Setting up autopoint (0.23.2-1) ... 594s Setting up python3-installer (0.7.0+dfsg1-3) ... 595s Setting up libgfortran5:s390x (15.2.0-12ubuntu1) ... 595s Setting up autoconf (2.72-3.1ubuntu2) ... 595s Setting up python3-pluggy (1.6.0-2) ... 596s Setting up libubsan1:s390x (15.2.0-12ubuntu1) ... 596s Setting up dwz (0.16-2build1) ... 596s Setting up libcrypt-dev:s390x (1:4.5.1-1) ... 596s Setting up libasan8:s390x (15.2.0-12ubuntu1) ... 596s Setting up debugedit (1:5.2-3build1) ... 596s Setting up python3-toolz (1.1.0-1) ... 598s Setting up libtsan2:s390x (15.2.0-12ubuntu1) ... 598s Setting up libisl23:s390x (0.27-1build1) ... 598s Setting up python3-build (1.2.2-5) ... 601s Setting up libc-dev-bin (2.42-2ubuntu4) ... 601s Setting up python3.14-minimal (3.14.2-1) ... 616s Setting up libcc1-0:s390x (15.2.0-12ubuntu1) ... 616s Setting up liblsan0:s390x (15.2.0-12ubuntu1) ... 616s Setting up libitm1:s390x (15.2.0-12ubuntu1) ... 616s Setting up automake (1:1.18.1-3build1) ... 616s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 616s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 616s Setting up liblapack3:s390x (3.12.1-7ubuntu1) ... 616s update-alternatives: using /usr/lib/s390x-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/s390x-linux-gnu/liblapack.so.3 (liblapack.so.3-s390x-linux-gnu) in auto mode 616s Setting up gettext (0.23.2-1) ... 616s Setting up libgcc-15-dev:s390x (15.2.0-12ubuntu1) ... 616s Setting up pybuild-plugin-pyproject (7.20260125) ... 616s Setting up python3-pytest (9.0.2-2) ... 621s Setting up python3-hypothesis (6.150.0-1) ... 626s Setting up intltool-debian (0.35.0+20060710.6build1) ... 626s Setting up python3-numpy (1:2.3.5+ds-3) ... 656s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 656s Setting up cpp-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 656s Setting up libc6-dev:s390x (2.42-2ubuntu4) ... 656s Setting up python3.14 (3.14.2-1) ... 677s Setting up gcc-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 677s Setting up cpp-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 677s Setting up po-debconf (1.0.22) ... 677s Setting up python3-pandas-lib:s390x (2.3.3+dfsg-3) ... 677s Setting up python3-all (3.13.9-3) ... 677s Setting up libstdc++-15-dev:s390x (15.2.0-12ubuntu1) ... 677s Setting up python3-pandas (2.3.3+dfsg-3) ... 752s Setting up gcc-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 752s Setting up cpp-15 (15.2.0-12ubuntu1) ... 752s Setting up cpp (4:15.2.0-4ubuntu1) ... 752s Setting up g++-15-s390x-linux-gnu (15.2.0-12ubuntu1) ... 752s Setting up python3-exchange-calendars (4.13.1-1) ... 755s Setting up g++-s390x-linux-gnu (4:15.2.0-4ubuntu1) ... 755s Setting up gcc-15 (15.2.0-12ubuntu1) ... 755s Setting up g++-15 (15.2.0-12ubuntu1) ... 755s Setting up libtool (2.5.4-9) ... 755s Setting up gcc (4:15.2.0-4ubuntu1) ... 755s Setting up dh-autoreconf (21+nmu1) ... 755s Setting up g++ (4:15.2.0-4ubuntu1) ... 755s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 755s Setting up build-essential (12.12ubuntu2) ... 755s Setting up debhelper (13.28ubuntu1) ... 755s Setting up pybuild-plugin-autopkgtest (7.20260125) ... 755s Processing triggers for man-db (2.13.1-1build1) ... 787s Processing triggers for install-info (7.2-5) ... 792s Processing triggers for libc-bin (2.42-2ubuntu4) ... 794s Processing triggers for systemd (259-1ubuntu3) ... 799s autopkgtest [22:50:09]: test pybuild-autopkgtest: pybuild-autopkgtest 799s autopkgtest [22:50:09]: test pybuild-autopkgtest: [----------------------- 803s pybuild-autopkgtest 807s I: pybuild base:384: cd /tmp/autopkgtest.6qQFTv/autopkgtest_tmp/build; python3.14 -m pytest -k "not test_testbase_integrity and not exchange_calendars.utils.pandas_utils.indexes_union and not test_indices_fuzz" 814s ============================= test session starts ============================== 814s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 814s cachedir: .pytest_cache 814s hypothesis profile 'default' 814s rootdir: /tmp/autopkgtest.6qQFTv/autopkgtest_tmp/build 814s configfile: pyproject.toml 814s testpaths: tests, exchange_calendars/utils/pandas_utils.py 814s plugins: typeguard-4.4.4, hypothesis-6.150.0 839s collecting ... collected 9759 items / 74 deselected / 9685 selected 839s 839s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 844s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 846s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 847s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 848s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 850s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 851s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 852s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 853s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 853s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 853s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 853s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 854s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 855s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 856s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 857s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 858s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 859s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 860s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 861s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 0%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 863s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 864s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 865s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 867s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 867s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 867s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 867s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 868s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 873s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 874s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 875s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 1%] 876s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 1%] 877s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 1%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 878s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 878s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 891s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 894s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 895s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 901s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 904s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 2%] 905s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 2%] 907s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 2%] 907s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 2%] 908s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 2%] 908s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 2%] 908s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 2%] 908s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 2%] 908s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 2%] 909s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 2%] 913s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 2%] 913s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 2%] 913s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 2%] 914s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 2%] 914s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 914s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 2%] 916s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 2%] 918s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 2%] 923s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 2%] 923s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 923s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 923s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 2%] 923s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 2%] 924s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 924s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 924s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 2%] 924s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 924s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 2%] 926s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 2%] 928s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 2%] 933s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 934s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 936s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 938s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 943s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 3%] 944s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 3%] 945s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 3%] 946s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 3%] 946s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 3%] 946s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 3%] 947s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 3%] 947s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 3%] 947s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 3%] 949s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 3%] 959s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 3%] 959s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 3%] 959s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 3%] 959s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 3%] 959s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 3%] 961s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 3%] 961s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 3%] 961s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 3%] 961s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 3%] 974s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 3%] 975s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 3%] 976s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 3%] 985s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 3%] 988s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 989s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 3%] 992s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 3%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 993s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 995s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 1002s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 4%] 1007s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 4%] 1009s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 4%] 1016s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 4%] 1016s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 4%] 1016s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 4%] 1016s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 4%] 1016s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 4%] 1017s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 4%] 1017s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 4%] 1017s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 4%] 1017s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 4%] 1017s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 4%] 1019s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 4%] 1021s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 4%] 1026s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 4%] 1027s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 4%] 1031s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 4%] 1033s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 4%] 1040s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 4%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 1041s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 5%] 1042s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 5%] 1043s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 5%] 1043s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 5%] 1043s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 5%] 1044s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 5%] 1045s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 5%] 1056s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 5%] 1056s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 5%] 1056s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 5%] 1056s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 5%] 1056s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 5%] 1057s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 5%] 1057s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 5%] 1059s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 5%] 1059s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 5%] 1059s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 5%] 1060s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 5%] 1061s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 5%] 1062s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 5%] 1063s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 5%] 1063s tests/test_calendar_helpers.py::test_constants PASSED [ 5%] 1063s tests/test_calendar_helpers.py::test_is_date PASSED [ 5%] 1063s tests/test_calendar_helpers.py::test_is_utc PASSED [ 5%] 1065s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 5%] 1067s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 5%] 1069s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 5%] 1072s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 5%] 1075s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-True] PASSED [ 5%] 1077s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-False] PASSED [ 5%] 1080s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-True] PASSED [ 5%] 1082s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-False] PASSED [ 5%] 1084s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 5%] 1086s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 5%] 1089s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 5%] 1092s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 5%] 1094s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 5%] 1096s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 5%] 1096s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 5%] 1096s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 5%] 1096s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 5%] 1096s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 5%] 1098s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 5%] 1101s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 5%] 1103s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 5%] 1106s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 5%] 1108s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 5%] 1110s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 5%] 1112s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 5%] 1114s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 5%] 1117s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 5%] 1119s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult2] PASSED [ 5%] 1121s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult3] PASSED [ 5%] 1123s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 5%] 1126s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 5%] 1128s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 5%] 1130s tests/test_calendar_helpers.py::test_parse_date[date_mult2] PASSED [ 5%] 1132s tests/test_calendar_helpers.py::test_parse_date[date_mult3] PASSED [ 5%] 1135s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 5%] 1137s tests/test_calendar_helpers.py::test_parse_session PASSED [ 5%] 1139s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 5%] 1184s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 5%] 1186s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 5%] 1230s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 5%] 1232s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 5%] 1257s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 5%] 1260s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 5%] 1371s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 5%] 1374s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 5%] 1382s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 5%] 1386s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 5%] 1388s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 5%] 1393s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 5%] 1397s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 5%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 5%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 6%] 1401s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 6%] 1402s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 6%] 1412s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 6%] 1412s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 6%] 1420s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 6%] 1420s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 6%] 1420s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 6%] 1425s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 6%] 1426s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 6%] 1426s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 6%] 1432s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 6%] 1433s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 6%] 1433s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 6%] 1433s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 6%] 1433s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 6%] 1434s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 6%] 1434s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 6%] 1434s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 6%] 1444s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 6%] 1444s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 6%] 1444s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 6%] 1444s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 6%] 1445s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 6%] 1445s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 6%] 1445s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 6%] 1448s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 6%] 1452s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 6%] 1452s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 6%] 1452s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 6%] 1454s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 6%] 1454s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 6%] 1454s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 6%] 1464s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 6%] 1466s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 6%] 1471s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 6%] 1472s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 6%] 1473s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 6%] 1473s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 7%] 1473s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 7%] 1474s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 7%] 1474s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 7%] 1479s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 7%] 1479s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 7%] 1479s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 7%] 1479s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 7%] 1479s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 7%] 1481s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 7%] 1481s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 7%] 1481s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 7%] 1482s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 7%] 1483s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 7%] 1484s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 7%] 1661s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 7%] 1661s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 7%] 1661s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 7%] 1661s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 7%] 1661s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 7%] 1661s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 7%] 1669s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 7%] 1670s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 7%] 1670s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 7%] 1676s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 7%] 1678s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 1679s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 7%] 1685s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 7%] 1687s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 7%] 1692s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 7%] 1692s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 7%] 1692s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 7%] 1693s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 7%] 1693s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 1693s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 7%] 1700s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 7%] 1703s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 7%] 1708s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 7%] 1708s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 7%] 1708s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 1708s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 7%] 1708s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 7%] 1709s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 7%] 1709s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 1709s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 7%] 1709s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 1709s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 7%] 1715s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 7%] 1718s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 7%] 1722s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 7%] 1724s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 7%] 1730s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 7%] 1732s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 7%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 7%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 7%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 7%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 8%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 8%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 8%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 8%] 1737s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 8%] 1738s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 8%] 1739s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 8%] 1740s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 8%] 1740s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 8%] 1740s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 8%] 1740s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 8%] 1741s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 8%] 1741s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 8%] 1741s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 8%] 1742s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 8%] 1750s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 8%] 1750s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 8%] 1751s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 8%] 1752s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 8%] 1752s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 8%] 1752s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 8%] 1752s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 8%] 1752s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 8%] 1756s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 1757s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 8%] 1758s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 8%] 1758s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 8%] 1758s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 8%] 1758s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 8%] 1759s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 8%] 1759s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 8%] 1759s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 8%] 1759s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 8%] 1760s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 8%] 1761s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 9%] 1762s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 9%] 1763s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 9%] 1764s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 9%] 1764s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 9%] 1764s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 9%] 1765s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 9%] 1765s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 9%] 1774s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 9%] 1775s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 9%] 1776s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 9%] 1781s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 9%] 1783s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 9%] 1784s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 9%] 1787s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 9%] 1789s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 9%] 1794s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 9%] 1794s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 9%] 1795s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 9%] 1795s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 9%] 1795s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 9%] 1795s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 9%] 1798s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 9%] 1799s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 9%] 1805s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 9%] 1805s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 1805s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 1805s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 9%] 1805s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 1806s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 1806s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 1806s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 10%] 1806s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 1806s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 10%] 1809s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 10%] 1811s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 10%] 1815s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 10%] 1815s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 10%] 1815s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 1816s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 10%] 1816s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 1816s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 10%] 1816s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 10%] 1817s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 10%] 1819s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 10%] 1821s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 10%] 1826s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 10%] 1827s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 10%] 1828s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 10%] 1829s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 10%] 1829s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 10%] 1829s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 10%] 1830s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 10%] 1830s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 10%] 1830s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 10%] 1831s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 10%] 1840s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 10%] 1840s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 10%] 1840s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 11%] 1840s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 11%] 1840s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 11%] 1841s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 11%] 1841s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 11%] 1841s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 11%] 1853s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 11%] 1855s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 11%] 1856s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 11%] 1862s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 11%] 1863s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 1865s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 11%] 1867s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 11%] 1867s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 1868s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 11%] 1868s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 11%] 1868s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 11%] 1868s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 11%] 1868s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 11%] 1870s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 1875s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 11%] 1877s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 11%] 1879s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 11%] 1885s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 11%] 1885s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 1885s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 1885s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 1885s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 1886s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 1886s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 1886s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 11%] 1886s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 1886s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 11%] 1888s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 11%] 1890s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 11%] 1897s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 11%] 1898s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 11%] 1901s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 11%] 1903s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 11%] 1909s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 11%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 12%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 1910s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 12%] 1911s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 12%] 1912s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 12%] 1913s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 12%] 1913s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 12%] 1914s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 12%] 1916s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 12%] 1928s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 12%] 1928s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 12%] 1928s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 12%] 1928s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 12%] 1928s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 12%] 1930s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 12%] 1930s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 12%] 1930s tests/test_xbda_calendar.py::TestXBDACalendar::test_base_integrity PASSED [ 12%] 1936s tests/test_xbda_calendar.py::TestXBDACalendar::test_calculated_against_csv PASSED [ 12%] 1938s tests/test_xbda_calendar.py::TestXBDACalendar::test_start_end PASSED [ 12%] 1939s tests/test_xbda_calendar.py::TestXBDACalendar::test_invalid_input PASSED [ 12%] 1947s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_min PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_max PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_sanity_check_session_lengths PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_specification PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_daylight_savings PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions PASSED [ 12%] 1950s tests/test_xbda_calendar.py::TestXBDACalendar::test_opens_closes_break_starts_ends PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[both] PASSED [ 12%] 1951s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[both] PASSED [ 12%] 1953s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[both] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[both] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-next] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-next] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-next] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-next] PASSED [ 12%] 1954s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[left] PASSED [ 12%] 1955s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[left] PASSED [ 12%] 1956s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[left] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[left] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-next] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-next] PASSED [ 12%] 1958s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[right] PASSED [ 12%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[right] PASSED [ 12%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[right] PASSED [ 12%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[right] PASSED [ 12%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[right] PASSED [ 12%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[right] PASSED [ 13%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[right] PASSED [ 13%] 1959s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[right] PASSED [ 13%] 1960s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[right] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[right] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-none] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-none] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-none] PASSED [ 13%] 1961s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-none] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-next] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 1962s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[neither] PASSED [ 13%] 1963s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[neither] PASSED [ 13%] 1964s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[neither] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[right] PASSED [ 13%] 1966s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[right] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[right] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[right] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[right] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[left] PASSED [ 13%] 1967s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[left] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[left] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[both] PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_has_break PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_regular_holidays_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_holidays_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample_time PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays_time PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample_time PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_open_close_break_start_end PASSED [ 13%] 1968s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_has_break PASSED [ 13%] 1969s tests/test_xbda_calendar.py::TestXBDACalendar::test_next_prev_session PASSED [ 13%] 1969s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_offset PASSED [ 13%] 1969s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_session PASSED [ 13%] 1969s tests/test_xbda_calendar.py::TestXBDACalendar::test_date_to_session PASSED [ 13%] 1972s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_open_close PASSED [ 13%] 1972s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_in_range PASSED [ 13%] 1972s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_has_break PASSED [ 13%] 1972s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_window PASSED [ 13%] 1972s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_distance PASSED [ 13%] 1974s tests/test_xbda_calendar.py::TestXBDACalendar::test_trading_index PASSED [ 13%] 1974s tests/test_xbda_calendar.py::TestXBDACalendar::test_deprecated PASSED [ 13%] 1974s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_base_integrity PASSED [ 13%] 1979s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calculated_against_csv PASSED [ 13%] 1980s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_start_end PASSED [ 13%] 1981s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_invalid_input PASSED [ 14%] 1988s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_min PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_max PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sanity_check_session_lengths PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_specification PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_daylight_savings PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[both] PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[both] PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 14%] 1989s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[both] PASSED [ 14%] 1990s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[both] PASSED [ 14%] 1990s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[both] PASSED [ 14%] 1990s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[both] PASSED [ 14%] 1990s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[both] PASSED [ 14%] 1991s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[both] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[both] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-next] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-next] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 14%] 1992s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[left] PASSED [ 14%] 1993s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[left] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[left] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-next] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 14%] 1994s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[right] PASSED [ 14%] 1995s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[right] PASSED [ 14%] 1996s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[right] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[right] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 14%] 1997s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[neither] PASSED [ 14%] 1998s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 2000s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[neither] PASSED [ 14%] 2000s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[neither] PASSED [ 14%] 2000s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[left] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[left] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[left] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[left] PASSED [ 14%] 2001s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[left] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[left] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[left] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_has_break PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_regular_holidays_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_holidays_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample_time PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays_time PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample_time PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_open_close_break_start_end PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_has_break PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_next_prev_session PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_offset PASSED [ 15%] 2002s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_session PASSED [ 15%] 2003s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_date_to_session PASSED [ 15%] 2004s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_open_close PASSED [ 15%] 2004s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_in_range PASSED [ 15%] 2004s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_has_break PASSED [ 15%] 2004s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_window PASSED [ 15%] 2004s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_distance PASSED [ 15%] 2005s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_trading_index PASSED [ 15%] 2005s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_deprecated PASSED [ 15%] 2005s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 15%] 2018s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 15%] 2021s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 15%] 2022s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 15%] 2029s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 15%] 2031s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 2032s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 2036s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 2036s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 2036s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 2037s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 2037s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 2037s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 2037s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 2038s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 2043s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 2044s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 2044s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 2044s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 2044s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 2044s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 2047s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 2049s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 2056s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 2056s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 2056s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 2056s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 2056s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 2058s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 2058s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 2058s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 2058s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 2058s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 2061s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 2062s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 16%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 16%] 2067s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 16%] 2068s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 16%] 2071s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 16%] 2072s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 16%] 2079s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 2080s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 2081s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 2081s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 2081s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 2081s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 2082s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 2082s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 2082s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 2083s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 2095s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 2095s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 2095s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 2095s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 2095s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 2096s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 2096s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 2096s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 2112s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 2115s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 2117s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 2125s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 2129s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 17%] 2132s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 17%] 2134s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 17%] 2140s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 17%] 2140s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 17%] 2140s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 17%] 2141s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 17%] 2141s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 17%] 2141s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 17%] 2143s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 2145s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 2150s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 2150s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 2150s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 2150s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 2150s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 2151s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 2151s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 2151s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 2151s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 2151s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 2154s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 2156s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 2162s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 2163s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 2165s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 2165s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 2165s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 2166s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 2166s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 2166s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 2166s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 2168s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 2173s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 2173s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 2173s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 2173s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 2174s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 2175s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 2176s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 2177s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 2177s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 2177s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 2178s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 2178s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 2178s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 2179s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 2189s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 2189s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 2189s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 2189s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 2189s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 2191s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 2191s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 2191s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 2230s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 2230s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 2230s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 2239s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 2240s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 2243s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 2244s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 2249s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 2249s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 2249s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 2250s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 2250s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 2250s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 2252s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 2253s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 2259s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 2259s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 2259s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 2259s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 2259s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 2260s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 2260s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 2260s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 2260s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 2260s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 2263s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 2264s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 18%] 2268s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 18%] 2269s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 2271s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 2273s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 2278s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 2279s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 2280s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 2281s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 2281s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 2281s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 2282s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 2292s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 2292s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 19%] 2292s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 19%] 2292s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 19%] 2292s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 19%] 2293s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 19%] 2293s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 19%] 2293s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_base_integrity PASSED [ 19%] 2300s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calculated_against_csv PASSED [ 19%] 2302s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_start_end PASSED [ 19%] 2303s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_invalid_input PASSED [ 19%] 2310s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_min PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_max PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sanity_check_session_lengths PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_specification PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_daylight_savings PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions PASSED [ 19%] 2312s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 19%] 2313s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[both] PASSED [ 19%] 2314s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[both] PASSED [ 19%] 2315s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[both] PASSED [ 19%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[both] PASSED [ 20%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-next] PASSED [ 20%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-next] PASSED [ 20%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 2316s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[left] PASSED [ 20%] 2317s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[left] PASSED [ 20%] 2318s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[left] PASSED [ 20%] 2318s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 2318s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 2318s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 2318s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-next] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[right] PASSED [ 20%] 2319s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[right] PASSED [ 20%] 2320s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[right] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[right] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 2321s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[neither] PASSED [ 20%] 2322s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 2323s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[neither] PASSED [ 20%] 2324s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[neither] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[neither] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[left] PASSED [ 20%] 2325s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[left] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[left] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_has_break PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_regular_holidays_sample PASSED [ 20%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_sample PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_holidays_sample PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens_sample PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample_time PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays_time PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample_time PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_open_close_break_start_end PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_has_break PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_next_prev_session PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_offset PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_session PASSED [ 21%] 2326s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_date_to_session PASSED [ 21%] 2329s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_open_close PASSED [ 21%] 2329s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_in_range PASSED [ 21%] 2329s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_has_break PASSED [ 21%] 2329s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_window PASSED [ 21%] 2329s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_distance PASSED [ 21%] 2330s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_trading_index PASSED [ 21%] 2330s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_deprecated PASSED [ 21%] 2330s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 21%] 2342s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 21%] 2343s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 21%] 2344s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 21%] 2352s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 2354s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 21%] 2357s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 21%] 2359s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 21%] 2364s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 21%] 2367s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 21%] 2368s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 21%] 2372s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 21%] 2372s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 21%] 2372s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 21%] 2372s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 21%] 2372s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 21%] 2373s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 21%] 2373s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 21%] 2373s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 21%] 2373s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 21%] 2373s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 21%] 2376s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 21%] 2377s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 21%] 2383s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 21%] 2384s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 21%] 2387s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 21%] 2388s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 22%] 2393s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 22%] 2394s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 22%] 2395s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 22%] 2396s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 22%] 2397s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 22%] 2397s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 22%] 2397s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 22%] 2397s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 22%] 2398s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 22%] 2398s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 22%] 2398s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 22%] 2399s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 22%] 2408s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 22%] 2409s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 22%] 2409s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 22%] 2409s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 22%] 2409s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 22%] 2410s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 22%] 2410s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 22%] 2410s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 22%] 2422s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 22%] 2424s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 22%] 2425s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 22%] 2431s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 22%] 2433s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 22%] 2434s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 22%] 2437s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 2438s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 2440s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 2445s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 23%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 23%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 23%] 2449s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 23%] 2451s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 23%] 2457s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 23%] 2457s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 23%] 2457s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 2457s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 23%] 2457s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 23%] 2458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 23%] 2458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 23%] 2458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 23%] 2458s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 23%] 2459s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 23%] 2461s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 23%] 2461s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 23%] 2461s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 23%] 2462s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 23%] 2462s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 23%] 2462s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 23%] 2462s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 23%] 2463s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 23%] 2469s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 23%] 2469s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 23%] 2470s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 23%] 2470s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 23%] 2470s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 23%] 2470s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 23%] 2470s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 23%] 2471s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 23%] 2474s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 23%] 2476s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 23%] 2481s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 23%] 2482s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 2483s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 24%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 24%] 2484s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 24%] 2485s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 24%] 2486s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 24%] 2486s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 24%] 2486s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 24%] 2488s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 24%] 2498s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 24%] 2498s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 24%] 2498s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 24%] 2498s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 24%] 2498s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 24%] 2500s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 24%] 2500s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 24%] 2500s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 24%] 2514s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 24%] 2517s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 24%] 2518s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 24%] 2526s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 24%] 2530s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 24%] 2531s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 24%] 2534s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 24%] 2535s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 24%] 2541s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 24%] 2544s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 24%] 2546s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 24%] 2551s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 24%] 2551s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 24%] 2551s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 24%] 2551s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 2551s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 2552s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 2552s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 2552s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 2552s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 2552s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 2555s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 2557s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 2562s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 2563s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 2565s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 2567s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 2572s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 25%] 2573s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 2574s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 2575s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 2575s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 2575s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 2575s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 2576s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 2576s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 2576s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 2578s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 2587s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 2587s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 2587s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 2587s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 2587s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 2589s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 2589s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 2589s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 2602s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 2605s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 2606s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 2612s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 2614s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 2615s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 2617s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 2620s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 2625s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 2628s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 2629s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 2635s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 2635s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 2635s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 2635s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 2635s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 26%] 2636s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 26%] 2636s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 26%] 2636s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 26%] 2636s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 26%] 2636s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 26%] 2638s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 26%] 2640s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 26%] 2645s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 2646s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 2648s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 2650s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 2654s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 2654s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 2655s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 2656s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 2657s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 2657s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 2657s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 2657s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 2658s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 2658s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 2658s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 2660s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 2669s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 27%] 2669s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 27%] 2669s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 27%] 2669s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 27%] 2669s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 27%] 2670s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 27%] 2670s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 27%] 2670s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 2683s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 2685s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 2685s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 2693s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 2695s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 2697s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 2699s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 2702s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 2707s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 2707s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 2707s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 2707s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 2707s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 2708s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 2710s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 2712s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 2718s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 2718s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 2718s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 2718s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 2718s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 2719s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 2719s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 2719s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 2719s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 2719s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 2722s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 2724s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 2731s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 2732s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 2735s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 2737s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 27%] 2742s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 27%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 2743s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 2744s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 2745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 2745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 2745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 2745s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 2746s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 2747s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 2747s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 2748s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 2759s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 2759s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 2759s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 2759s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 2759s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 2760s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 2760s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 2760s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 2773s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 2775s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 2776s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 2784s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 2786s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 2788s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 2792s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 2794s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 2800s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 28%] 2800s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 28%] 2800s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 28%] 2801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 28%] 2801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 28%] 2801s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 28%] 2803s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 28%] 2803s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 28%] 2803s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 28%] 2804s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 28%] 2804s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 28%] 2804s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 28%] 2804s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 28%] 2806s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 28%] 2812s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 28%] 2812s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 28%] 2812s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 28%] 2812s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 28%] 2812s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 28%] 2813s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 28%] 2813s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 28%] 2814s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 28%] 2814s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 28%] 2814s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 28%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 28%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 28%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 2818s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 2819s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 2826s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 2827s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 2830s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 2832s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 2837s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 2838s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 29%] 2839s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 29%] 2840s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 29%] 2841s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 29%] 2841s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 29%] 2842s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 29%] 2842s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 29%] 2842s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 29%] 2844s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 29%] 2856s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 29%] 2856s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 29%] 2856s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 29%] 2856s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 29%] 2856s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 29%] 2857s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 29%] 2857s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 29%] 2857s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_base_integrity PASSED [ 29%] 2865s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calculated_against_csv PASSED [ 29%] 2868s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_start_end PASSED [ 30%] 2870s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_invalid_input PASSED [ 30%] 2878s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_min PASSED [ 30%] 2880s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_max PASSED [ 30%] 2880s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sanity_check_session_lengths PASSED [ 30%] 2880s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_specification PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_daylight_savings PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[both] PASSED [ 30%] 2881s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[both] PASSED [ 30%] 2884s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[both] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[both] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-next] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-next] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 2886s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[left] PASSED [ 30%] 2888s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[left] PASSED [ 30%] 2889s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[left] PASSED [ 30%] 2891s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[left] PASSED [ 30%] 2891s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 2891s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 2891s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 2891s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 2892s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 2892s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 2892s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-next] PASSED [ 30%] 2892s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 30%] 2892s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[right] PASSED [ 30%] 2893s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[right] PASSED [ 30%] 2893s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 30%] 2893s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[right] PASSED [ 30%] 2894s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[right] PASSED [ 30%] 2894s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[right] PASSED [ 30%] 2894s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[right] PASSED [ 30%] 2894s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[right] PASSED [ 30%] 2895s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[right] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[right] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-none] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-none] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-none] PASSED [ 30%] 2897s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[neither] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[neither] PASSED [ 30%] 2898s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 30%] 2899s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[neither] PASSED [ 30%] 2899s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[neither] PASSED [ 30%] 2899s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[neither] PASSED [ 30%] 2899s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[neither] PASSED [ 30%] 2899s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 30%] 2900s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[neither] PASSED [ 30%] 2902s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[neither] PASSED [ 30%] 2902s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 30%] 2902s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 30%] 2902s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[right] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[right] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[right] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[right] PASSED [ 30%] 2903s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[right] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[right] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[right] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[left] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[left] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[left] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 30%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 2904s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_has_break PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_regular_holidays_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_holidays_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample_time PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays_time PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample_time PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens PASSED [ 31%] 2905s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_open_close_break_start_end PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_has_break PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_next_prev_session PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_offset PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_session PASSED [ 31%] 2906s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_date_to_session PASSED [ 31%] 2910s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_open_close PASSED [ 31%] 2910s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_in_range PASSED [ 31%] 2910s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_has_break PASSED [ 31%] 2910s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_window PASSED [ 31%] 2910s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_distance PASSED [ 31%] 2911s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_trading_index PASSED [ 31%] 2911s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_deprecated PASSED [ 31%] 2911s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 31%] 2921s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 31%] 2923s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 31%] 2923s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 31%] 2931s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 31%] 2933s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 31%] 2934s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 31%] 2937s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 31%] 2938s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 31%] 2939s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 31%] 2944s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 31%] 2947s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 31%] 2949s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 31%] 2953s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 31%] 2953s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 31%] 2953s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 31%] 2953s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 31%] 2953s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 31%] 2954s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 31%] 2954s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 31%] 2954s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 31%] 2954s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 2954s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 2958s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 2960s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 32%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 32%] 2966s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 32%] 2967s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 32%] 2970s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 32%] 2972s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 32%] 2978s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 32%] 2979s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 2980s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 2981s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 2981s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 2981s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 2982s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 2992s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 2992s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 2992s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 2992s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 2992s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 2993s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 2993s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 2993s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 3004s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 3005s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 3006s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 3013s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 3015s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 3016s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 33%] 3022s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 33%] 3023s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 33%] 3025s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 33%] 3030s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 33%] 3030s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 33%] 3030s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 33%] 3031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 33%] 3031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 33%] 3031s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 33%] 3036s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 33%] 3037s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 33%] 3043s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 33%] 3043s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 33%] 3043s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 33%] 3043s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 33%] 3043s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 33%] 3045s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 33%] 3045s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 33%] 3045s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 33%] 3045s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 33%] 3045s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 33%] 3050s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 33%] 3050s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 33%] 3050s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 33%] 3051s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 33%] 3051s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 33%] 3051s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 33%] 3051s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 33%] 3053s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 33%] 3059s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 33%] 3060s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 3061s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 3067s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 3069s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 3075s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 3076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 3077s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 34%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 34%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 34%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 34%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 34%] 3078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 34%] 3079s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 34%] 3080s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 34%] 3080s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 34%] 3081s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 34%] 3082s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 34%] 3095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 34%] 3095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 34%] 3095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 34%] 3095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 34%] 3095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 34%] 3096s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 34%] 3096s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 34%] 3096s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 34%] 3106s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 34%] 3107s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 34%] 3107s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 34%] 3114s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 3116s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 3117s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 3121s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 3123s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 3128s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 3132s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 3133s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 3138s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 3138s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 3138s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 3138s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 3138s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 3139s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 3139s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 3139s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 3139s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 3139s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 3143s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 3145s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 3150s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 35%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 35%] 3152s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 35%] 3157s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 35%] 3158s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 35%] 3164s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 3165s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 3166s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 3167s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 3167s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 3167s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 3167s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 3168s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 3168s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 3169s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 3170s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 3179s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 3179s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 3179s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 3179s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 3179s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 3180s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 3180s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 3180s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 3189s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 3190s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 3190s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 3195s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 3196s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 3197s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 3201s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 3202s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 36%] 3206s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 36%] 3206s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 36%] 3206s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 36%] 3207s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 36%] 3207s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 36%] 3207s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 3210s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 3212s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 3217s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 3217s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 3217s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 3217s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 3217s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 3218s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 3218s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 3218s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 3218s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 3218s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 3222s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 3224s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 3229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 3230s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 3233s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 3233s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 3234s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 3234s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 3234s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 3234s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 3234s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 3235s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 3240s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 36%] 3241s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 36%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 36%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 36%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 3242s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 3243s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 3243s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 3244s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 3246s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 3254s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 3254s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 3263s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 3264s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 3265s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 3270s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 3271s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 3275s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 3276s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 3277s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 3282s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 3286s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 3287s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 3292s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 3292s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 3292s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 3292s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 3292s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 3294s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 3294s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 3294s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 3294s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 3294s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 37%] 3297s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 37%] 3299s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 37%] 3304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 37%] 3305s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 37%] 3308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 3309s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 3314s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 3314s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 3314s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 3314s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 3315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 3316s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 3317s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 3317s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 3317s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 3317s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 38%] 3318s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 38%] 3318s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 38%] 3318s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 38%] 3319s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 38%] 3329s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 38%] 3329s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 38%] 3329s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 38%] 3329s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 38%] 3329s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 38%] 3330s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 38%] 3330s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 38%] 3330s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 38%] 3339s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 38%] 3340s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 38%] 3341s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 38%] 3347s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 38%] 3348s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 38%] 3349s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 38%] 3353s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 38%] 3355s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 38%] 3360s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 38%] 3360s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 38%] 3360s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 38%] 3361s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 38%] 3361s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 38%] 3361s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 38%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 38%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 38%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 3365s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 3367s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 3373s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 3377s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 3379s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 3383s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 3385s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 39%] 3390s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 39%] 3392s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 39%] 3398s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 39%] 3399s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 39%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 3400s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 3401s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 3401s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 3401s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 3402s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 3402s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 3402s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 3403s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 3413s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 3413s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 3413s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 3413s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 3413s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 3414s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 3414s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 3414s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 3425s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 3425s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 3426s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 3432s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 40%] 3434s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 40%] 3435s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 40%] 3439s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 40%] 3440s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 40%] 3445s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 40%] 3445s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 40%] 3445s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 40%] 3446s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 40%] 3446s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 40%] 3446s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 40%] 3448s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 40%] 3449s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 40%] 3450s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 40%] 3455s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 40%] 3455s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 40%] 3455s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 40%] 3455s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 40%] 3455s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 40%] 3456s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 40%] 3456s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 40%] 3456s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 40%] 3456s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 40%] 3456s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 40%] 3458s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 40%] 3460s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 40%] 3465s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 40%] 3466s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 40%] 3468s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 3469s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 40%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 3474s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 41%] 3475s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 41%] 3476s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 41%] 3477s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 41%] 3477s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 41%] 3477s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 41%] 3478s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 41%] 3486s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 41%] 3486s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 41%] 3486s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 41%] 3486s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 41%] 3486s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 41%] 3487s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 41%] 3487s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 41%] 3487s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 41%] 3499s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 41%] 3501s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 41%] 3501s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 41%] 3505s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 41%] 3508s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 3509s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 41%] 3512s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 41%] 3519s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 41%] 3527s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 41%] 3527s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 41%] 3527s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 3528s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 41%] 3528s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 3528s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 41%] 3530s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 41%] 3535s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 41%] 3544s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 41%] 3544s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 3544s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 42%] 3544s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 42%] 3544s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 42%] 3546s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 42%] 3546s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 42%] 3546s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 42%] 3546s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 42%] 3546s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 42%] 3549s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 42%] 3555s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 42%] 3566s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 42%] 3567s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 42%] 3570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 42%] 3575s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 42%] 3584s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 42%] 3584s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 42%] 3584s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 42%] 3584s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 42%] 3585s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 42%] 3586s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 42%] 3587s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 42%] 3588s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 42%] 3589s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 42%] 3589s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 42%] 3589s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 42%] 3590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 42%] 3590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 42%] 3590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 42%] 3591s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 43%] 3600s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 43%] 3600s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 43%] 3600s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 43%] 3600s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 43%] 3601s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 43%] 3602s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 43%] 3602s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 43%] 3602s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 43%] 3607s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 43%] 3608s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 43%] 3610s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 43%] 3615s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 43%] 3617s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 43%] 3618s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 43%] 3619s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 43%] 3620s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 43%] 3621s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 43%] 3622s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 3623s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 43%] 3624s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 43%] 3625s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 43%] 3626s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 3627s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 43%] 3628s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 43%] 3629s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 43%] 3631s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 43%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 44%] 3632s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 44%] 3633s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 44%] 3636s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 44%] 3636s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 44%] 3645s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 44%] 3646s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 44%] 3647s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 44%] 3654s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 3655s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 44%] 3658s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 44%] 3659s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 3665s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 44%] 3667s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 44%] 3668s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 44%] 3669s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 44%] 3674s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 44%] 3674s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 44%] 3674s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 3674s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 44%] 3674s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 3675s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 44%] 3675s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 3675s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 44%] 3675s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 3675s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 44%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 44%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 45%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 45%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 45%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 45%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 45%] 3678s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 45%] 3679s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 45%] 3684s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 3685s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 45%] 3688s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 45%] 3689s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 45%] 3695s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 45%] 3696s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 45%] 3697s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 45%] 3698s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 45%] 3698s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 45%] 3698s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 45%] 3700s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 45%] 3709s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 45%] 3709s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 45%] 3709s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 45%] 3709s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 45%] 3709s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 45%] 3710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 45%] 3710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 45%] 3710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 45%] 3710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 46%] 3710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 46%] 3710s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 46%] 3718s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 46%] 3720s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 46%] 3720s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 46%] 3726s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 46%] 3728s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 3729s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 46%] 3732s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 46%] 3732s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 3732s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 46%] 3732s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 46%] 3733s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 46%] 3733s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 46%] 3733s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 46%] 3734s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 3739s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 46%] 3742s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 46%] 3744s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 46%] 3748s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 3749s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 46%] 3751s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 46%] 3753s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 46%] 3758s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 3759s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 46%] 3762s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 3764s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 46%] 3769s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 46%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 47%] 3770s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 47%] 3771s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 47%] 3772s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 47%] 3772s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 47%] 3772s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 47%] 3773s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 47%] 3782s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 47%] 3782s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 47%] 3782s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 47%] 3782s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 47%] 3782s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 47%] 3783s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 47%] 3783s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 47%] 3783s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 47%] 3794s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 47%] 3795s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 47%] 3795s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 47%] 3802s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 3804s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 47%] 3807s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 47%] 3809s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 47%] 3814s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 47%] 3816s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 47%] 3821s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 47%] 3821s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 47%] 3821s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 47%] 3821s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 47%] 3821s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 47%] 3822s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 47%] 3822s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 47%] 3822s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 47%] 3822s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 47%] 3822s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 47%] 3825s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 48%] 3826s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 48%] 3830s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 3831s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 48%] 3833s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 48%] 3835s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 48%] 3839s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 48%] 3839s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 48%] 3839s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 48%] 3839s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 48%] 3839s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 48%] 3840s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 48%] 3841s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 48%] 3842s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 48%] 3842s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 48%] 3843s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 48%] 3844s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 48%] 3853s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 48%] 3854s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 48%] 3854s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 48%] 3854s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 48%] 3865s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 48%] 3866s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 49%] 3867s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 49%] 3874s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 49%] 3875s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 3877s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 49%] 3880s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 49%] 3882s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 49%] 3887s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 49%] 3887s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 49%] 3887s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 3888s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 49%] 3888s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 3888s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 49%] 3890s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 49%] 3892s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 49%] 3898s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 49%] 3901s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 49%] 3903s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 49%] 3909s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 49%] 3910s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 49%] 3912s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 49%] 3915s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 49%] 3921s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 50%] 3922s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 50%] 3923s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 50%] 3923s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 50%] 3923s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 50%] 3923s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 50%] 3923s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 50%] 3924s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 50%] 3924s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 50%] 3924s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 50%] 3926s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 50%] 3935s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 50%] 3935s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 50%] 3935s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 50%] 3935s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 50%] 3935s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 50%] 3937s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 50%] 3937s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 50%] 3937s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 50%] 3937s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 50%] 3947s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 50%] 3948s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 50%] 3948s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 50%] 3954s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 50%] 3955s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 50%] 3956s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 50%] 3959s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 50%] 3961s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 50%] 3966s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 50%] 3966s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 50%] 3967s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 50%] 3967s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 50%] 3967s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 50%] 3967s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 50%] 3971s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 50%] 3972s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 50%] 3978s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 50%] 3978s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 50%] 3978s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 3978s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 50%] 3978s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 3979s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 50%] 3979s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 3979s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 50%] 3979s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 3979s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 50%] 3982s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 50%] 3984s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 50%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 50%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 50%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 51%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 51%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 51%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 51%] 3989s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 51%] 3991s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 51%] 3994s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 51%] 3996s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 51%] 4002s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 51%] 4003s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 51%] 4004s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 51%] 4005s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 51%] 4005s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 51%] 4005s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 51%] 4005s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 51%] 4006s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 51%] 4006s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 51%] 4006s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 51%] 4008s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 51%] 4019s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 51%] 4019s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 51%] 4019s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 51%] 4019s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 51%] 4019s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 51%] 4020s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 51%] 4020s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 51%] 4020s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 51%] 4124s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 51%] 4149s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 51%] 4161s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 51%] 4195s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 51%] 4218s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 52%] 4220s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 52%] 4223s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 52%] 4231s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 52%] 4241s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 52%] 4245s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 52%] 4254s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 52%] 4263s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 52%] 4263s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 52%] 4263s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 52%] 4263s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 52%] 4263s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 52%] 4265s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 52%] 4265s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 52%] 4265s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 52%] 4265s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 52%] 4265s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 52%] 4269s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 52%] 4276s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 52%] 4286s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 4288s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 4288s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 4289s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 4289s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 4289s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 4289s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 4289s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 52%] 4294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 4303s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 52%] 4312s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 52%] 4312s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 4312s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 52%] 4313s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 52%] 4314s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 52%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 53%] 4315s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 53%] 4316s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 53%] 4317s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 53%] 4317s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 53%] 4318s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 53%] 4318s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 53%] 4318s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 53%] 4320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 53%] 4333s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 53%] 4334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 53%] 4334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 53%] 4334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 53%] 4334s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 53%] 4336s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 53%] 4336s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 53%] 4337s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 53%] 4346s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 53%] 4353s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 53%] 4353s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 53%] 4366s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 53%] 4368s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 53%] 4369s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 53%] 4376s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 4378s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 53%] 4381s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 53%] 4381s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 4381s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 53%] 4382s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 53%] 4382s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 53%] 4382s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 53%] 4382s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 53%] 4384s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 4390s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 53%] 4393s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 53%] 4395s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 53%] 4401s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 53%] 4401s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 4401s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 4401s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 4401s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 4402s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 4402s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 4402s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 53%] 4402s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 4402s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 53%] 4405s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 53%] 4407s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 53%] 4413s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 54%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 54%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 54%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 54%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 54%] 4415s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 54%] 4418s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 4420s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 54%] 4426s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 54%] 4427s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 54%] 4428s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 54%] 4429s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 54%] 4429s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 54%] 4429s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 54%] 4430s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 54%] 4430s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 54%] 4430s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 54%] 4431s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 54%] 4441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 54%] 4441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 54%] 4441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 54%] 4441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 54%] 4441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 54%] 4443s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 54%] 4443s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 54%] 4443s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 54%] 4453s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 54%] 4455s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 54%] 4455s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 54%] 4463s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 54%] 4464s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 4465s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 54%] 4468s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 54%] 4468s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 54%] 4468s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 54%] 4469s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 54%] 4469s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 55%] 4469s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 55%] 4469s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 55%] 4470s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 55%] 4476s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 55%] 4476s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 55%] 4476s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 4477s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 55%] 4477s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 4477s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 55%] 4480s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 55%] 4482s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 55%] 4486s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 55%] 4486s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 4486s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 4486s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 4486s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 4487s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 4487s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 4487s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 55%] 4487s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 4487s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 55%] 4489s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 55%] 4491s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 55%] 4497s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 4498s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 55%] 4501s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 4503s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 55%] 4508s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 55%] 4509s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 55%] 4510s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 55%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 56%] 4511s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 56%] 4512s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 56%] 4512s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 56%] 4512s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 56%] 4513s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 56%] 4523s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 56%] 4523s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 56%] 4523s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 56%] 4523s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 56%] 4523s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 56%] 4525s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 56%] 4525s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 56%] 4525s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_base_integrity PASSED [ 56%] 4530s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calculated_against_csv PASSED [ 56%] 4532s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_start_end PASSED [ 56%] 4532s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_invalid_input PASSED [ 56%] 4539s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_min PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_max PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sanity_check_session_lengths PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_specification PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_daylight_savings PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[both] PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[both] PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[both] PASSED [ 56%] 4542s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[both] PASSED [ 56%] 4543s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[both] PASSED [ 56%] 4543s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[both] PASSED [ 56%] 4543s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[both] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[both] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[both] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-next] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-next] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 4544s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[left] PASSED [ 56%] 4545s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[left] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[left] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[left] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 56%] 4546s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-next] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[right] PASSED [ 56%] 4547s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[right] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[right] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[right] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-none] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-none] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-none] PASSED [ 56%] 4548s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[neither] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[neither] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[neither] PASSED [ 56%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[neither] PASSED [ 57%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[neither] PASSED [ 57%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[neither] PASSED [ 57%] 4549s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 4550s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[right] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[right] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[right] PASSED [ 57%] 4551s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[both] PASSED [ 57%] 4552s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[both] PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_has_break PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_regular_holidays_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_holidays_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample_time PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays_time PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample_time PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_open_close_break_start_end PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_has_break PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_next_prev_session PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_offset PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_session PASSED [ 57%] 4553s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_date_to_session PASSED [ 57%] 4554s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_open_close PASSED [ 57%] 4554s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_in_range PASSED [ 57%] 4554s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_has_break PASSED [ 57%] 4554s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_window PASSED [ 57%] 4554s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_distance PASSED [ 57%] 4556s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_trading_index PASSED [ 57%] 4556s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_deprecated PASSED [ 57%] 4556s tests/test_xlju_calendar.py::TestXLJUCalendar::test_base_integrity PASSED [ 57%] 4562s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calculated_against_csv PASSED [ 57%] 4564s tests/test_xlju_calendar.py::TestXLJUCalendar::test_start_end PASSED [ 57%] 4565s tests/test_xlju_calendar.py::TestXLJUCalendar::test_invalid_input PASSED [ 57%] 4571s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_min PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_max PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sanity_check_session_lengths PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_specification PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_daylight_savings PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_opens_closes_break_starts_ends PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[both] PASSED [ 57%] 4573s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[both] PASSED [ 57%] 4575s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[both] PASSED [ 57%] 4575s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[both] PASSED [ 57%] 4575s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-next] PASSED [ 57%] 4575s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 57%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-next] PASSED [ 57%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 57%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[left] PASSED [ 58%] 4576s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[left] PASSED [ 58%] 4578s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[left] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[left] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-next] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 4579s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[right] PASSED [ 58%] 4580s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[right] PASSED [ 58%] 4581s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[right] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[right] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-previous] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-next] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 58%] 4582s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[neither] PASSED [ 58%] 4583s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[neither] PASSED [ 58%] 4584s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[neither] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[right] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[right] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[right] PASSED [ 58%] 4585s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[right] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[left] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[both] PASSED [ 58%] 4586s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[both] PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[both] PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_has_break PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_regular_holidays_sample PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_sample PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_holidays_sample PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens_sample PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample_time PASSED [ 58%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays_time PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample_time PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_open_close_break_start_end PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_has_break PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_next_prev_session PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_offset PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_session PASSED [ 59%] 4587s tests/test_xlju_calendar.py::TestXLJUCalendar::test_date_to_session PASSED [ 59%] 4589s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_open_close PASSED [ 59%] 4589s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_in_range PASSED [ 59%] 4589s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_has_break PASSED [ 59%] 4589s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_window PASSED [ 59%] 4589s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_distance PASSED [ 59%] 4591s tests/test_xlju_calendar.py::TestXLJUCalendar::test_trading_index PASSED [ 59%] 4591s tests/test_xlju_calendar.py::TestXLJUCalendar::test_deprecated PASSED [ 59%] 4591s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 59%] 4601s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 59%] 4603s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 59%] 4604s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 59%] 4611s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 59%] 4613s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 59%] 4614s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 59%] 4618s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 59%] 4621s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 59%] 4627s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 59%] 4630s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 59%] 4632s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 59%] 4636s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 59%] 4636s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 59%] 4636s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 59%] 4636s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 59%] 4636s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 59%] 4638s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 59%] 4638s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 59%] 4638s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 59%] 4638s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 59%] 4638s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 59%] 4641s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 59%] 4643s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 59%] 4648s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 4649s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 59%] 4652s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 4654s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 59%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 59%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 60%] 4659s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 60%] 4660s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 60%] 4661s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 60%] 4662s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 60%] 4662s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 60%] 4662s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 60%] 4663s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 60%] 4663s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 60%] 4663s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 60%] 4665s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 60%] 4676s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 60%] 4676s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 60%] 4676s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 60%] 4676s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 60%] 4676s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 60%] 4677s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 60%] 4677s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 60%] 4677s tests/test_xlux_calendar.py::TestXLUXCalendar::test_base_integrity PASSED [ 60%] 4687s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calculated_against_csv PASSED [ 60%] 4688s tests/test_xlux_calendar.py::TestXLUXCalendar::test_start_end PASSED [ 60%] 4688s tests/test_xlux_calendar.py::TestXLUXCalendar::test_invalid_input PASSED [ 60%] 4694s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_min PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_max PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sanity_check_session_lengths PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_specification PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_daylight_savings PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions PASSED [ 60%] 4695s tests/test_xlux_calendar.py::TestXLUXCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 4696s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[both] PASSED [ 60%] 4699s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[both] PASSED [ 60%] 4701s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[both] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[both] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-next] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-next] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 4706s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[left] PASSED [ 60%] 4708s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[left] PASSED [ 60%] 4708s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 4708s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[left] PASSED [ 60%] 4708s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[left] PASSED [ 60%] 4709s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[left] PASSED [ 60%] 4709s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[left] PASSED [ 60%] 4709s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[left] PASSED [ 60%] 4711s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[left] PASSED [ 61%] 4716s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[left] PASSED [ 61%] 4716s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-previous] PASSED [ 61%] 4716s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 61%] 4716s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-previous] PASSED [ 61%] 4716s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 61%] 4717s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-previous] PASSED [ 61%] 4717s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 61%] 4717s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-next] PASSED [ 61%] 4717s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 61%] 4717s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[right] PASSED [ 61%] 4720s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[right] PASSED [ 61%] 4722s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[right] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[right] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-none] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-none] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-none] PASSED [ 61%] 4727s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-none] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-previous] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[neither-next] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 61%] 4728s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[neither] PASSED [ 61%] 4730s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[neither] PASSED [ 61%] 4730s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[neither] PASSED [ 61%] 4730s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[neither] PASSED [ 61%] 4731s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[neither] PASSED [ 61%] 4731s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[neither] PASSED [ 61%] 4731s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[neither] PASSED [ 61%] 4731s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[neither] PASSED [ 61%] 4732s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[neither] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[right] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[right] PASSED [ 61%] 4736s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[right] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[left] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_past_session[both] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_future_session[both] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset[both] PASSED [ 61%] 4737s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_offset_by_sessions[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_in_range[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_window[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_distance[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_to_sessions[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_minutes_count[both] PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_has_break PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_regular_holidays_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_holidays_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_sample_time PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes_weekdays_time PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_non_early_closes_sample_time PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_late_opens PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_early_closes PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_open_close_break_start_end PASSED [ 61%] 4738s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_has_break PASSED [ 61%] 4739s tests/test_xlux_calendar.py::TestXLUXCalendar::test_next_prev_session PASSED [ 62%] 4739s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_offset PASSED [ 62%] 4739s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_session PASSED [ 62%] 4741s tests/test_xlux_calendar.py::TestXLUXCalendar::test_date_to_session PASSED [ 62%] 4748s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_open_close PASSED [ 62%] 4748s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_in_range PASSED [ 62%] 4748s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_has_break PASSED [ 62%] 4748s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_window PASSED [ 62%] 4749s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions_distance PASSED [ 62%] 4750s tests/test_xlux_calendar.py::TestXLUXCalendar::test_trading_index PASSED [ 62%] 4750s tests/test_xlux_calendar.py::TestXLUXCalendar::test_deprecated PASSED [ 62%] 4750s tests/test_xmad_calendar.py::TestXMADCalendar::test_base_integrity PASSED [ 62%] 4761s tests/test_xmad_calendar.py::TestXMADCalendar::test_calculated_against_csv PASSED [ 62%] 4762s tests/test_xmad_calendar.py::TestXMADCalendar::test_start_end PASSED [ 62%] 4763s tests/test_xmad_calendar.py::TestXMADCalendar::test_invalid_input PASSED [ 62%] 4769s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_min PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_bound_max PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_sanity_check_session_lengths PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_specification PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_daylight_savings PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions PASSED [ 62%] 4770s tests/test_xmad_calendar.py::TestXMADCalendar::test_opens_closes_break_starts_ends PASSED [ 62%] 4772s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[both] PASSED [ 62%] 4776s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[both] PASSED [ 62%] 4776s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[both] PASSED [ 62%] 4776s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[both] PASSED [ 62%] 4776s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[both] PASSED [ 62%] 4777s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[both] PASSED [ 62%] 4777s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[both] PASSED [ 62%] 4777s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[both] PASSED [ 62%] 4779s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[both] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[both] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-next] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-next] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-next] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-next] PASSED [ 62%] 4786s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[left] PASSED [ 62%] 4790s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[left] PASSED [ 62%] 4792s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[left] PASSED [ 62%] 4798s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[left] PASSED [ 62%] 4798s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-previous] PASSED [ 62%] 4798s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 62%] 4798s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-previous] PASSED [ 62%] 4798s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 62%] 4799s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-previous] PASSED [ 62%] 4799s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 62%] 4799s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-next] PASSED [ 62%] 4799s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-next] PASSED [ 62%] 4799s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[right] PASSED [ 62%] 4804s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[right] PASSED [ 62%] 4806s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[right] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[right] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[right-none] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[right-none] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[left-none] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[left-none] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[both-none] PASSED [ 62%] 4812s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[both-none] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-none] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-previous] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_session[neither-next] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 62%] 4814s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_properties[neither] PASSED [ 62%] 4817s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes[neither] PASSED [ 62%] 4817s tests/test_xmad_calendar.py::TestXMADCalendar::test_calendar_bounds_properties[neither] PASSED [ 62%] 4818s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minute_methods[neither] PASSED [ 62%] 4818s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_minutes[neither] PASSED [ 62%] 4818s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_trading_minute[neither] PASSED [ 62%] 4818s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_break_minute[neither] PASSED [ 62%] 4818s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_on_minute[neither] PASSED [ 62%] 4820s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_open_at_time[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_minute[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[neither] PASSED [ 62%] 4826s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[right] PASSED [ 62%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[right] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[left] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[left] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[left] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[left] PASSED [ 63%] 4827s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[left] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_past_session[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_to_future_session[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minute_offset_by_sessions[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_in_range[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_window[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_distance[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_minutes_to_sessions[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_minutes_count[both] PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_has_break PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_regular_holidays_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_adhoc_holidays_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_holidays_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_sample_time PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes_weekdays_time PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample PASSED [ 63%] 4828s tests/test_xmad_calendar.py::TestXMADCalendar::test_non_early_closes_sample_time PASSED [ 63%] 4829s tests/test_xmad_calendar.py::TestXMADCalendar::test_late_opens PASSED [ 63%] 4829s tests/test_xmad_calendar.py::TestXMADCalendar::test_early_closes PASSED [ 63%] 4829s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_open_close_break_start_end PASSED [ 63%] 4829s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_has_break PASSED [ 63%] 4830s tests/test_xmad_calendar.py::TestXMADCalendar::test_next_prev_session PASSED [ 63%] 4830s tests/test_xmad_calendar.py::TestXMADCalendar::test_session_offset PASSED [ 63%] 4831s tests/test_xmad_calendar.py::TestXMADCalendar::test_is_session PASSED [ 63%] 4832s tests/test_xmad_calendar.py::TestXMADCalendar::test_date_to_session PASSED [ 63%] 4842s tests/test_xmad_calendar.py::TestXMADCalendar::test_prev_next_open_close PASSED [ 63%] 4842s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_in_range PASSED [ 63%] 4842s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_has_break PASSED [ 63%] 4842s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_window PASSED [ 63%] 4842s tests/test_xmad_calendar.py::TestXMADCalendar::test_sessions_distance PASSED [ 63%] 4844s tests/test_xmad_calendar.py::TestXMADCalendar::test_trading_index PASSED [ 63%] 4844s tests/test_xmad_calendar.py::TestXMADCalendar::test_deprecated PASSED [ 63%] 4844s tests/test_xmex_calendar.py::TestXMEXCalendar::test_base_integrity PASSED [ 63%] 4855s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calculated_against_csv PASSED [ 63%] 4857s tests/test_xmex_calendar.py::TestXMEXCalendar::test_start_end PASSED [ 63%] 4858s tests/test_xmex_calendar.py::TestXMEXCalendar::test_invalid_input PASSED [ 63%] 4865s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_min PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_bound_max PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sanity_check_session_lengths PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_specification PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_daylight_savings PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_opens_closes_break_starts_ends PASSED [ 63%] 4868s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[both] PASSED [ 63%] 4870s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[both] PASSED [ 63%] 4872s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[both] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[both] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-next] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-next] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 63%] 4878s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[left] PASSED [ 63%] 4880s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[left] PASSED [ 63%] 4882s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[left] PASSED [ 63%] 4886s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[left] PASSED [ 63%] 4886s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-previous] PASSED [ 63%] 4886s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 63%] 4886s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-previous] PASSED [ 63%] 4886s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 63%] 4887s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-previous] PASSED [ 63%] 4887s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 63%] 4887s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-next] PASSED [ 63%] 4887s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 64%] 4888s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[right] PASSED [ 64%] 4889s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[right] PASSED [ 64%] 4889s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[right] PASSED [ 64%] 4889s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[right] PASSED [ 64%] 4890s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[right] PASSED [ 64%] 4890s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[right] PASSED [ 64%] 4890s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[right] PASSED [ 64%] 4890s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[right] PASSED [ 64%] 4891s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[right] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[right] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[right-none] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[left-none] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[both-none] PASSED [ 64%] 4896s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-none] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-previous] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_session[neither-next] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 64%] 4897s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_properties[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minute_methods[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_minutes[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_trading_minute[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_break_minute[neither] PASSED [ 64%] 4899s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_on_minute[neither] PASSED [ 64%] 4901s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_open_at_time[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_minute[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[neither] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[right] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[right] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[right] PASSED [ 64%] 4905s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[right] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[left] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_past_session[both] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_to_future_session[both] PASSED [ 64%] 4906s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_in_range[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_window[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_distance[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_minutes_to_sessions[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_minutes_count[both] PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_has_break PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_regular_holidays_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_adhoc_holidays_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_holidays_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_sample_time PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes_weekdays_time PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_non_early_closes_sample_time PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_late_opens PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_early_closes PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_open_close_break_start_end PASSED [ 64%] 4907s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_has_break PASSED [ 64%] 4908s tests/test_xmex_calendar.py::TestXMEXCalendar::test_next_prev_session PASSED [ 64%] 4908s tests/test_xmex_calendar.py::TestXMEXCalendar::test_session_offset PASSED [ 64%] 4908s tests/test_xmex_calendar.py::TestXMEXCalendar::test_is_session PASSED [ 64%] 4909s tests/test_xmex_calendar.py::TestXMEXCalendar::test_date_to_session PASSED [ 64%] 4919s tests/test_xmex_calendar.py::TestXMEXCalendar::test_prev_next_open_close PASSED [ 64%] 4919s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_in_range PASSED [ 64%] 4919s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_has_break PASSED [ 64%] 4919s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_window PASSED [ 64%] 4919s tests/test_xmex_calendar.py::TestXMEXCalendar::test_sessions_distance PASSED [ 64%] 4920s tests/test_xmex_calendar.py::TestXMEXCalendar::test_trading_index PASSED [ 65%] 4920s tests/test_xmex_calendar.py::TestXMEXCalendar::test_deprecated PASSED [ 65%] 4920s tests/test_xmil_calendar.py::TestXMILCalendar::test_base_integrity PASSED [ 65%] 4930s tests/test_xmil_calendar.py::TestXMILCalendar::test_calculated_against_csv PASSED [ 65%] 4932s tests/test_xmil_calendar.py::TestXMILCalendar::test_start_end PASSED [ 65%] 4932s tests/test_xmil_calendar.py::TestXMILCalendar::test_invalid_input PASSED [ 65%] 4940s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_min PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_bound_max PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_sanity_check_session_lengths PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_specification PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_daylight_savings PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions PASSED [ 65%] 4942s tests/test_xmil_calendar.py::TestXMILCalendar::test_opens_closes_break_starts_ends PASSED [ 65%] 4943s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[both] PASSED [ 65%] 4947s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[both] PASSED [ 65%] 4949s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[both] PASSED [ 65%] 4954s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[both] PASSED [ 65%] 4954s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-next] PASSED [ 65%] 4954s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-next] PASSED [ 65%] 4955s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-next] PASSED [ 65%] 4955s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-next] PASSED [ 65%] 4955s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[left] PASSED [ 65%] 4957s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[left] PASSED [ 65%] 4957s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[left] PASSED [ 65%] 4957s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[left] PASSED [ 65%] 4958s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[left] PASSED [ 65%] 4958s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[left] PASSED [ 65%] 4958s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[left] PASSED [ 65%] 4958s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[left] PASSED [ 65%] 4959s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[left] PASSED [ 65%] 4964s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[left] PASSED [ 65%] 4964s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-previous] PASSED [ 65%] 4964s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 65%] 4964s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-previous] PASSED [ 65%] 4964s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 65%] 4966s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-previous] PASSED [ 65%] 4966s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 65%] 4966s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-next] PASSED [ 65%] 4966s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-next] PASSED [ 65%] 4966s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[right] PASSED [ 65%] 4969s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[right] PASSED [ 65%] 4970s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[right] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[right] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[right-none] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[right-none] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[left-none] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[left-none] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[both-none] PASSED [ 65%] 4977s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[both-none] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-none] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-previous] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_session[neither-next] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 65%] 4979s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_properties[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_calendar_bounds_properties[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minute_methods[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_minutes[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_trading_minute[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_break_minute[neither] PASSED [ 65%] 4982s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_on_minute[neither] PASSED [ 65%] 4984s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_open_at_time[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_minute[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[neither] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[right] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[right] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[right] PASSED [ 65%] 4990s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[right] PASSED [ 65%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[left] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_past_session[both] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_to_future_session[both] PASSED [ 66%] 4991s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_minute_offset_by_sessions[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_in_range[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_window[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_distance[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_minutes_to_sessions[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_minutes_count[both] PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_has_break PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_regular_holidays_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_adhoc_holidays_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_holidays_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_sample_time PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes_weekdays_time PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_non_early_closes_sample_time PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_late_opens PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_early_closes PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_open_close_break_start_end PASSED [ 66%] 4992s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_has_break PASSED [ 66%] 4993s tests/test_xmil_calendar.py::TestXMILCalendar::test_next_prev_session PASSED [ 66%] 4993s tests/test_xmil_calendar.py::TestXMILCalendar::test_session_offset PASSED [ 66%] 4994s tests/test_xmil_calendar.py::TestXMILCalendar::test_is_session PASSED [ 66%] 4995s tests/test_xmil_calendar.py::TestXMILCalendar::test_date_to_session PASSED [ 66%] 5004s tests/test_xmil_calendar.py::TestXMILCalendar::test_prev_next_open_close PASSED [ 66%] 5004s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_in_range PASSED [ 66%] 5004s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_has_break PASSED [ 66%] 5004s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_window PASSED [ 66%] 5005s tests/test_xmil_calendar.py::TestXMILCalendar::test_sessions_distance PASSED [ 66%] 5006s tests/test_xmil_calendar.py::TestXMILCalendar::test_trading_index PASSED [ 66%] 5006s tests/test_xmil_calendar.py::TestXMILCalendar::test_deprecated PASSED [ 66%] 5006s tests/test_xmos_calendar.py::TestXMOSCalendar::test_base_integrity PASSED [ 66%] 5086s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv PASSED [ 66%] 5104s tests/test_xmos_calendar.py::TestXMOSCalendar::test_start_end PASSED [ 66%] 5114s tests/test_xmos_calendar.py::TestXMOSCalendar::test_invalid_input PASSED [ 66%] 5163s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_max PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sanity_check_session_lengths PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_specification PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_daylight_savings PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions PASSED [ 66%] 5181s tests/test_xmos_calendar.py::TestXMOSCalendar::test_opens_closes_break_starts_ends PASSED [ 66%] 5182s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[both] PASSED [ 66%] 5185s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[both] PASSED [ 66%] 5186s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[both] PASSED [ 66%] 5188s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[both] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[both] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-next] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-next] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 66%] 5194s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[left] PASSED [ 66%] 5199s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[left] PASSED [ 66%] 5200s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[left] PASSED [ 66%] 5207s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[left] PASSED [ 66%] 5207s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-previous] PASSED [ 66%] 5207s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 66%] 5207s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-previous] PASSED [ 66%] 5207s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 66%] 5208s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-previous] PASSED [ 66%] 5208s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 66%] 5208s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-next] PASSED [ 66%] 5208s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 66%] 5208s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[right] PASSED [ 66%] 5211s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[right] PASSED [ 66%] 5211s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[right] PASSED [ 66%] 5211s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[right] PASSED [ 66%] 5212s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[right] PASSED [ 66%] 5212s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[right] PASSED [ 66%] 5212s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[right] PASSED [ 66%] 5212s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[right] PASSED [ 67%] 5214s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[right] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[right] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[right-none] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[left-none] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[both-none] PASSED [ 67%] 5220s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-none] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-previous] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_session[neither-next] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 67%] 5221s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_properties[neither] PASSED [ 67%] 5225s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes[neither] PASSED [ 67%] 5225s tests/test_xmos_calendar.py::TestXMOSCalendar::test_calendar_bounds_properties[neither] PASSED [ 67%] 5225s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minute_methods[neither] PASSED [ 67%] 5226s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_minutes[neither] PASSED [ 67%] 5226s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_trading_minute[neither] PASSED [ 67%] 5226s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_break_minute[neither] PASSED [ 67%] 5226s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_on_minute[neither] PASSED [ 67%] 5228s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_open_at_time[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_minute[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[neither] PASSED [ 67%] 5234s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[neither] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[neither] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[neither] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[right] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[left] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[left] PASSED [ 67%] 5235s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[left] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_past_session[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_to_future_session[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minute_offset_by_sessions[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_in_range[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_window[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_distance[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_minutes_to_sessions[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_minutes_count[both] PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_has_break PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_regular_holidays_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_adhoc_holidays_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_holidays_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_sample_time PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes_weekdays_time PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample PASSED [ 67%] 5236s tests/test_xmos_calendar.py::TestXMOSCalendar::test_non_early_closes_sample_time PASSED [ 67%] 5237s tests/test_xmos_calendar.py::TestXMOSCalendar::test_late_opens PASSED [ 67%] 5237s tests/test_xmos_calendar.py::TestXMOSCalendar::test_early_closes PASSED [ 67%] 5237s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_open_close_break_start_end PASSED [ 67%] 5237s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_has_break PASSED [ 67%] 5238s tests/test_xmos_calendar.py::TestXMOSCalendar::test_next_prev_session PASSED [ 67%] 5238s tests/test_xmos_calendar.py::TestXMOSCalendar::test_session_offset PASSED [ 67%] 5238s tests/test_xmos_calendar.py::TestXMOSCalendar::test_is_session PASSED [ 67%] 5240s tests/test_xmos_calendar.py::TestXMOSCalendar::test_date_to_session PASSED [ 67%] 5250s tests/test_xmos_calendar.py::TestXMOSCalendar::test_prev_next_open_close PASSED [ 67%] 5250s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_in_range PASSED [ 67%] 5250s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_has_break PASSED [ 67%] 5250s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_window PASSED [ 67%] 5250s tests/test_xmos_calendar.py::TestXMOSCalendar::test_sessions_distance PASSED [ 67%] 5251s tests/test_xmos_calendar.py::TestXMOSCalendar::test_trading_index PASSED [ 67%] 5251s tests/test_xmos_calendar.py::TestXMOSCalendar::test_deprecated PASSED [ 67%] 5251s tests/test_xnys_calendar.py::TestXNYSCalendar::test_base_integrity PASSED [ 67%] 5264s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calculated_against_csv PASSED [ 67%] 5267s tests/test_xnys_calendar.py::TestXNYSCalendar::test_start_end PASSED [ 67%] 5268s tests/test_xnys_calendar.py::TestXNYSCalendar::test_invalid_input PASSED [ 67%] 5276s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_min PASSED [ 67%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_bound_max PASSED [ 67%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sanity_check_session_lengths PASSED [ 68%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_specification PASSED [ 68%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_daylight_savings PASSED [ 68%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions PASSED [ 68%] 5278s tests/test_xnys_calendar.py::TestXNYSCalendar::test_opens_closes_break_starts_ends PASSED [ 68%] 5279s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[both] PASSED [ 68%] 5282s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[both] PASSED [ 68%] 5284s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[both] PASSED [ 68%] 5289s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[both] PASSED [ 68%] 5289s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-next] PASSED [ 68%] 5289s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 68%] 5290s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-next] PASSED [ 68%] 5290s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 68%] 5290s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[left] PASSED [ 68%] 5293s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[left] PASSED [ 68%] 5295s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[left] PASSED [ 68%] 5300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[left] PASSED [ 68%] 5300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-previous] PASSED [ 68%] 5300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 68%] 5300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-previous] PASSED [ 68%] 5300s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 68%] 5301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-previous] PASSED [ 68%] 5301s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 68%] 5302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-next] PASSED [ 68%] 5302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 68%] 5302s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[right] PASSED [ 68%] 5304s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[right] PASSED [ 68%] 5305s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[right] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[right] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[right-none] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[left-none] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[both-none] PASSED [ 68%] 5311s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-none] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-previous] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_session[neither-next] PASSED [ 68%] 5312s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 68%] 5313s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_properties[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_calendar_bounds_properties[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minute_methods[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_minutes[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_trading_minute[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_break_minute[neither] PASSED [ 68%] 5315s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_on_minute[neither] PASSED [ 68%] 5317s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_open_at_time[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_minute[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[neither] PASSED [ 68%] 5322s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[right] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[left] PASSED [ 68%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[left] PASSED [ 69%] 5323s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[left] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_past_session[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_to_future_session[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minute_offset_by_sessions[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_in_range[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_window[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_distance[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_minutes_to_sessions[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_minutes_count[both] PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_has_break PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_regular_holidays_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_adhoc_holidays_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_holidays_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_sample_time PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes_weekdays_time PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_non_early_closes_sample_time PASSED [ 69%] 5324s tests/test_xnys_calendar.py::TestXNYSCalendar::test_late_opens PASSED [ 69%] 5325s tests/test_xnys_calendar.py::TestXNYSCalendar::test_early_closes PASSED [ 69%] 5325s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_open_close_break_start_end PASSED [ 69%] 5325s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_has_break PASSED [ 69%] 5326s tests/test_xnys_calendar.py::TestXNYSCalendar::test_next_prev_session PASSED [ 69%] 5326s tests/test_xnys_calendar.py::TestXNYSCalendar::test_session_offset PASSED [ 69%] 5327s tests/test_xnys_calendar.py::TestXNYSCalendar::test_is_session PASSED [ 69%] 5327s tests/test_xnys_calendar.py::TestXNYSCalendar::test_date_to_session PASSED [ 69%] 5338s tests/test_xnys_calendar.py::TestXNYSCalendar::test_prev_next_open_close PASSED [ 69%] 5338s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_in_range PASSED [ 69%] 5338s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_has_break PASSED [ 69%] 5338s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_window PASSED [ 69%] 5338s tests/test_xnys_calendar.py::TestXNYSCalendar::test_sessions_distance PASSED [ 69%] 5339s tests/test_xnys_calendar.py::TestXNYSCalendar::test_trading_index PASSED [ 69%] 5339s tests/test_xnys_calendar.py::TestXNYSCalendar::test_deprecated PASSED [ 69%] 5339s tests/test_xnze_calendar.py::TestXNZECalendar::test_base_integrity PASSED [ 69%] 5350s tests/test_xnze_calendar.py::TestXNZECalendar::test_calculated_against_csv PASSED [ 69%] 5352s tests/test_xnze_calendar.py::TestXNZECalendar::test_start_end PASSED [ 69%] 5352s tests/test_xnze_calendar.py::TestXNZECalendar::test_invalid_input PASSED [ 69%] 5359s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_min PASSED [ 69%] 5360s tests/test_xnze_calendar.py::TestXNZECalendar::test_bound_max PASSED [ 69%] 5360s tests/test_xnze_calendar.py::TestXNZECalendar::test_sanity_check_session_lengths PASSED [ 69%] 5360s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_specification PASSED [ 69%] 5361s tests/test_xnze_calendar.py::TestXNZECalendar::test_daylight_savings PASSED [ 69%] 5361s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions PASSED [ 69%] 5361s tests/test_xnze_calendar.py::TestXNZECalendar::test_opens_closes_break_starts_ends PASSED [ 69%] 5361s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[both] PASSED [ 69%] 5364s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[both] PASSED [ 69%] 5366s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[both] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[both] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-next] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-next] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-next] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-next] PASSED [ 69%] 5371s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[left] PASSED [ 69%] 5374s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[left] PASSED [ 69%] 5376s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[left] PASSED [ 69%] 5381s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[left] PASSED [ 69%] 5381s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-previous] PASSED [ 69%] 5381s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 69%] 5381s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-previous] PASSED [ 69%] 5381s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 69%] 5383s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-previous] PASSED [ 69%] 5383s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 69%] 5383s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-next] PASSED [ 69%] 5383s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-next] PASSED [ 69%] 5383s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[right] PASSED [ 69%] 5385s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[right] PASSED [ 69%] 5386s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[right] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[right] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[right-none] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[right-none] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[left-none] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[left-none] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[both-none] PASSED [ 69%] 5391s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[both-none] PASSED [ 69%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-none] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-previous] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_session[neither-next] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 70%] 5392s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_properties[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_calendar_bounds_properties[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minute_methods[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_minutes[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_trading_minute[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_break_minute[neither] PASSED [ 70%] 5395s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_on_minute[neither] PASSED [ 70%] 5396s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_open_at_time[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_minute[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[neither] PASSED [ 70%] 5402s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[neither] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[neither] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[neither] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[neither] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[right] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[left] PASSED [ 70%] 5403s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[left] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_past_session[both] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_to_future_session[both] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset[both] PASSED [ 70%] 5404s tests/test_xnze_calendar.py::TestXNZECalendar::test_minute_offset_by_sessions[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_in_range[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_window[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_distance[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_minutes_to_sessions[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_minutes_count[both] PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_has_break PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_regular_holidays_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_adhoc_holidays_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_holidays_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_sample_time PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes_weekdays_time PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_non_early_closes_sample_time PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_late_opens PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_early_closes PASSED [ 70%] 5405s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_open_close_break_start_end PASSED [ 70%] 5406s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_has_break PASSED [ 70%] 5406s tests/test_xnze_calendar.py::TestXNZECalendar::test_next_prev_session PASSED [ 70%] 5406s tests/test_xnze_calendar.py::TestXNZECalendar::test_session_offset PASSED [ 70%] 5407s tests/test_xnze_calendar.py::TestXNZECalendar::test_is_session PASSED [ 70%] 5408s tests/test_xnze_calendar.py::TestXNZECalendar::test_date_to_session PASSED [ 70%] 5419s tests/test_xnze_calendar.py::TestXNZECalendar::test_prev_next_open_close PASSED [ 70%] 5419s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_in_range PASSED [ 70%] 5419s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_has_break PASSED [ 70%] 5419s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_window PASSED [ 70%] 5419s tests/test_xnze_calendar.py::TestXNZECalendar::test_sessions_distance PASSED [ 70%] 5421s tests/test_xnze_calendar.py::TestXNZECalendar::test_trading_index PASSED [ 70%] 5421s tests/test_xnze_calendar.py::TestXNZECalendar::test_deprecated PASSED [ 70%] 5421s tests/test_xosl_calendar.py::TestXOSLCalendar::test_base_integrity PASSED [ 70%] 5432s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calculated_against_csv PASSED [ 70%] 5434s tests/test_xosl_calendar.py::TestXOSLCalendar::test_start_end PASSED [ 70%] 5435s tests/test_xosl_calendar.py::TestXOSLCalendar::test_invalid_input PASSED [ 70%] 5441s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_min PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_bound_max PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sanity_check_session_lengths PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_specification PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_daylight_savings PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions PASSED [ 70%] 5443s tests/test_xosl_calendar.py::TestXOSLCalendar::test_opens_closes_break_starts_ends PASSED [ 70%] 5444s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[both] PASSED [ 70%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[both] PASSED [ 70%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[both] PASSED [ 70%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[both] PASSED [ 70%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[both] PASSED [ 71%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[both] PASSED [ 71%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[both] PASSED [ 71%] 5446s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[both] PASSED [ 71%] 5448s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[both] PASSED [ 71%] 5453s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[both] PASSED [ 71%] 5453s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-next] PASSED [ 71%] 5453s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-next] PASSED [ 71%] 5454s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-next] PASSED [ 71%] 5454s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-next] PASSED [ 71%] 5454s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[left] PASSED [ 71%] 5456s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[left] PASSED [ 71%] 5456s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[left] PASSED [ 71%] 5457s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[left] PASSED [ 71%] 5457s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[left] PASSED [ 71%] 5457s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[left] PASSED [ 71%] 5457s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[left] PASSED [ 71%] 5457s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[left] PASSED [ 71%] 5459s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[left] PASSED [ 71%] 5463s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[left] PASSED [ 71%] 5463s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-previous] PASSED [ 71%] 5463s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 71%] 5463s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-previous] PASSED [ 71%] 5463s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 71%] 5465s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-previous] PASSED [ 71%] 5465s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 71%] 5465s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-next] PASSED [ 71%] 5465s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-next] PASSED [ 71%] 5465s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[right] PASSED [ 71%] 5467s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[right] PASSED [ 71%] 5469s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[right] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[right] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[right-none] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[right-none] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[left-none] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[left-none] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[both-none] PASSED [ 71%] 5473s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[both-none] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-none] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-previous] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_session[neither-next] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 71%] 5474s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_properties[neither] PASSED [ 71%] 5476s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes[neither] PASSED [ 71%] 5476s tests/test_xosl_calendar.py::TestXOSLCalendar::test_calendar_bounds_properties[neither] PASSED [ 71%] 5476s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minute_methods[neither] PASSED [ 71%] 5477s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_minutes[neither] PASSED [ 71%] 5477s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_trading_minute[neither] PASSED [ 71%] 5477s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_break_minute[neither] PASSED [ 71%] 5477s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_on_minute[neither] PASSED [ 71%] 5478s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_open_at_time[neither] PASSED [ 71%] 5483s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_minute[neither] PASSED [ 71%] 5483s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[neither] PASSED [ 71%] 5483s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[neither] PASSED [ 71%] 5483s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[neither] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[right] PASSED [ 71%] 5484s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[right] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[left] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_past_session[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_to_future_session[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minute_offset_by_sessions[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_in_range[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_window[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_distance[both] PASSED [ 71%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_minutes_to_sessions[both] PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes[both] PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_minutes_count[both] PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_has_break PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_regular_holidays_sample PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_adhoc_holidays_sample PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_holidays_sample PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens_sample PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_sample_time PASSED [ 72%] 5485s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes_weekdays_time PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_non_early_closes_sample_time PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_late_opens PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_early_closes PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_open_close_break_start_end PASSED [ 72%] 5486s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_has_break PASSED [ 72%] 5487s tests/test_xosl_calendar.py::TestXOSLCalendar::test_next_prev_session PASSED [ 72%] 5487s tests/test_xosl_calendar.py::TestXOSLCalendar::test_session_offset PASSED [ 72%] 5487s tests/test_xosl_calendar.py::TestXOSLCalendar::test_is_session PASSED [ 72%] 5489s tests/test_xosl_calendar.py::TestXOSLCalendar::test_date_to_session PASSED [ 72%] 5497s tests/test_xosl_calendar.py::TestXOSLCalendar::test_prev_next_open_close PASSED [ 72%] 5497s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_in_range PASSED [ 72%] 5497s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_has_break PASSED [ 72%] 5497s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_window PASSED [ 72%] 5498s tests/test_xosl_calendar.py::TestXOSLCalendar::test_sessions_distance PASSED [ 72%] 5498s tests/test_xosl_calendar.py::TestXOSLCalendar::test_trading_index PASSED [ 72%] 5498s tests/test_xosl_calendar.py::TestXOSLCalendar::test_deprecated PASSED [ 72%] 5498s tests/test_xpar_calendar.py::TestXPARCalendar::test_base_integrity PASSED [ 72%] 5507s tests/test_xpar_calendar.py::TestXPARCalendar::test_calculated_against_csv PASSED [ 72%] 5508s tests/test_xpar_calendar.py::TestXPARCalendar::test_start_end PASSED [ 72%] 5509s tests/test_xpar_calendar.py::TestXPARCalendar::test_invalid_input PASSED [ 72%] 5515s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_min PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_bound_max PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_sanity_check_session_lengths PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_specification PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_daylight_savings PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions PASSED [ 72%] 5517s tests/test_xpar_calendar.py::TestXPARCalendar::test_opens_closes_break_starts_ends PASSED [ 72%] 5518s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[both] PASSED [ 72%] 5521s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[both] PASSED [ 72%] 5523s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[both] PASSED [ 72%] 5528s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[both] PASSED [ 72%] 5528s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-next] PASSED [ 72%] 5528s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 72%] 5529s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-next] PASSED [ 72%] 5529s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 72%] 5529s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[left] PASSED [ 72%] 5531s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[left] PASSED [ 72%] 5533s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[left] PASSED [ 72%] 5538s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[left] PASSED [ 72%] 5538s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-previous] PASSED [ 72%] 5538s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 72%] 5538s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-previous] PASSED [ 72%] 5538s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 72%] 5540s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-previous] PASSED [ 72%] 5540s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 72%] 5540s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-next] PASSED [ 72%] 5540s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 72%] 5540s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[right] PASSED [ 72%] 5543s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[right] PASSED [ 72%] 5546s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[right] PASSED [ 72%] 5550s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[right] PASSED [ 72%] 5550s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[right-none] PASSED [ 72%] 5550s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 72%] 5550s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[left-none] PASSED [ 72%] 5550s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 72%] 5551s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[both-none] PASSED [ 72%] 5551s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-none] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-previous] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_session[neither-next] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 72%] 5553s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_properties[neither] PASSED [ 72%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes[neither] PASSED [ 72%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_calendar_bounds_properties[neither] PASSED [ 72%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minute_methods[neither] PASSED [ 73%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_minutes[neither] PASSED [ 73%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_trading_minute[neither] PASSED [ 73%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_break_minute[neither] PASSED [ 73%] 5556s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_on_minute[neither] PASSED [ 73%] 5558s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_open_at_time[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_minute[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[neither] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[right] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[right] PASSED [ 73%] 5563s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[right] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[left] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_past_session[both] PASSED [ 73%] 5564s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_to_future_session[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minute_offset_by_sessions[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_in_range[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_window[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_distance[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_minutes_to_sessions[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_minutes_count[both] PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_has_break PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_regular_holidays_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_adhoc_holidays_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_holidays_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_sample_time PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes_weekdays_time PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_non_early_closes_sample_time PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_late_opens PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_early_closes PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_open_close_break_start_end PASSED [ 73%] 5565s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_has_break PASSED [ 73%] 5566s tests/test_xpar_calendar.py::TestXPARCalendar::test_next_prev_session PASSED [ 73%] 5566s tests/test_xpar_calendar.py::TestXPARCalendar::test_session_offset PASSED [ 73%] 5567s tests/test_xpar_calendar.py::TestXPARCalendar::test_is_session PASSED [ 73%] 5568s tests/test_xpar_calendar.py::TestXPARCalendar::test_date_to_session PASSED [ 73%] 5576s tests/test_xpar_calendar.py::TestXPARCalendar::test_prev_next_open_close PASSED [ 73%] 5577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_in_range PASSED [ 73%] 5577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_has_break PASSED [ 73%] 5577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_window PASSED [ 73%] 5577s tests/test_xpar_calendar.py::TestXPARCalendar::test_sessions_distance PASSED [ 73%] 5578s tests/test_xpar_calendar.py::TestXPARCalendar::test_trading_index PASSED [ 73%] 5578s tests/test_xpar_calendar.py::TestXPARCalendar::test_deprecated PASSED [ 73%] 5578s tests/test_xphs_calendar.py::TestXPHSCalendar::test_base_integrity PASSED [ 73%] 5590s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calculated_against_csv PASSED [ 73%] 5592s tests/test_xphs_calendar.py::TestXPHSCalendar::test_start_end PASSED [ 73%] 5593s tests/test_xphs_calendar.py::TestXPHSCalendar::test_invalid_input PASSED [ 73%] 5600s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_min PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_bound_max PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sanity_check_session_lengths PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_specification PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_daylight_savings PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions PASSED [ 73%] 5602s tests/test_xphs_calendar.py::TestXPHSCalendar::test_opens_closes_break_starts_ends PASSED [ 73%] 5603s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[both] PASSED [ 73%] 5607s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[both] PASSED [ 73%] 5609s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[both] PASSED [ 73%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[both] PASSED [ 73%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-next] PASSED [ 73%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 73%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-next] PASSED [ 74%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 74%] 5615s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[left] PASSED [ 74%] 5618s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[left] PASSED [ 74%] 5620s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[left] PASSED [ 74%] 5627s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[left] PASSED [ 74%] 5627s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-previous] PASSED [ 74%] 5627s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 74%] 5627s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-previous] PASSED [ 74%] 5627s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 74%] 5628s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-previous] PASSED [ 74%] 5628s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 74%] 5628s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-next] PASSED [ 74%] 5628s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 74%] 5628s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[right] PASSED [ 74%] 5631s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[right] PASSED [ 74%] 5633s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[right] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[right] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[right-none] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[left-none] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[both-none] PASSED [ 74%] 5639s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-none] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-previous] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_session[neither-next] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 74%] 5641s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_properties[neither] PASSED [ 74%] 5643s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes[neither] PASSED [ 74%] 5643s tests/test_xphs_calendar.py::TestXPHSCalendar::test_calendar_bounds_properties[neither] PASSED [ 74%] 5643s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minute_methods[neither] PASSED [ 74%] 5644s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_minutes[neither] PASSED [ 74%] 5644s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_trading_minute[neither] PASSED [ 74%] 5644s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_break_minute[neither] PASSED [ 74%] 5644s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_on_minute[neither] PASSED [ 74%] 5646s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_open_at_time[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_minute[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[neither] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[right] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[left] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[left] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[left] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[left] PASSED [ 74%] 5652s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[left] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_past_session[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_to_future_session[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minute_offset_by_sessions[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_in_range[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_window[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_distance[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_minutes_to_sessions[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_minutes_count[both] PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_has_break PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_regular_holidays_sample PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_adhoc_holidays_sample PASSED [ 74%] 5653s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_holidays_sample PASSED [ 74%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens_sample PASSED [ 74%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_sample_time PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes_weekdays_time PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_non_early_closes_sample_time PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_late_opens PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_early_closes PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_open_close_break_start_end PASSED [ 75%] 5654s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_has_break PASSED [ 75%] 5655s tests/test_xphs_calendar.py::TestXPHSCalendar::test_next_prev_session PASSED [ 75%] 5655s tests/test_xphs_calendar.py::TestXPHSCalendar::test_session_offset PASSED [ 75%] 5656s tests/test_xphs_calendar.py::TestXPHSCalendar::test_is_session PASSED [ 75%] 5658s tests/test_xphs_calendar.py::TestXPHSCalendar::test_date_to_session PASSED [ 75%] 5670s tests/test_xphs_calendar.py::TestXPHSCalendar::test_prev_next_open_close PASSED [ 75%] 5670s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_in_range PASSED [ 75%] 5670s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_has_break PASSED [ 75%] 5670s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_window PASSED [ 75%] 5671s tests/test_xphs_calendar.py::TestXPHSCalendar::test_sessions_distance PASSED [ 75%] 5672s tests/test_xphs_calendar.py::TestXPHSCalendar::test_trading_index PASSED [ 75%] 5672s tests/test_xphs_calendar.py::TestXPHSCalendar::test_deprecated PASSED [ 75%] 5672s tests/test_xpra_calendar.py::TestXPRACalendar::test_base_integrity PASSED [ 75%] 5683s tests/test_xpra_calendar.py::TestXPRACalendar::test_calculated_against_csv PASSED [ 75%] 5685s tests/test_xpra_calendar.py::TestXPRACalendar::test_start_end PASSED [ 75%] 5685s tests/test_xpra_calendar.py::TestXPRACalendar::test_invalid_input PASSED [ 75%] 5691s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_min PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_bound_max PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_sanity_check_session_lengths PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_specification PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_daylight_savings PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions PASSED [ 75%] 5693s tests/test_xpra_calendar.py::TestXPRACalendar::test_opens_closes_break_starts_ends PASSED [ 75%] 5694s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[both] PASSED [ 75%] 5697s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[both] PASSED [ 75%] 5699s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[both] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[both] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-next] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-next] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 75%] 5705s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[left] PASSED [ 75%] 5708s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[left] PASSED [ 75%] 5710s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[left] PASSED [ 75%] 5715s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[left] PASSED [ 75%] 5715s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-previous] PASSED [ 75%] 5715s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 75%] 5715s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-previous] PASSED [ 75%] 5715s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 75%] 5716s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-previous] PASSED [ 75%] 5716s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 75%] 5716s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-next] PASSED [ 75%] 5716s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 75%] 5716s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[right] PASSED [ 75%] 5718s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[right] PASSED [ 75%] 5720s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[right] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[right] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[right-none] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[left-none] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[both-none] PASSED [ 75%] 5725s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-none] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-previous] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_session[neither-next] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 75%] 5726s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_properties[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_calendar_bounds_properties[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minute_methods[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_minutes[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_trading_minute[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_break_minute[neither] PASSED [ 75%] 5729s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_on_minute[neither] PASSED [ 75%] 5732s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_open_at_time[neither] PASSED [ 75%] 5737s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_minute[neither] PASSED [ 75%] 5737s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[neither] PASSED [ 75%] 5737s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[neither] PASSED [ 76%] 5737s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[neither] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[right] PASSED [ 76%] 5738s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[right] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[right] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[right] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[left] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_past_session[both] PASSED [ 76%] 5739s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_to_future_session[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minute_offset_by_sessions[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_in_range[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_window[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_distance[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_minutes_to_sessions[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_minutes_count[both] PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_has_break PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_regular_holidays_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_adhoc_holidays_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_holidays_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_sample_time PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes_weekdays_time PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_non_early_closes_sample_time PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_late_opens PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_early_closes PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_open_close_break_start_end PASSED [ 76%] 5740s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_has_break PASSED [ 76%] 5741s tests/test_xpra_calendar.py::TestXPRACalendar::test_next_prev_session PASSED [ 76%] 5741s tests/test_xpra_calendar.py::TestXPRACalendar::test_session_offset PASSED [ 76%] 5742s tests/test_xpra_calendar.py::TestXPRACalendar::test_is_session PASSED [ 76%] 5743s tests/test_xpra_calendar.py::TestXPRACalendar::test_date_to_session PASSED [ 76%] 5754s tests/test_xpra_calendar.py::TestXPRACalendar::test_prev_next_open_close PASSED [ 76%] 5754s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_in_range PASSED [ 76%] 5754s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_has_break PASSED [ 76%] 5754s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_window PASSED [ 76%] 5754s tests/test_xpra_calendar.py::TestXPRACalendar::test_sessions_distance PASSED [ 76%] 5756s tests/test_xpra_calendar.py::TestXPRACalendar::test_trading_index PASSED [ 76%] 5756s tests/test_xpra_calendar.py::TestXPRACalendar::test_deprecated PASSED [ 76%] 5756s tests/test_xris_calendar.py::TestXRISCalendar::test_base_integrity PASSED [ 76%] 5761s tests/test_xris_calendar.py::TestXRISCalendar::test_calculated_against_csv PASSED [ 76%] 5763s tests/test_xris_calendar.py::TestXRISCalendar::test_start_end PASSED [ 76%] 5763s tests/test_xris_calendar.py::TestXRISCalendar::test_invalid_input PASSED [ 76%] 5771s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_min PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_bound_max PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_sanity_check_session_lengths PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_specification PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_daylight_savings PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions PASSED [ 76%] 5772s tests/test_xris_calendar.py::TestXRISCalendar::test_opens_closes_break_starts_ends PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[both] PASSED [ 76%] 5773s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[both] PASSED [ 76%] 5774s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[both] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[both] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-next] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-next] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[left] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[left] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[left] PASSED [ 76%] 5775s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[left] PASSED [ 76%] 5776s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[left] PASSED [ 76%] 5776s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[left] PASSED [ 76%] 5776s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[left] PASSED [ 76%] 5776s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[left] PASSED [ 77%] 5777s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[left] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[left] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-next] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 77%] 5778s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[right] PASSED [ 77%] 5779s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[right] PASSED [ 77%] 5780s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[right] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[right] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[right-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[left-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[both-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-previous] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_session[neither-next] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 77%] 5781s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_properties[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_calendar_bounds_properties[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minute_methods[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_session_minutes[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_is_trading_minute[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_is_break_minute[neither] PASSED [ 77%] 5782s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_on_minute[neither] PASSED [ 77%] 5783s tests/test_xris_calendar.py::TestXRISCalendar::test_is_open_at_time[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_minute[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[neither] PASSED [ 77%] 5784s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[right] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[left] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_past_session[both] PASSED [ 77%] 5785s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_to_future_session[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minute_offset_by_sessions[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_in_range[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_window[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_distance[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_minutes_to_sessions[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_minutes_count[both] PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_has_break PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_regular_holidays_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_adhoc_holidays_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_non_holidays_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_sample_time PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes_weekdays_time PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_non_early_closes_sample_time PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_late_opens PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_early_closes PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_session_open_close_break_start_end PASSED [ 77%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_session_has_break PASSED [ 78%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_next_prev_session PASSED [ 78%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_session_offset PASSED [ 78%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_is_session PASSED [ 78%] 5786s tests/test_xris_calendar.py::TestXRISCalendar::test_date_to_session PASSED [ 78%] 5788s tests/test_xris_calendar.py::TestXRISCalendar::test_prev_next_open_close PASSED [ 78%] 5788s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_in_range PASSED [ 78%] 5788s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_has_break PASSED [ 78%] 5788s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_window PASSED [ 78%] 5788s tests/test_xris_calendar.py::TestXRISCalendar::test_sessions_distance PASSED [ 78%] 5789s tests/test_xris_calendar.py::TestXRISCalendar::test_trading_index PASSED [ 78%] 5789s tests/test_xris_calendar.py::TestXRISCalendar::test_deprecated PASSED [ 78%] 5789s tests/test_xsau_calendar.py::TestXASUCalendar::test_base_integrity PASSED [ 78%] 5793s tests/test_xsau_calendar.py::TestXASUCalendar::test_calculated_against_csv PASSED [ 78%] 5793s tests/test_xsau_calendar.py::TestXASUCalendar::test_start_end PASSED [ 78%] 5793s tests/test_xsau_calendar.py::TestXASUCalendar::test_invalid_input PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_min PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_bound_max PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_sanity_check_session_lengths PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_specification PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_daylight_savings PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_opens_closes_break_starts_ends PASSED [ 78%] 5794s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[both] PASSED [ 78%] 5795s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[both] PASSED [ 78%] 5796s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[both] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[both] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-next] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-next] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 78%] 5798s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[left] PASSED [ 78%] 5799s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[left] PASSED [ 78%] 5800s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[left] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[left] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-next] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 78%] 5802s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[right] PASSED [ 78%] 5803s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[right] PASSED [ 78%] 5805s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[right] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[right] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[right-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[left-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[both-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-previous] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_session[neither-next] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 78%] 5806s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_properties[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_calendar_bounds_properties[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minute_methods[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_minutes[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_trading_minute[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_break_minute[neither] PASSED [ 78%] 5807s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_on_minute[neither] PASSED [ 78%] 5808s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_open_at_time[neither] PASSED [ 78%] 5809s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_minute[neither] PASSED [ 78%] 5809s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[neither] PASSED [ 78%] 5809s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[neither] PASSED [ 78%] 5809s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[neither] PASSED [ 78%] 5809s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[neither] PASSED [ 78%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[right] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[left] PASSED [ 79%] 5810s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[left] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[left] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[left] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_past_session[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_to_future_session[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minute_offset_by_sessions[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_in_range[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_window[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_distance[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_minutes_to_sessions[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_minutes_count[both] PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_has_break PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_regular_holidays_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_adhoc_holidays_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_holidays_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_sample_time PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes_weekdays_time PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_non_early_closes_sample_time PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_late_opens PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_early_closes PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_open_close_break_start_end PASSED [ 79%] 5811s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_has_break PASSED [ 79%] 5812s tests/test_xsau_calendar.py::TestXASUCalendar::test_next_prev_session PASSED [ 79%] 5812s tests/test_xsau_calendar.py::TestXASUCalendar::test_session_offset PASSED [ 79%] 5812s tests/test_xsau_calendar.py::TestXASUCalendar::test_is_session PASSED [ 79%] 5812s tests/test_xsau_calendar.py::TestXASUCalendar::test_date_to_session PASSED [ 79%] 5816s tests/test_xsau_calendar.py::TestXASUCalendar::test_prev_next_open_close PASSED [ 79%] 5816s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_in_range PASSED [ 79%] 5816s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_has_break PASSED [ 79%] 5816s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_window PASSED [ 79%] 5816s tests/test_xsau_calendar.py::TestXASUCalendar::test_sessions_distance PASSED [ 79%] 5817s tests/test_xsau_calendar.py::TestXASUCalendar::test_trading_index PASSED [ 79%] 5817s tests/test_xsau_calendar.py::TestXASUCalendar::test_deprecated PASSED [ 79%] 5817s tests/test_xses_calendar.py::TestXSESCalendar::test_base_integrity PASSED [ 79%] 5829s tests/test_xses_calendar.py::TestXSESCalendar::test_calculated_against_csv PASSED [ 79%] 5829s tests/test_xses_calendar.py::TestXSESCalendar::test_start_end PASSED [ 79%] 5829s tests/test_xses_calendar.py::TestXSESCalendar::test_invalid_input PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_min PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_bound_max PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_sanity_check_session_lengths PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_specification PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_daylight_savings PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions PASSED [ 79%] 5831s tests/test_xses_calendar.py::TestXSESCalendar::test_opens_closes_break_starts_ends PASSED [ 79%] 5832s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[both] PASSED [ 79%] 5836s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[both] PASSED [ 79%] 5838s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[both] PASSED [ 79%] 5844s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[both] PASSED [ 79%] 5844s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-next] PASSED [ 79%] 5844s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-next] PASSED [ 79%] 5845s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-next] PASSED [ 79%] 5845s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 79%] 5845s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[left] PASSED [ 79%] 5849s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[left] PASSED [ 79%] 5851s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[left] PASSED [ 79%] 5858s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[left] PASSED [ 79%] 5858s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-previous] PASSED [ 79%] 5858s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 79%] 5858s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-previous] PASSED [ 79%] 5858s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 79%] 5860s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-previous] PASSED [ 79%] 5860s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 80%] 5860s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-next] PASSED [ 80%] 5860s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 80%] 5860s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[right] PASSED [ 80%] 5865s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[right] PASSED [ 80%] 5866s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[right] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[right] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[right-none] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[left-none] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[both-none] PASSED [ 80%] 5873s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[both-none] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-none] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-previous] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_session[neither-next] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 80%] 5876s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_properties[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_calendar_bounds_properties[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minute_methods[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_session_minutes[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_is_trading_minute[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_is_break_minute[neither] PASSED [ 80%] 5880s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_on_minute[neither] PASSED [ 80%] 5882s tests/test_xses_calendar.py::TestXSESCalendar::test_is_open_at_time[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_minute[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[neither] PASSED [ 80%] 5888s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[neither] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[neither] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[neither] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[right] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[left] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_past_session[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_to_future_session[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minute_offset_by_sessions[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_in_range[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_window[both] PASSED [ 80%] 5889s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_distance[both] PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_minutes_to_sessions[both] PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes[both] PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_minutes_count[both] PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_has_break PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_regular_holidays_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_adhoc_holidays_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_non_holidays_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_sample_time PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes_weekdays_time PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_non_early_closes_sample_time PASSED [ 80%] 5890s tests/test_xses_calendar.py::TestXSESCalendar::test_late_opens PASSED [ 80%] 5891s tests/test_xses_calendar.py::TestXSESCalendar::test_early_closes PASSED [ 80%] 5891s tests/test_xses_calendar.py::TestXSESCalendar::test_session_open_close_break_start_end PASSED [ 80%] 5891s tests/test_xses_calendar.py::TestXSESCalendar::test_session_has_break PASSED [ 80%] 5892s tests/test_xses_calendar.py::TestXSESCalendar::test_next_prev_session PASSED [ 80%] 5892s tests/test_xses_calendar.py::TestXSESCalendar::test_session_offset PASSED [ 80%] 5892s tests/test_xses_calendar.py::TestXSESCalendar::test_is_session PASSED [ 80%] 5895s tests/test_xses_calendar.py::TestXSESCalendar::test_date_to_session PASSED [ 80%] 5906s tests/test_xses_calendar.py::TestXSESCalendar::test_prev_next_open_close PASSED [ 80%] 5906s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_in_range PASSED [ 80%] 5906s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_has_break PASSED [ 80%] 5906s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_window PASSED [ 81%] 5906s tests/test_xses_calendar.py::TestXSESCalendar::test_sessions_distance PASSED [ 81%] 5907s tests/test_xses_calendar.py::TestXSESCalendar::test_trading_index PASSED [ 81%] 5907s tests/test_xses_calendar.py::TestXSESCalendar::test_deprecated PASSED [ 81%] 5907s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_base_integrity PASSED [ 81%] 5922s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calculated_against_csv PASSED [ 81%] 5925s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_start_end PASSED [ 81%] 5927s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_invalid_input PASSED [ 81%] 5934s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_min PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_bound_max PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sanity_check_session_lengths PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_specification PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_daylight_savings PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_opens_closes_break_starts_ends PASSED [ 81%] 5937s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[both] PASSED [ 81%] 5940s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[both] PASSED [ 81%] 5941s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[both] PASSED [ 81%] 5943s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[both] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[both] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-next] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-next] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 81%] 5948s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[left] PASSED [ 81%] 5951s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[left] PASSED [ 81%] 5955s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[left] PASSED [ 81%] 5961s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[left] PASSED [ 81%] 5961s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-previous] PASSED [ 81%] 5961s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 81%] 5961s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-previous] PASSED [ 81%] 5961s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 81%] 5963s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-previous] PASSED [ 81%] 5963s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 81%] 5963s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-next] PASSED [ 81%] 5963s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 81%] 5963s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[right] PASSED [ 81%] 5966s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[right] PASSED [ 81%] 5968s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[right] PASSED [ 81%] 5976s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[right] PASSED [ 81%] 5976s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[right-none] PASSED [ 81%] 5976s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 81%] 5976s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[left-none] PASSED [ 81%] 5977s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 81%] 5977s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[both-none] PASSED [ 81%] 5977s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-none] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-previous] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_session[neither-next] PASSED [ 81%] 5978s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 81%] 5979s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_properties[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_calendar_bounds_properties[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minute_methods[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_minutes[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_trading_minute[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_break_minute[neither] PASSED [ 81%] 5981s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_on_minute[neither] PASSED [ 81%] 5984s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_open_at_time[neither] PASSED [ 81%] 5989s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_minute[neither] PASSED [ 81%] 5989s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[neither] PASSED [ 81%] 5989s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[neither] PASSED [ 81%] 5989s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[neither] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[right] PASSED [ 81%] 5990s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[right] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[right] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[left] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_past_session[both] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_to_future_session[both] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset[both] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minute_offset_by_sessions[both] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_in_range[both] PASSED [ 82%] 5991s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_window[both] PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_distance[both] PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_minutes_to_sessions[both] PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes[both] PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_minutes_count[both] PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_has_break PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_regular_holidays_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_adhoc_holidays_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_holidays_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_sample_time PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes_weekdays_time PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_non_early_closes_sample_time PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_late_opens PASSED [ 82%] 5992s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_early_closes PASSED [ 82%] 5993s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_open_close_break_start_end PASSED [ 82%] 5993s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_has_break PASSED [ 82%] 5994s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_next_prev_session PASSED [ 82%] 5994s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_session_offset PASSED [ 82%] 5994s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_is_session PASSED [ 82%] 5996s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_date_to_session PASSED [ 82%] 6007s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_prev_next_open_close PASSED [ 82%] 6007s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_in_range PASSED [ 82%] 6007s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_has_break PASSED [ 82%] 6007s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_window PASSED [ 82%] 6007s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_sessions_distance PASSED [ 82%] 6008s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_trading_index PASSED [ 82%] 6008s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_deprecated PASSED [ 82%] 6008s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_additional_early_closes_sample PASSED [ 82%] 6008s tests/test_xsgo_calendar.py::TestXSGOCalendar::test_close_time_change PASSED [ 82%] 6008s tests/test_xshg_calendar.py::TestXSHGCalendar::test_base_integrity PASSED [ 82%] 6020s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calculated_against_csv PASSED [ 82%] 6020s tests/test_xshg_calendar.py::TestXSHGCalendar::test_start_end PASSED [ 82%] 6020s tests/test_xshg_calendar.py::TestXSHGCalendar::test_invalid_input PASSED [ 82%] 6022s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_min PASSED [ 82%] 6022s tests/test_xshg_calendar.py::TestXSHGCalendar::test_bound_max PASSED [ 82%] 6022s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sanity_check_session_lengths PASSED [ 82%] 6022s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_specification PASSED [ 82%] 6023s tests/test_xshg_calendar.py::TestXSHGCalendar::test_daylight_savings PASSED [ 82%] 6023s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions PASSED [ 82%] 6023s tests/test_xshg_calendar.py::TestXSHGCalendar::test_opens_closes_break_starts_ends PASSED [ 82%] 6024s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[both] PASSED [ 82%] 6026s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[both] PASSED [ 82%] 6026s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[both] PASSED [ 82%] 6027s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[both] PASSED [ 82%] 6027s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[both] PASSED [ 82%] 6027s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[both] PASSED [ 82%] 6027s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[both] PASSED [ 82%] 6027s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[both] PASSED [ 82%] 6032s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[both] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[both] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-next] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-next] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 82%] 6044s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[left] PASSED [ 82%] 6047s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[left] PASSED [ 82%] 6047s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[left] PASSED [ 82%] 6047s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[left] PASSED [ 82%] 6048s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[left] PASSED [ 82%] 6048s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[left] PASSED [ 82%] 6048s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[left] PASSED [ 82%] 6048s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[left] PASSED [ 82%] 6053s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[left] PASSED [ 82%] 6067s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[left] PASSED [ 82%] 6067s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-previous] PASSED [ 82%] 6067s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 82%] 6067s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-previous] PASSED [ 82%] 6067s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 82%] 6069s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-previous] PASSED [ 82%] 6069s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 82%] 6069s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-next] PASSED [ 82%] 6069s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 82%] 6069s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[right] PASSED [ 82%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[right] PASSED [ 82%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[right] PASSED [ 82%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[right] PASSED [ 82%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[right] PASSED [ 83%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[right] PASSED [ 83%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[right] PASSED [ 83%] 6072s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[right] PASSED [ 83%] 6078s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[right] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[right] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[right-none] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[left-none] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[both-none] PASSED [ 83%] 6091s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-none] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-previous] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_session[neither-next] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 83%] 6093s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_properties[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_calendar_bounds_properties[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minute_methods[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_minutes[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_trading_minute[neither] PASSED [ 83%] 6096s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_break_minute[neither] PASSED [ 83%] 6097s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_on_minute[neither] PASSED [ 83%] 6102s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_open_at_time[neither] PASSED [ 83%] 6113s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_minute[neither] PASSED [ 83%] 6113s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[neither] PASSED [ 83%] 6113s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[neither] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[right] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[right] PASSED [ 83%] 6114s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[right] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[left] PASSED [ 83%] 6115s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[left] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[left] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[left] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_past_session[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_to_future_session[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minute_offset_by_sessions[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_in_range[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_window[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_distance[both] PASSED [ 83%] 6116s tests/test_xshg_calendar.py::TestXSHGCalendar::test_minutes_to_sessions[both] PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes[both] PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_minutes_count[both] PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_has_break PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_regular_holidays_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_adhoc_holidays_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_holidays_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_sample_time PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes_weekdays_time PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_non_early_closes_sample_time PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_late_opens PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_early_closes PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_open_close_break_start_end PASSED [ 83%] 6117s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_has_break PASSED [ 83%] 6118s tests/test_xshg_calendar.py::TestXSHGCalendar::test_next_prev_session PASSED [ 83%] 6118s tests/test_xshg_calendar.py::TestXSHGCalendar::test_session_offset PASSED [ 83%] 6119s tests/test_xshg_calendar.py::TestXSHGCalendar::test_is_session PASSED [ 83%] 6120s tests/test_xshg_calendar.py::TestXSHGCalendar::test_date_to_session PASSED [ 83%] 6132s tests/test_xshg_calendar.py::TestXSHGCalendar::test_prev_next_open_close PASSED [ 83%] 6132s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_in_range PASSED [ 83%] 6132s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_has_break PASSED [ 83%] 6132s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_window PASSED [ 83%] 6132s tests/test_xshg_calendar.py::TestXSHGCalendar::test_sessions_distance PASSED [ 83%] 6135s tests/test_xshg_calendar.py::TestXSHGCalendar::test_trading_index PASSED [ 83%] 6135s tests/test_xshg_calendar.py::TestXSHGCalendar::test_deprecated PASSED [ 83%] 6135s tests/test_xsto_calendar.py::TestXSTOCalendar::test_base_integrity PASSED [ 83%] 6148s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calculated_against_csv PASSED [ 83%] 6149s tests/test_xsto_calendar.py::TestXSTOCalendar::test_start_end PASSED [ 83%] 6150s tests/test_xsto_calendar.py::TestXSTOCalendar::test_invalid_input PASSED [ 84%] 6156s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_min PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_bound_max PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sanity_check_session_lengths PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_specification PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_daylight_savings PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions PASSED [ 84%] 6158s tests/test_xsto_calendar.py::TestXSTOCalendar::test_opens_closes_break_starts_ends PASSED [ 84%] 6159s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[both] PASSED [ 84%] 6162s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[both] PASSED [ 84%] 6163s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[both] PASSED [ 84%] 6165s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[both] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[both] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-next] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-next] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 84%] 6172s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[left] PASSED [ 84%] 6175s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[left] PASSED [ 84%] 6178s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[left] PASSED [ 84%] 6184s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[left] PASSED [ 84%] 6184s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-previous] PASSED [ 84%] 6184s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 84%] 6184s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-previous] PASSED [ 84%] 6184s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 84%] 6186s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-previous] PASSED [ 84%] 6186s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 84%] 6186s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-next] PASSED [ 84%] 6186s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 84%] 6186s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[right] PASSED [ 84%] 6188s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[right] PASSED [ 84%] 6190s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[right] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[right] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[right-none] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[left-none] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[both-none] PASSED [ 84%] 6196s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-none] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-previous] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_session[neither-next] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 84%] 6197s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_properties[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_calendar_bounds_properties[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minute_methods[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_minutes[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_trading_minute[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_break_minute[neither] PASSED [ 84%] 6200s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_on_minute[neither] PASSED [ 84%] 6201s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_open_at_time[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_minute[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[neither] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[right] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[right] PASSED [ 84%] 6206s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[right] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[left] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[left] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[left] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[left] PASSED [ 84%] 6207s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[left] PASSED [ 84%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[left] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[left] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[left] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[left] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[left] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_past_session[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_to_future_session[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minute_offset_by_sessions[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_in_range[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_window[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_distance[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_minutes_to_sessions[both] PASSED [ 85%] 6208s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes[both] PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_minutes_count[both] PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_has_break PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_regular_holidays_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_adhoc_holidays_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_holidays_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_sample_time PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes_weekdays_time PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_non_early_closes_sample_time PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_late_opens PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_early_closes PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_open_close_break_start_end PASSED [ 85%] 6209s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_has_break PASSED [ 85%] 6211s tests/test_xsto_calendar.py::TestXSTOCalendar::test_next_prev_session PASSED [ 85%] 6211s tests/test_xsto_calendar.py::TestXSTOCalendar::test_session_offset PASSED [ 85%] 6211s tests/test_xsto_calendar.py::TestXSTOCalendar::test_is_session PASSED [ 85%] 6212s tests/test_xsto_calendar.py::TestXSTOCalendar::test_date_to_session PASSED [ 85%] 6222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_prev_next_open_close PASSED [ 85%] 6222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_in_range PASSED [ 85%] 6222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_has_break PASSED [ 85%] 6222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_window PASSED [ 85%] 6222s tests/test_xsto_calendar.py::TestXSTOCalendar::test_sessions_distance PASSED [ 85%] 6223s tests/test_xsto_calendar.py::TestXSTOCalendar::test_trading_index PASSED [ 85%] 6223s tests/test_xsto_calendar.py::TestXSTOCalendar::test_deprecated PASSED [ 85%] 6223s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_base_integrity PASSED [ 85%] 6236s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calculated_against_csv PASSED [ 85%] 6237s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_start_end PASSED [ 85%] 6238s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_invalid_input PASSED [ 85%] 6246s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_min PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_bound_max PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sanity_check_session_lengths PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_specification PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_daylight_savings PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions PASSED [ 85%] 6248s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_opens_closes_break_starts_ends PASSED [ 85%] 6249s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[both] PASSED [ 85%] 6252s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[both] PASSED [ 85%] 6252s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[both] PASSED [ 85%] 6253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[both] PASSED [ 85%] 6253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[both] PASSED [ 85%] 6253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[both] PASSED [ 85%] 6253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[both] PASSED [ 85%] 6253s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[both] PASSED [ 85%] 6254s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[both] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[both] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-next] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-next] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 85%] 6259s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[left] PASSED [ 85%] 6262s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[left] PASSED [ 85%] 6263s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[left] PASSED [ 85%] 6268s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[left] PASSED [ 85%] 6268s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-previous] PASSED [ 85%] 6268s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 85%] 6268s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-previous] PASSED [ 85%] 6268s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 85%] 6269s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-previous] PASSED [ 85%] 6269s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 85%] 6269s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-next] PASSED [ 85%] 6269s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 85%] 6269s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[right] PASSED [ 85%] 6272s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[right] PASSED [ 85%] 6274s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[right] PASSED [ 85%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[right] PASSED [ 85%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[right-none] PASSED [ 85%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 85%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[left-none] PASSED [ 85%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 86%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[both-none] PASSED [ 86%] 6280s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-none] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-previous] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_session[neither-next] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 86%] 6282s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_properties[neither] PASSED [ 86%] 6284s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes[neither] PASSED [ 86%] 6284s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_calendar_bounds_properties[neither] PASSED [ 86%] 6285s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minute_methods[neither] PASSED [ 86%] 6285s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_minutes[neither] PASSED [ 86%] 6285s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_trading_minute[neither] PASSED [ 86%] 6285s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_break_minute[neither] PASSED [ 86%] 6285s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_on_minute[neither] PASSED [ 86%] 6286s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_open_at_time[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_minute[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[neither] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[right] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[right] PASSED [ 86%] 6292s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[right] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[left] PASSED [ 86%] 6293s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[left] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[left] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[left] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_past_session[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_to_future_session[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minute_offset_by_sessions[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_in_range[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_window[both] PASSED [ 86%] 6294s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_distance[both] PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_minutes_to_sessions[both] PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes[both] PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_minutes_count[both] PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_has_break PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_regular_holidays_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_adhoc_holidays_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_holidays_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_sample_time PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes_weekdays_time PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_non_early_closes_sample_time PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_late_opens PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_early_closes PASSED [ 86%] 6295s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_open_close_break_start_end PASSED [ 86%] 6296s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_has_break PASSED [ 86%] 6297s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_next_prev_session PASSED [ 86%] 6297s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_session_offset PASSED [ 86%] 6297s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_is_session PASSED [ 86%] 6298s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_date_to_session PASSED [ 86%] 6309s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_prev_next_open_close PASSED [ 86%] 6309s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_in_range PASSED [ 86%] 6309s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_has_break PASSED [ 86%] 6309s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_window PASSED [ 86%] 6309s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_sessions_distance PASSED [ 86%] 6310s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_trading_index PASSED [ 86%] 6310s tests/test_xswx_calendar.py::TestIXSWXCalendar::test_deprecated PASSED [ 86%] 6310s tests/test_xtae_calendar.py::TestXTAECalendar::test_base_integrity PASSED [ 86%] 6335s tests/test_xtae_calendar.py::TestXTAECalendar::test_calculated_against_csv PASSED [ 86%] 6341s tests/test_xtae_calendar.py::TestXTAECalendar::test_start_end PASSED [ 86%] 6346s tests/test_xtae_calendar.py::TestXTAECalendar::test_invalid_input PASSED [ 86%] 6387s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_max PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_sanity_check_session_lengths PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_specification PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_daylight_savings PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_opens_closes_break_starts_ends PASSED [ 86%] 6398s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[both] PASSED [ 87%] 6399s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[both] PASSED [ 87%] 6402s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[both] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[both] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-next] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-next] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-next] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-next] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[left] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[left] PASSED [ 87%] 6403s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[left] PASSED [ 87%] 6404s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[left] PASSED [ 87%] 6404s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[left] PASSED [ 87%] 6404s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[left] PASSED [ 87%] 6404s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[left] PASSED [ 87%] 6404s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[left] PASSED [ 87%] 6405s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[left] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[left] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-next] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-next] PASSED [ 87%] 6407s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[right] PASSED [ 87%] 6408s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[right] PASSED [ 87%] 6410s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[right] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[right] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[right-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[right-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[left-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[left-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[both-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[both-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-previous] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_session[neither-next] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 87%] 6411s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_properties[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_calendar_bounds_properties[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minute_methods[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_minutes[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_trading_minute[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_break_minute[neither] PASSED [ 87%] 6412s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_on_minute[neither] PASSED [ 87%] 6414s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_open_at_time[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_minute[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[neither] PASSED [ 87%] 6416s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[neither] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[neither] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[neither] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[neither] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[right] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[left] PASSED [ 87%] 6417s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[left] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[left] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[left] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_past_session[both] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_to_future_session[both] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset[both] PASSED [ 87%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minute_offset_by_sessions[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_in_range[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_window[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_distance[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_minutes_to_sessions[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_minutes_count[both] PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_has_break PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_regular_holidays_sample PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_adhoc_holidays_sample PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_holidays_sample PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens_sample PASSED [ 88%] 6418s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_sample_time PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes_weekdays_time PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_non_early_closes_sample_time PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_late_opens PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_early_closes PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_open_close_break_start_end PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_has_break PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_next_prev_session PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_session_offset PASSED [ 88%] 6419s tests/test_xtae_calendar.py::TestXTAECalendar::test_is_session PASSED [ 88%] 6420s tests/test_xtae_calendar.py::TestXTAECalendar::test_date_to_session PASSED [ 88%] 6423s tests/test_xtae_calendar.py::TestXTAECalendar::test_prev_next_open_close PASSED [ 88%] 6423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_in_range PASSED [ 88%] 6423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_has_break PASSED [ 88%] 6423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_window PASSED [ 88%] 6423s tests/test_xtae_calendar.py::TestXTAECalendar::test_sessions_distance PASSED [ 88%] 6425s tests/test_xtae_calendar.py::TestXTAECalendar::test_trading_index PASSED [ 88%] 6425s tests/test_xtae_calendar.py::TestXTAECalendar::test_deprecated PASSED [ 88%] 6425s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_base_integrity PASSED [ 88%] 6451s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calculated_against_csv PASSED [ 88%] 6458s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_start_end PASSED [ 88%] 6463s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_invalid_input PASSED [ 88%] 6507s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_max PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sanity_check_session_lengths PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_specification PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_daylight_savings PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions PASSED [ 88%] 6517s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_opens_closes_break_starts_ends PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[both] PASSED [ 88%] 6518s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[both] PASSED [ 88%] 6521s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[both] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[both] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-next] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-next] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-next] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-next] PASSED [ 88%] 6523s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[left] PASSED [ 88%] 6524s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[left] PASSED [ 88%] 6525s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[left] PASSED [ 88%] 6527s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[left] PASSED [ 88%] 6527s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-previous] PASSED [ 88%] 6527s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-previous] PASSED [ 88%] 6527s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-previous] PASSED [ 88%] 6527s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-previous] PASSED [ 88%] 6528s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-previous] PASSED [ 88%] 6528s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-previous] PASSED [ 88%] 6528s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-next] PASSED [ 88%] 6528s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-next] PASSED [ 88%] 6528s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[right] PASSED [ 88%] 6529s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[right] PASSED [ 88%] 6530s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[right] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[right] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[right-none] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[right-none] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[left-none] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[left-none] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[both-none] PASSED [ 88%] 6531s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[both-none] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-none] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-none] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-previous] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-previous] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_session[neither-next] PASSED [ 88%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_trading_minute[neither-next] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_properties[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calendar_bounds_properties[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minute_methods[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_minutes[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_trading_minute[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_break_minute[neither] PASSED [ 89%] 6532s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_on_minute[neither] PASSED [ 89%] 6534s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_open_at_time[neither] PASSED [ 89%] 6535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_minute[neither] PASSED [ 89%] 6535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[neither] PASSED [ 89%] 6535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[neither] PASSED [ 89%] 6535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[neither] PASSED [ 89%] 6535s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[neither] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[right] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[right] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[right] PASSED [ 89%] 6536s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[right] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[left] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_past_session[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_to_future_session[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minute_offset_by_sessions[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_in_range[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_window[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_distance[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_minutes_to_sessions[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_minutes_count[both] PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_has_break PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_regular_holidays_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_adhoc_holidays_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_holidays_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_sample_time PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes_weekdays_time PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample PASSED [ 89%] 6537s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_non_early_closes_sample_time PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_late_opens PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_early_closes PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_open_close_break_start_end PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_has_break PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_next_prev_session PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_session_offset PASSED [ 89%] 6538s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_is_session PASSED [ 89%] 6539s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_date_to_session PASSED [ 89%] 6540s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_prev_next_open_close PASSED [ 89%] 6540s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_in_range PASSED [ 89%] 6540s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_has_break PASSED [ 89%] 6540s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_window PASSED [ 89%] 6540s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_sessions_distance PASSED [ 89%] 6541s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_trading_index PASSED [ 89%] 6541s tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_deprecated PASSED [ 89%] 6541s tests/test_xtai_calendar.py::TestXTAICalendar::test_base_integrity PASSED [ 89%] 6576s tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv PASSED [ 89%] 6578s tests/test_xtai_calendar.py::TestXTAICalendar::test_start_end PASSED [ 89%] 6579s tests/test_xtai_calendar.py::TestXTAICalendar::test_invalid_input PASSED [ 89%] 6586s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_min PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_bound_max PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_sanity_check_session_lengths PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_specification PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_daylight_savings PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions PASSED [ 89%] 6588s tests/test_xtai_calendar.py::TestXTAICalendar::test_opens_closes_break_starts_ends PASSED [ 89%] 6591s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[both] PASSED [ 89%] 6599s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[both] PASSED [ 89%] 6604s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[both] PASSED [ 89%] 6625s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[both] PASSED [ 90%] 6625s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-next] PASSED [ 90%] 6625s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-next] PASSED [ 90%] 6627s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-next] PASSED [ 90%] 6627s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-next] PASSED [ 90%] 6627s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[left] PASSED [ 90%] 6633s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[left] PASSED [ 90%] 6636s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[left] PASSED [ 90%] 6656s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[left] PASSED [ 90%] 6656s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-previous] PASSED [ 90%] 6656s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-previous] PASSED [ 90%] 6656s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-previous] PASSED [ 90%] 6656s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-previous] PASSED [ 90%] 6661s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-previous] PASSED [ 90%] 6661s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-previous] PASSED [ 90%] 6661s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-next] PASSED [ 90%] 6661s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-next] PASSED [ 90%] 6661s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[right] PASSED [ 90%] 6666s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[right] PASSED [ 90%] 6670s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[right] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[right] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[right-none] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[right-none] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[left-none] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[left-none] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[both-none] PASSED [ 90%] 6692s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[both-none] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-none] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-none] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-previous] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_session[neither-next] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_trading_minute[neither-next] PASSED [ 90%] 6698s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_properties[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_calendar_bounds_properties[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minute_methods[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_minutes[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_trading_minute[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_break_minute[neither] PASSED [ 90%] 6705s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_on_minute[neither] PASSED [ 90%] 6708s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_open_at_time[neither] PASSED [ 90%] 6730s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_minute[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[neither] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[right] PASSED [ 90%] 6731s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[left] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_past_session[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_to_future_session[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minute_offset_by_sessions[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_in_range[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_window[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_distance[both] PASSED [ 90%] 6732s tests/test_xtai_calendar.py::TestXTAICalendar::test_minutes_to_sessions[both] PASSED [ 90%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes[both] PASSED [ 90%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_minutes_count[both] PASSED [ 90%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_has_break PASSED [ 90%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_regular_holidays_sample PASSED [ 90%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_adhoc_holidays_sample PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_holidays_sample PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens_sample PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_sample_time PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes_weekdays_time PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample PASSED [ 91%] 6733s tests/test_xtai_calendar.py::TestXTAICalendar::test_non_early_closes_sample_time PASSED [ 91%] 6734s tests/test_xtai_calendar.py::TestXTAICalendar::test_late_opens PASSED [ 91%] 6735s tests/test_xtai_calendar.py::TestXTAICalendar::test_early_closes PASSED [ 91%] 6735s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_open_close_break_start_end PASSED [ 91%] 6736s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_has_break PASSED [ 91%] 6739s tests/test_xtai_calendar.py::TestXTAICalendar::test_next_prev_session PASSED [ 91%] 6739s tests/test_xtai_calendar.py::TestXTAICalendar::test_session_offset PASSED [ 91%] 6741s tests/test_xtai_calendar.py::TestXTAICalendar::test_is_session PASSED [ 91%] 6747s tests/test_xtai_calendar.py::TestXTAICalendar::test_date_to_session PASSED [ 91%] 6787s tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close PASSED [ 91%] 6787s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_in_range PASSED [ 91%] 6787s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_has_break PASSED [ 91%] 6787s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_window PASSED [ 91%] 6787s tests/test_xtai_calendar.py::TestXTAICalendar::test_sessions_distance PASSED [ 91%] 6788s tests/test_xtai_calendar.py::TestXTAICalendar::test_trading_index PASSED [ 91%] 6789s tests/test_xtai_calendar.py::TestXTAICalendar::test_deprecated PASSED [ 91%] 6789s tests/test_xtal_calendar.py::TestXTALCalendar::test_base_integrity PASSED [ 91%] 6793s tests/test_xtal_calendar.py::TestXTALCalendar::test_calculated_against_csv PASSED [ 91%] 6794s tests/test_xtal_calendar.py::TestXTALCalendar::test_start_end PASSED [ 91%] 6795s tests/test_xtal_calendar.py::TestXTALCalendar::test_invalid_input PASSED [ 91%] 6802s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_min PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_bound_max PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_sanity_check_session_lengths PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_specification PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_daylight_savings PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_opens_closes_break_starts_ends PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[both] PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[both] PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[both] PASSED [ 91%] 6804s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[both] PASSED [ 91%] 6805s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[both] PASSED [ 91%] 6805s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[both] PASSED [ 91%] 6805s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[both] PASSED [ 91%] 6805s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[both] PASSED [ 91%] 6806s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[both] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[both] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-next] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-next] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-next] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-next] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[left] PASSED [ 91%] 6807s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[left] PASSED [ 91%] 6808s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[left] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[left] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-next] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-next] PASSED [ 91%] 6809s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[right] PASSED [ 91%] 6810s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[right] PASSED [ 91%] 6812s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[right] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[right] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[right-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[right-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[left-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[left-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[both-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[both-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-previous] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_session[neither-next] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 91%] 6813s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_properties[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_calendar_bounds_properties[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minute_methods[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_minutes[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_trading_minute[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_break_minute[neither] PASSED [ 91%] 6814s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_on_minute[neither] PASSED [ 91%] 6816s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_open_at_time[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_minute[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[neither] PASSED [ 92%] 6817s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[neither] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[neither] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[right] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[left] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_past_session[both] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_to_future_session[both] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset[both] PASSED [ 92%] 6818s tests/test_xtal_calendar.py::TestXTALCalendar::test_minute_offset_by_sessions[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_in_range[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_window[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_distance[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_minutes_to_sessions[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_minutes_count[both] PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_has_break PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_regular_holidays_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_adhoc_holidays_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_holidays_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_sample_time PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes_weekdays_time PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_non_early_closes_sample_time PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_late_opens PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_early_closes PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_open_close_break_start_end PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_has_break PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_next_prev_session PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_session_offset PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_is_session PASSED [ 92%] 6819s tests/test_xtal_calendar.py::TestXTALCalendar::test_date_to_session PASSED [ 92%] 6820s tests/test_xtal_calendar.py::TestXTALCalendar::test_prev_next_open_close PASSED [ 92%] 6820s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_in_range PASSED [ 92%] 6820s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_has_break PASSED [ 92%] 6820s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_window PASSED [ 92%] 6820s tests/test_xtal_calendar.py::TestXTALCalendar::test_sessions_distance PASSED [ 92%] 6822s tests/test_xtal_calendar.py::TestXTALCalendar::test_trading_index PASSED [ 92%] 6822s tests/test_xtal_calendar.py::TestXTALCalendar::test_deprecated PASSED [ 92%] 6822s tests/test_xtks_calendar.py::TestXTKSCalendar::test_base_integrity PASSED [ 92%] 6833s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calculated_against_csv PASSED [ 92%] 6835s tests/test_xtks_calendar.py::TestXTKSCalendar::test_start_end PASSED [ 92%] 6836s tests/test_xtks_calendar.py::TestXTKSCalendar::test_invalid_input PASSED [ 92%] 6839s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_min PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_bound_max PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sanity_check_session_lengths PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_specification PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_daylight_savings PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions PASSED [ 92%] 6841s tests/test_xtks_calendar.py::TestXTKSCalendar::test_opens_closes_break_starts_ends PASSED [ 92%] 6843s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[both] PASSED [ 92%] 6845s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[both] PASSED [ 92%] 6849s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[both] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[both] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-next] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-next] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 92%] 6858s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[left] PASSED [ 92%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[left] PASSED [ 92%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[left] PASSED [ 92%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[left] PASSED [ 92%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[left] PASSED [ 93%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[left] PASSED [ 93%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[left] PASSED [ 93%] 6861s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[left] PASSED [ 93%] 6865s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[left] PASSED [ 93%] 6874s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[left] PASSED [ 93%] 6874s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-previous] PASSED [ 93%] 6874s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 93%] 6874s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-previous] PASSED [ 93%] 6874s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 93%] 6875s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-previous] PASSED [ 93%] 6875s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 93%] 6875s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-next] PASSED [ 93%] 6875s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 93%] 6875s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[right] PASSED [ 93%] 6877s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[right] PASSED [ 93%] 6877s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[right] PASSED [ 93%] 6877s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[right] PASSED [ 93%] 6878s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[right] PASSED [ 93%] 6878s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[right] PASSED [ 93%] 6878s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[right] PASSED [ 93%] 6878s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[right] PASSED [ 93%] 6883s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[right] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[right] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[right-none] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[left-none] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[both-none] PASSED [ 93%] 6894s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-none] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-previous] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_session[neither-next] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 93%] 6896s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_properties[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_calendar_bounds_properties[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minute_methods[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_minutes[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_trading_minute[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_break_minute[neither] PASSED [ 93%] 6899s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_on_minute[neither] PASSED [ 93%] 6903s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_open_at_time[neither] PASSED [ 93%] 6911s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_minute[neither] PASSED [ 93%] 6911s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[neither] PASSED [ 93%] 6911s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[neither] PASSED [ 93%] 6911s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[neither] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[right] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[left] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[left] PASSED [ 93%] 6912s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[left] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_past_session[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_to_future_session[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minute_offset_by_sessions[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_in_range[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_window[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_distance[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_minutes_to_sessions[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_minutes_count[both] PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_has_break PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_regular_holidays_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_adhoc_holidays_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_holidays_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_sample_time PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes_weekdays_time PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample PASSED [ 93%] 6913s tests/test_xtks_calendar.py::TestXTKSCalendar::test_non_early_closes_sample_time PASSED [ 94%] 6914s tests/test_xtks_calendar.py::TestXTKSCalendar::test_late_opens PASSED [ 94%] 6914s tests/test_xtks_calendar.py::TestXTKSCalendar::test_early_closes PASSED [ 94%] 6914s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_open_close_break_start_end PASSED [ 94%] 6914s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_has_break PASSED [ 94%] 6915s tests/test_xtks_calendar.py::TestXTKSCalendar::test_next_prev_session PASSED [ 94%] 6915s tests/test_xtks_calendar.py::TestXTKSCalendar::test_session_offset PASSED [ 94%] 6915s tests/test_xtks_calendar.py::TestXTKSCalendar::test_is_session PASSED [ 94%] 6917s tests/test_xtks_calendar.py::TestXTKSCalendar::test_date_to_session PASSED [ 94%] 6925s tests/test_xtks_calendar.py::TestXTKSCalendar::test_prev_next_open_close PASSED [ 94%] 6925s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_in_range PASSED [ 94%] 6925s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_has_break PASSED [ 94%] 6925s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_window PASSED [ 94%] 6925s tests/test_xtks_calendar.py::TestXTKSCalendar::test_sessions_distance PASSED [ 94%] 6926s tests/test_xtks_calendar.py::TestXTKSCalendar::test_trading_index PASSED [ 94%] 6926s tests/test_xtks_calendar.py::TestXTKSCalendar::test_deprecated PASSED [ 94%] 6926s tests/test_xtks_calendar.py::TestXTKSCalendar::test_golden_week_holidays PASSED [ 94%] 6927s tests/test_xtks_calendar.py::TestXTKSCalendar::test_emperors_birthday PASSED [ 94%] 6927s tests/test_xtse_calendar.py::TestXTSECalendar::test_base_integrity PASSED [ 94%] 6938s tests/test_xtse_calendar.py::TestXTSECalendar::test_calculated_against_csv PASSED [ 94%] 6940s tests/test_xtse_calendar.py::TestXTSECalendar::test_start_end PASSED [ 94%] 6941s tests/test_xtse_calendar.py::TestXTSECalendar::test_invalid_input PASSED [ 94%] 6948s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_min PASSED [ 94%] 6949s tests/test_xtse_calendar.py::TestXTSECalendar::test_bound_max PASSED [ 94%] 6950s tests/test_xtse_calendar.py::TestXTSECalendar::test_sanity_check_session_lengths PASSED [ 94%] 6950s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_specification PASSED [ 94%] 6950s tests/test_xtse_calendar.py::TestXTSECalendar::test_daylight_savings PASSED [ 94%] 6950s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions PASSED [ 94%] 6950s tests/test_xtse_calendar.py::TestXTSECalendar::test_opens_closes_break_starts_ends PASSED [ 94%] 6951s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[both] PASSED [ 94%] 6953s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[both] PASSED [ 94%] 6956s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[both] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[both] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-next] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-next] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 94%] 6961s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[left] PASSED [ 94%] 6963s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[left] PASSED [ 94%] 6966s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[left] PASSED [ 94%] 6971s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[left] PASSED [ 94%] 6971s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-previous] PASSED [ 94%] 6971s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 94%] 6971s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-previous] PASSED [ 94%] 6971s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 94%] 6972s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-previous] PASSED [ 94%] 6972s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 94%] 6972s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-next] PASSED [ 94%] 6972s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 94%] 6972s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[right] PASSED [ 94%] 6975s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[right] PASSED [ 94%] 6978s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[right] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[right] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[right-none] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[left-none] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[both-none] PASSED [ 94%] 6983s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-none] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-previous] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_session[neither-next] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 94%] 6984s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_properties[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_calendar_bounds_properties[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minute_methods[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_minutes[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_trading_minute[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_break_minute[neither] PASSED [ 94%] 6986s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_on_minute[neither] PASSED [ 94%] 6988s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_open_at_time[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_minute[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 94%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[neither] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[right] PASSED [ 95%] 6993s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[right] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[left] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[left] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[left] PASSED [ 95%] 6994s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[left] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_past_session[both] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_to_future_session[both] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset[both] PASSED [ 95%] 6995s tests/test_xtse_calendar.py::TestXTSECalendar::test_minute_offset_by_sessions[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_in_range[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_window[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_distance[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_minutes_to_sessions[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_minutes_count[both] PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_has_break PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_regular_holidays_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_adhoc_holidays_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_holidays_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_sample_time PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes_weekdays_time PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample PASSED [ 95%] 6996s tests/test_xtse_calendar.py::TestXTSECalendar::test_non_early_closes_sample_time PASSED [ 95%] 6997s tests/test_xtse_calendar.py::TestXTSECalendar::test_late_opens PASSED [ 95%] 6997s tests/test_xtse_calendar.py::TestXTSECalendar::test_early_closes PASSED [ 95%] 6997s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_open_close_break_start_end PASSED [ 95%] 6997s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_has_break PASSED [ 95%] 6998s tests/test_xtse_calendar.py::TestXTSECalendar::test_next_prev_session PASSED [ 95%] 6998s tests/test_xtse_calendar.py::TestXTSECalendar::test_session_offset PASSED [ 95%] 6998s tests/test_xtse_calendar.py::TestXTSECalendar::test_is_session PASSED [ 95%] 6999s tests/test_xtse_calendar.py::TestXTSECalendar::test_date_to_session PASSED [ 95%] 7009s tests/test_xtse_calendar.py::TestXTSECalendar::test_prev_next_open_close PASSED [ 95%] 7009s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_in_range PASSED [ 95%] 7009s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_has_break PASSED [ 95%] 7009s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_window PASSED [ 95%] 7009s tests/test_xtse_calendar.py::TestXTSECalendar::test_sessions_distance PASSED [ 95%] 7011s tests/test_xtse_calendar.py::TestXTSECalendar::test_trading_index PASSED [ 95%] 7011s tests/test_xtse_calendar.py::TestXTSECalendar::test_deprecated PASSED [ 95%] 7011s tests/test_xwar_calendar.py::TestXWARCalendar::test_base_integrity PASSED [ 95%] 7022s tests/test_xwar_calendar.py::TestXWARCalendar::test_calculated_against_csv PASSED [ 95%] 7024s tests/test_xwar_calendar.py::TestXWARCalendar::test_start_end PASSED [ 95%] 7025s tests/test_xwar_calendar.py::TestXWARCalendar::test_invalid_input PASSED [ 95%] 7033s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_min PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_bound_max PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_sanity_check_session_lengths PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_specification PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_daylight_savings PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions PASSED [ 95%] 7035s tests/test_xwar_calendar.py::TestXWARCalendar::test_opens_closes_break_starts_ends PASSED [ 95%] 7036s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[both] PASSED [ 95%] 7038s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[both] PASSED [ 95%] 7039s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[both] PASSED [ 95%] 7041s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[both] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[both] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-next] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-next] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 95%] 7046s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[left] PASSED [ 95%] 7050s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[left] PASSED [ 95%] 7051s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[left] PASSED [ 95%] 7056s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[left] PASSED [ 95%] 7056s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-previous] PASSED [ 96%] 7056s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 96%] 7056s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-previous] PASSED [ 96%] 7056s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 96%] 7057s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-previous] PASSED [ 96%] 7057s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 96%] 7057s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-next] PASSED [ 96%] 7057s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 96%] 7057s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[right] PASSED [ 96%] 7061s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[right] PASSED [ 96%] 7063s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[right] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[right] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[right-none] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[left-none] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[both-none] PASSED [ 96%] 7069s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-none] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-previous] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_session[neither-next] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 96%] 7070s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_properties[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_calendar_bounds_properties[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minute_methods[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_minutes[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_trading_minute[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_break_minute[neither] PASSED [ 96%] 7074s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_on_minute[neither] PASSED [ 96%] 7076s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_open_at_time[neither] PASSED [ 96%] 7081s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_minute[neither] PASSED [ 96%] 7081s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[neither] PASSED [ 96%] 7081s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[neither] PASSED [ 96%] 7081s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[neither] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[right] PASSED [ 96%] 7082s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[right] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[right] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[right] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[left] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_past_session[both] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_to_future_session[both] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset[both] PASSED [ 96%] 7083s tests/test_xwar_calendar.py::TestXWARCalendar::test_minute_offset_by_sessions[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_in_range[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_window[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_distance[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_minutes_to_sessions[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_minutes_count[both] PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_has_break PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_regular_holidays_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_adhoc_holidays_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_holidays_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_sample_time PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes_weekdays_time PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_non_early_closes_sample_time PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_late_opens PASSED [ 96%] 7084s tests/test_xwar_calendar.py::TestXWARCalendar::test_early_closes PASSED [ 96%] 7085s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_open_close_break_start_end PASSED [ 96%] 7085s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_has_break PASSED [ 96%] 7086s tests/test_xwar_calendar.py::TestXWARCalendar::test_next_prev_session PASSED [ 96%] 7086s tests/test_xwar_calendar.py::TestXWARCalendar::test_session_offset PASSED [ 96%] 7087s tests/test_xwar_calendar.py::TestXWARCalendar::test_is_session PASSED [ 97%] 7088s tests/test_xwar_calendar.py::TestXWARCalendar::test_date_to_session PASSED [ 97%] 7099s tests/test_xwar_calendar.py::TestXWARCalendar::test_prev_next_open_close PASSED [ 97%] 7099s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_in_range PASSED [ 97%] 7099s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_has_break PASSED [ 97%] 7099s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_window PASSED [ 97%] 7099s tests/test_xwar_calendar.py::TestXWARCalendar::test_sessions_distance PASSED [ 97%] 7100s tests/test_xwar_calendar.py::TestXWARCalendar::test_trading_index PASSED [ 97%] 7100s tests/test_xwar_calendar.py::TestXWARCalendar::test_deprecated PASSED [ 97%] 7100s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_base_integrity PASSED [ 97%] 7115s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calculated_against_csv PASSED [ 97%] 7117s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_start_end PASSED [ 97%] 7118s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_invalid_input PASSED [ 97%] 7126s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_min PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_bound_max PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sanity_check_session_lengths PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_specification PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_daylight_savings PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions PASSED [ 97%] 7128s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_opens_closes_break_starts_ends PASSED [ 97%] 7129s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[both] PASSED [ 97%] 7133s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[both] PASSED [ 97%] 7133s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[both] PASSED [ 97%] 7133s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[both] PASSED [ 97%] 7133s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[both] PASSED [ 97%] 7134s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[both] PASSED [ 97%] 7134s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[both] PASSED [ 97%] 7134s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[both] PASSED [ 97%] 7136s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[both] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[both] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-next] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-next] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-next] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-next] PASSED [ 97%] 7143s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[left] PASSED [ 97%] 7147s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[left] PASSED [ 97%] 7150s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[left] PASSED [ 97%] 7156s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[left] PASSED [ 97%] 7156s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-previous] PASSED [ 97%] 7156s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 97%] 7156s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-previous] PASSED [ 97%] 7156s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 97%] 7158s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-previous] PASSED [ 97%] 7158s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 97%] 7158s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-next] PASSED [ 97%] 7158s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-next] PASSED [ 97%] 7158s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[right] PASSED [ 97%] 7162s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[right] PASSED [ 97%] 7165s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[right] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[right] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[right-none] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[right-none] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[left-none] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[left-none] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[both-none] PASSED [ 97%] 7171s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[both-none] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-none] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-previous] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_session[neither-next] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 97%] 7173s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_properties[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_calendar_bounds_properties[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minute_methods[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_minutes[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_trading_minute[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_break_minute[neither] PASSED [ 97%] 7177s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_on_minute[neither] PASSED [ 97%] 7179s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_open_at_time[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_minute[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[neither] PASSED [ 97%] 7186s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[right] PASSED [ 97%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[right] PASSED [ 97%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[right] PASSED [ 97%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[right] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[left] PASSED [ 98%] 7187s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[left] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[left] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_past_session[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_to_future_session[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minute_offset_by_sessions[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_in_range[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_window[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_distance[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_minutes_to_sessions[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_minutes_count[both] PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_has_break PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_regular_holidays_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_adhoc_holidays_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_holidays_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_sample_time PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes_weekdays_time PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample PASSED [ 98%] 7188s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_non_early_closes_sample_time PASSED [ 98%] 7189s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_late_opens PASSED [ 98%] 7189s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_early_closes PASSED [ 98%] 7189s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_open_close_break_start_end PASSED [ 98%] 7189s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_has_break PASSED [ 98%] 7190s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_next_prev_session PASSED [ 98%] 7190s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_session_offset PASSED [ 98%] 7190s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_is_session PASSED [ 98%] 7192s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_date_to_session PASSED [ 98%] 7204s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_prev_next_open_close PASSED [ 98%] 7204s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_in_range PASSED [ 98%] 7204s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_has_break PASSED [ 98%] 7204s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_window PASSED [ 98%] 7204s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_sessions_distance PASSED [ 98%] 7205s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_trading_index PASSED [ 98%] 7205s tests/test_xwbo_calendar.py::TestXWBOCalendar::test_deprecated PASSED [ 98%] 7205s tests/test_xzag_calendar.py::TestXZAGCalendar::test_base_integrity PASSED [ 98%] 7212s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calculated_against_csv PASSED [ 98%] 7215s tests/test_xzag_calendar.py::TestXZAGCalendar::test_start_end PASSED [ 98%] 7215s tests/test_xzag_calendar.py::TestXZAGCalendar::test_invalid_input PASSED [ 98%] 7223s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_min PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_bound_max PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sanity_check_session_lengths PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_specification PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_daylight_savings PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions PASSED [ 98%] 7225s tests/test_xzag_calendar.py::TestXZAGCalendar::test_opens_closes_break_starts_ends PASSED [ 98%] 7226s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[both] PASSED [ 98%] 7226s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[both] PASSED [ 98%] 7226s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[both] PASSED [ 98%] 7227s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[both] PASSED [ 98%] 7227s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[both] PASSED [ 98%] 7227s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[both] PASSED [ 98%] 7227s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[both] PASSED [ 98%] 7227s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[both] PASSED [ 98%] 7228s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[both] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[both] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-next] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-next] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 98%] 7229s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[left] PASSED [ 98%] 7230s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[left] PASSED [ 98%] 7230s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[left] PASSED [ 98%] 7230s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[left] PASSED [ 98%] 7231s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[left] PASSED [ 98%] 7231s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[left] PASSED [ 98%] 7231s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[left] PASSED [ 98%] 7231s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[left] PASSED [ 98%] 7232s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[left] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[left] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-next] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 98%] 7234s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[right] PASSED [ 98%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[right] PASSED [ 99%] 7235s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[right] PASSED [ 99%] 7236s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[right] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[right] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[right-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[left-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[both-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-previous] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_session[neither-next] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 99%] 7238s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_properties[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_calendar_bounds_properties[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minute_methods[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_minutes[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_trading_minute[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_break_minute[neither] PASSED [ 99%] 7239s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_on_minute[neither] PASSED [ 99%] 7240s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_open_at_time[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_minute[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[neither] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[right] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[right] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[right] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[right] PASSED [ 99%] 7242s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[right] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[left] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_past_session[both] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_to_future_session[both] PASSED [ 99%] 7243s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minute_offset_by_sessions[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_in_range[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_window[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_distance[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_minutes_to_sessions[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_minutes_count[both] PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_has_break PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_regular_holidays_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_adhoc_holidays_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_holidays_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_sample_time PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes_weekdays_time PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_non_early_closes_sample_time PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_late_opens PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_early_closes PASSED [ 99%] 7244s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_open_close_break_start_end PASSED [ 99%] 7245s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_has_break PASSED [ 99%] 7245s tests/test_xzag_calendar.py::TestXZAGCalendar::test_next_prev_session PASSED [ 99%] 7245s tests/test_xzag_calendar.py::TestXZAGCalendar::test_session_offset PASSED [ 99%] 7245s tests/test_xzag_calendar.py::TestXZAGCalendar::test_is_session PASSED [ 99%] 7245s tests/test_xzag_calendar.py::TestXZAGCalendar::test_date_to_session PASSED [ 99%] 7248s tests/test_xzag_calendar.py::TestXZAGCalendar::test_prev_next_open_close PASSED [ 99%] 7248s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_in_range PASSED [ 99%] 7248s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_has_break PASSED [ 99%] 7248s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_window PASSED [ 99%] 7248s tests/test_xzag_calendar.py::TestXZAGCalendar::test_sessions_distance PASSED [ 99%] 7250s tests/test_xzag_calendar.py::TestXZAGCalendar::test_trading_index PASSED [ 99%] 7258s tests/test_xzag_calendar.py::TestXZAGCalendar::test_deprecated PASSED [100%] 7258s 7258s ============================= slowest 15 durations ============================= 7258s 176.52s call tests/test_exchange_calendar.py::test_default_calendars 7258s 111.60s call tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] 7258s 103.60s setup tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv 7258s 79.97s setup tests/test_xmos_calendar.py::TestXMOSCalendar::test_calculated_against_csv 7258s 49.09s call tests/test_xmos_calendar.py::TestXMOSCalendar::test_bound_min 7258s 44.26s call tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_bound_min 7258s 43.63s call tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] 7258s 41.08s call tests/test_xtae_calendar.py::TestXTAECalendar::test_bound_min 7258s 39.98s call tests/test_xtai_calendar.py::TestXTAICalendar::test_prev_next_open_close 7258s 38.65s setup tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv 7258s 34.94s setup tests/test_xtai_calendar.py::TestXTAICalendar::test_calculated_against_csv 7258s 34.22s call tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min 7258s 29.77s call tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] 7258s 26.04s setup tests/test_xtae_calendar.py::TestXTAECalendarEarlyCloseSundaysBefore2026::test_calculated_against_csv 7258s 25.61s call tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end 7258s ========= 9684 passed, 74 deselected, 1 xfailed in 6436.69s (1:47:16) ========== 7264s I: pybuild base:384: cd /tmp/autopkgtest.6qQFTv/autopkgtest_tmp/build; python3.13 -m pytest -k "not test_testbase_integrity and not exchange_calendars.utils.pandas_utils.indexes_union and not test_indices_fuzz" 7267s ============================= test session starts ============================== 7267s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 7267s cachedir: .pytest_cache 7267s hypothesis profile 'default' 7267s rootdir: /tmp/autopkgtest.6qQFTv/autopkgtest_tmp/build 7267s configfile: pyproject.toml 7267s testpaths: tests, exchange_calendars/utils/pandas_utils.py 7267s plugins: typeguard-4.4.4, hypothesis-6.150.0 7286s collecting ... collected 9759 items / 74 deselected / 9685 selected 7286s 7286s tests/test_aixk_calendar.py::TestAIXKCalendar::test_base_integrity PASSED [ 0%] 7293s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calculated_against_csv PASSED [ 0%] 7295s tests/test_aixk_calendar.py::TestAIXKCalendar::test_start_end PASSED [ 0%] 7296s tests/test_aixk_calendar.py::TestAIXKCalendar::test_invalid_input PASSED [ 0%] 7298s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_min PASSED [ 0%] 7300s tests/test_aixk_calendar.py::TestAIXKCalendar::test_bound_max PASSED [ 0%] 7300s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sanity_check_session_lengths PASSED [ 0%] 7300s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_specification PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_daylight_savings PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_opens_closes_break_starts_ends PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[both] PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[both] PASSED [ 0%] 7301s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[both] PASSED [ 0%] 7302s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[both] PASSED [ 0%] 7302s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[both] PASSED [ 0%] 7302s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[both] PASSED [ 0%] 7302s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[both] PASSED [ 0%] 7302s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[both] PASSED [ 0%] 7303s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[both] PASSED [ 0%] 7303s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[both] PASSED [ 0%] 7303s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-next] PASSED [ 0%] 7303s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-next] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[left] PASSED [ 0%] 7304s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[left] PASSED [ 0%] 7305s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[left] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[left] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-next] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[right] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[right] PASSED [ 0%] 7307s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[right] PASSED [ 0%] 7308s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[right] PASSED [ 0%] 7308s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[right] PASSED [ 0%] 7308s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[right] PASSED [ 0%] 7308s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[right] PASSED [ 0%] 7308s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[right] PASSED [ 0%] 7309s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[right] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[right] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[right-none] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[left-none] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[both-none] PASSED [ 0%] 7311s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-none] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-previous] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_session[neither-next] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_properties[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_calendar_bounds_properties[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minute_methods[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_minutes[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_trading_minute[neither] PASSED [ 0%] 7312s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_break_minute[neither] PASSED [ 0%] 7313s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_on_minute[neither] PASSED [ 0%] 7313s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_open_at_time[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_minute[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[neither] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[right] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[left] PASSED [ 0%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[left] PASSED [ 1%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[left] PASSED [ 1%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[left] PASSED [ 1%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[left] PASSED [ 1%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[left] PASSED [ 1%] 7315s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[left] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[left] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[left] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[left] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_past_session[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_to_future_session[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minute_offset_by_sessions[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_in_range[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_window[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_distance[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_minutes_to_sessions[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_minutes_count[both] PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_has_break PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_regular_holidays_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_adhoc_holidays_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_holidays_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_sample_time PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes_weekdays_time PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_non_early_closes_sample_time PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_late_opens PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_early_closes PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_open_close_break_start_end PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_has_break PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_next_prev_session PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_session_offset PASSED [ 1%] 7316s tests/test_aixk_calendar.py::TestAIXKCalendar::test_is_session PASSED [ 1%] 7317s tests/test_aixk_calendar.py::TestAIXKCalendar::test_date_to_session PASSED [ 1%] 7318s tests/test_aixk_calendar.py::TestAIXKCalendar::test_prev_next_open_close PASSED [ 1%] 7318s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_in_range PASSED [ 1%] 7318s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_has_break PASSED [ 1%] 7318s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_window PASSED [ 1%] 7319s tests/test_aixk_calendar.py::TestAIXKCalendar::test_sessions_distance PASSED [ 1%] 7319s tests/test_aixk_calendar.py::TestAIXKCalendar::test_trading_index PASSED [ 1%] 7319s tests/test_aixk_calendar.py::TestAIXKCalendar::test_deprecated PASSED [ 1%] 7319s tests/test_always_open.py::TestAlwaysOpenCalendar::test_base_integrity PASSED [ 1%] 7320s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calculated_against_csv PASSED [ 1%] 7320s tests/test_always_open.py::TestAlwaysOpenCalendar::test_start_end PASSED [ 1%] 7320s tests/test_always_open.py::TestAlwaysOpenCalendar::test_invalid_input PASSED [ 1%] 7325s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_min PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_bound_max PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sanity_check_session_lengths PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_specification PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_daylight_savings PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_opens_closes_break_starts_ends PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[left] PASSED [ 1%] 7327s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[left] PASSED [ 1%] 7328s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[left] PASSED [ 1%] 7328s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[left] PASSED [ 1%] 7328s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-next] PASSED [ 1%] 7328s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-next] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-next] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-next] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_properties[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_calendar_bounds_properties[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minute_methods[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_minutes[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_trading_minute[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_break_minute[right] PASSED [ 1%] 7329s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_on_minute[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_open_at_time[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_minute[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-previous] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-previous] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[right-none] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[right-none] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_session[left-none] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_trading_minute[left-none] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[right] PASSED [ 1%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[right] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_past_session[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_to_future_session[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minute_offset_by_sessions[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_in_range[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_window[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_distance[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_minutes_to_sessions[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_minutes_count[left] PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_has_break PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_regular_holidays_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_adhoc_holidays_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_holidays_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_sample_time PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes_weekdays_time PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample PASSED [ 2%] 7330s tests/test_always_open.py::TestAlwaysOpenCalendar::test_non_early_closes_sample_time PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_late_opens PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_early_closes PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_open_close_break_start_end PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_has_break PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_next_prev_session PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_session_offset PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_is_session PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_date_to_session PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_prev_next_open_close PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_in_range PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_has_break PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_window PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_sessions_distance PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_trading_index PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_deprecated PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_day PASSED [ 2%] 7331s tests/test_always_open.py::TestAlwaysOpenCalendar::test_open_every_minute PASSED [ 2%] 7331s tests/test_asex_calendar.py::TestASEXCalendar::test_base_integrity PASSED [ 2%] 7341s tests/test_asex_calendar.py::TestASEXCalendar::test_calculated_against_csv PASSED [ 2%] 7343s tests/test_asex_calendar.py::TestASEXCalendar::test_start_end PASSED [ 2%] 7344s tests/test_asex_calendar.py::TestASEXCalendar::test_invalid_input PASSED [ 2%] 7351s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_min PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_bound_max PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_sanity_check_session_lengths PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_specification PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_daylight_savings PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions PASSED [ 2%] 7353s tests/test_asex_calendar.py::TestASEXCalendar::test_opens_closes_break_starts_ends PASSED [ 2%] 7354s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[both] PASSED [ 2%] 7356s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[both] PASSED [ 2%] 7356s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[both] PASSED [ 2%] 7357s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[both] PASSED [ 2%] 7357s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[both] PASSED [ 2%] 7357s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[both] PASSED [ 2%] 7357s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[both] PASSED [ 2%] 7357s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[both] PASSED [ 2%] 7359s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[both] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[both] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-next] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-next] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 2%] 7364s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[left] PASSED [ 2%] 7366s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[left] PASSED [ 2%] 7368s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[left] PASSED [ 2%] 7373s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[left] PASSED [ 2%] 7373s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-previous] PASSED [ 2%] 7373s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 2%] 7373s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-previous] PASSED [ 2%] 7373s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 2%] 7374s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-previous] PASSED [ 2%] 7374s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 2%] 7374s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-next] PASSED [ 2%] 7374s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 2%] 7374s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[right] PASSED [ 2%] 7376s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[right] PASSED [ 2%] 7378s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[right] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[right] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[right-none] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[left-none] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[both-none] PASSED [ 2%] 7384s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-none] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-previous] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_session[neither-next] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 3%] 7386s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_properties[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_calendar_bounds_properties[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minute_methods[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_session_minutes[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_is_trading_minute[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_is_break_minute[neither] PASSED [ 3%] 7388s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_on_minute[neither] PASSED [ 3%] 7390s tests/test_asex_calendar.py::TestASEXCalendar::test_is_open_at_time[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_minute[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[neither] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[right] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[right] PASSED [ 3%] 7394s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[right] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[left] PASSED [ 3%] 7395s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[left] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[left] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[left] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_past_session[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_to_future_session[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minute_offset_by_sessions[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_in_range[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_window[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_distance[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_minutes_to_sessions[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_minutes_count[both] PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_has_break PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_regular_holidays_sample PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_adhoc_holidays_sample PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_non_holidays_sample PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens_sample PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample PASSED [ 3%] 7396s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_sample_time PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes_weekdays_time PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_non_early_closes_sample_time PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_late_opens PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_early_closes PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_session_open_close_break_start_end PASSED [ 3%] 7397s tests/test_asex_calendar.py::TestASEXCalendar::test_session_has_break PASSED [ 3%] 7399s tests/test_asex_calendar.py::TestASEXCalendar::test_next_prev_session PASSED [ 3%] 7399s tests/test_asex_calendar.py::TestASEXCalendar::test_session_offset PASSED [ 3%] 7399s tests/test_asex_calendar.py::TestASEXCalendar::test_is_session PASSED [ 3%] 7400s tests/test_asex_calendar.py::TestASEXCalendar::test_date_to_session PASSED [ 3%] 7409s tests/test_asex_calendar.py::TestASEXCalendar::test_prev_next_open_close PASSED [ 3%] 7409s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_in_range PASSED [ 3%] 7409s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_has_break PASSED [ 3%] 7409s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_window PASSED [ 3%] 7409s tests/test_asex_calendar.py::TestASEXCalendar::test_sessions_distance PASSED [ 3%] 7410s tests/test_asex_calendar.py::TestASEXCalendar::test_trading_index PASSED [ 3%] 7410s tests/test_asex_calendar.py::TestASEXCalendar::test_deprecated PASSED [ 3%] 7410s tests/test_asex_calendar.py::TestASEXCalendar::test_close_time_change PASSED [ 3%] 7410s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_base_integrity PASSED [ 3%] 7422s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calculated_against_csv PASSED [ 3%] 7425s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_start_end PASSED [ 3%] 7426s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_invalid_input PASSED [ 3%] 7432s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_min PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_bound_max PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sanity_check_session_lengths PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_specification PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_daylight_savings PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions PASSED [ 3%] 7434s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_opens_closes_break_starts_ends PASSED [ 3%] 7435s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[both] PASSED [ 3%] 7438s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[both] PASSED [ 3%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[both] PASSED [ 4%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[both] PASSED [ 4%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[both] PASSED [ 4%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[both] PASSED [ 4%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[both] PASSED [ 4%] 7439s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[both] PASSED [ 4%] 7441s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[both] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[both] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-next] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-next] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 4%] 7448s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[left] PASSED [ 4%] 7451s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[left] PASSED [ 4%] 7453s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[left] PASSED [ 4%] 7459s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[left] PASSED [ 4%] 7459s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-previous] PASSED [ 4%] 7459s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 4%] 7459s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-previous] PASSED [ 4%] 7459s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 4%] 7460s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-previous] PASSED [ 4%] 7460s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 4%] 7460s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-next] PASSED [ 4%] 7460s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 4%] 7460s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[right] PASSED [ 4%] 7464s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[right] PASSED [ 4%] 7466s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[right] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[right] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[right-none] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[left-none] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[both-none] PASSED [ 4%] 7472s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-none] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-previous] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_session[neither-next] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 4%] 7474s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_properties[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_calendar_bounds_properties[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minute_methods[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_minutes[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_trading_minute[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_break_minute[neither] PASSED [ 4%] 7477s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_on_minute[neither] PASSED [ 4%] 7479s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_open_at_time[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_minute[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[neither] PASSED [ 4%] 7486s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[neither] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[neither] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[neither] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[neither] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[right] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[left] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[left] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[left] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[left] PASSED [ 4%] 7487s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[left] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_past_session[both] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_to_future_session[both] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset[both] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minute_offset_by_sessions[both] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_in_range[both] PASSED [ 4%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_window[both] PASSED [ 5%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_distance[both] PASSED [ 5%] 7488s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_minutes_to_sessions[both] PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes[both] PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_minutes_count[both] PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_has_break PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_regular_holidays_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_adhoc_holidays_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_holidays_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_sample_time PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes_weekdays_time PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_non_early_closes_sample_time PASSED [ 5%] 7489s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_late_opens PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_early_closes PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_open_close_break_start_end PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_has_break PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_next_prev_session PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_session_offset PASSED [ 5%] 7490s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_is_session PASSED [ 5%] 7492s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_date_to_session PASSED [ 5%] 7502s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_prev_next_open_close PASSED [ 5%] 7502s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_in_range PASSED [ 5%] 7502s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_has_break PASSED [ 5%] 7502s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_window PASSED [ 5%] 7502s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_sessions_distance PASSED [ 5%] 7504s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_trading_index PASSED [ 5%] 7504s tests/test_bvmf_calendar.py::TestBVMFCalendar::test_deprecated PASSED [ 5%] 7505s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_add_new_aliases PASSED [ 5%] 7505s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_aliases_to_names PASSED [ 5%] 7505s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_allow_alias_override_with_force PASSED [ 5%] 7506s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_follow_alias_chain PASSED [ 5%] 7508s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_cache PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_kwargs PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_get_calendar_names PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_names_to_aliases PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_alias_that_already_exists PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_reject_cyclic_aliases PASSED [ 5%] 7509s tests/test_calendar_dispatcher.py::CalendarDispatcherTestCase::test_remove_aliases PASSED [ 5%] 7509s tests/test_calendar_helpers.py::test_constants PASSED [ 5%] 7509s tests/test_calendar_helpers.py::test_is_date PASSED [ 5%] 7509s tests/test_calendar_helpers.py::test_is_utc PASSED [ 5%] 7511s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-True] PASSED [ 5%] 7514s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[2021-06-05-False] PASSED [ 5%] 7517s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-True] PASSED [ 5%] 7520s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult1-False] PASSED [ 5%] 7522s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-True] PASSED [ 5%] 7525s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult2-False] PASSED [ 5%] 7528s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-True] PASSED [ 5%] 7531s tests/test_calendar_helpers.py::test_parse_timestamp_with_date[date_mult3-False] PASSED [ 5%] 7533s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-True] PASSED [ 5%] 7535s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[2021-06-02 23:00-False] PASSED [ 5%] 7538s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-True] PASSED [ 5%] 7540s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult1-False] PASSED [ 5%] 7542s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-True] PASSED [ 5%] 7545s tests/test_calendar_helpers.py::test_parse_timestamp_with_minute[minute_mult2-False] PASSED [ 5%] 7545s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[left] PASSED [ 5%] 7545s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[right] PASSED [ 5%] 7545s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[both] PASSED [ 5%] 7545s tests/test_calendar_helpers.py::test_parse_timestamp_with_second[neither] PASSED [ 5%] 7548s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[2021-13-13] PASSED [ 5%] 7550s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[malformed1] PASSED [ 5%] 7552s tests/test_calendar_helpers.py::test_parse_timestamp_error_malformed[not a timestamp] PASSED [ 5%] 7554s tests/test_calendar_helpers.py::test_parse_timestamp_error_oob PASSED [ 5%] 7556s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[2021-06-02 23:00] PASSED [ 5%] 7558s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult1] PASSED [ 5%] 7561s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_minute[minute_mult2] PASSED [ 5%] 7563s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[2021-06-05] PASSED [ 5%] 7566s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult1] PASSED [ 5%] 7568s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult2] PASSED [ 5%] 7570s tests/test_calendar_helpers.py::test_parse_date_or_minute_for_date[date_mult3] PASSED [ 5%] 7573s tests/test_calendar_helpers.py::test_parse_date_or_minute_oob PASSED [ 5%] 7575s tests/test_calendar_helpers.py::test_parse_date[2021-06-05] PASSED [ 5%] 7578s tests/test_calendar_helpers.py::test_parse_date[date_mult1] PASSED [ 5%] 7580s tests/test_calendar_helpers.py::test_parse_date[date_mult2] PASSED [ 5%] 7583s tests/test_calendar_helpers.py::test_parse_date[date_mult3] PASSED [ 5%] 7585s tests/test_calendar_helpers.py::test_parse_date_errors PASSED [ 5%] 7588s tests/test_calendar_helpers.py::test_parse_session PASSED [ 5%] 7591s tests/test_calendar_helpers.py::test_parse_trading_minute PASSED [ 5%] 7634s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XLON] PASSED [ 5%] 7635s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XLON] PASSED [ 5%] 7676s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XHKG] PASSED [ 5%] 7678s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XHKG] PASSED [ 5%] 7702s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[XTAE] PASSED [ 5%] 7705s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[XTAE] PASSED [ 5%] 7783s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[CMES] PASSED [ 5%] 7785s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[CMES] PASSED [ 5%] 7791s tests/test_calendar_helpers.py::TestTradingIndex::test_intervals_fuzz[24/7] PASSED [ 5%] 7794s tests/test_calendar_helpers.py::TestTradingIndex::test_daily_fuzz[24/7] PASSED [ 5%] 7796s tests/test_calendar_helpers.py::TestTradingIndex::test_for_empty_with_neither_fuzz PASSED [ 5%] 7801s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[XHKG] PASSED [ 5%] 7805s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[24/7] PASSED [ 5%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlap_error_fuzz[CMES] PASSED [ 5%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap0-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap1-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap2-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps[ti_for_overlap3-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[right-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-True] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_overlaps_2[both-False] PASSED [ 6%] 7810s tests/test_calendar_helpers.py::TestTradingIndex::test_force PASSED [ 6%] 7811s tests/test_calendar_helpers.py::TestTradingIndex::test_ignore_breaks PASSED [ 6%] 7819s tests/test_calendar_helpers.py::TestTradingIndex::test_align PASSED [ 6%] 7819s tests/test_calendar_helpers.py::TestTradingIndex::test_align_overlap PASSED [ 6%] 7826s tests/test_calendar_helpers.py::TestTradingIndex::test_start_end_times PASSED [ 6%] 7826s tests/test_calendar_helpers.py::TestTradingIndex::test_parsing_errors PASSED [ 6%] 7826s tests/test_cmes_calendar.py::TestCMESCalendar::test_base_integrity PASSED [ 6%] 7831s tests/test_cmes_calendar.py::TestCMESCalendar::test_calculated_against_csv PASSED [ 6%] 7831s tests/test_cmes_calendar.py::TestCMESCalendar::test_start_end PASSED [ 6%] 7831s tests/test_cmes_calendar.py::TestCMESCalendar::test_invalid_input PASSED [ 6%] 7837s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_min PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_bound_max PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_sanity_check_session_lengths PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_specification PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_daylight_savings PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_opens_closes_break_starts_ends PASSED [ 6%] 7839s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[left] PASSED [ 6%] 7847s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[left] PASSED [ 6%] 7850s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[left] PASSED [ 6%] 7853s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[left] PASSED [ 6%] 7853s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-next] PASSED [ 6%] 7853s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-next] PASSED [ 6%] 7855s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-next] PASSED [ 6%] 7855s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-next] PASSED [ 6%] 7855s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_properties[right] PASSED [ 6%] 7862s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes[right] PASSED [ 6%] 7862s tests/test_cmes_calendar.py::TestCMESCalendar::test_calendar_bounds_properties[right] PASSED [ 6%] 7862s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minute_methods[right] PASSED [ 6%] 7863s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_minutes[right] PASSED [ 6%] 7863s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_trading_minute[right] PASSED [ 6%] 7863s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_break_minute[right] PASSED [ 6%] 7863s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_on_minute[right] PASSED [ 6%] 7865s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_open_at_time[right] PASSED [ 6%] 7868s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_minute[right] PASSED [ 6%] 7868s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-previous] PASSED [ 6%] 7868s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 6%] 7868s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-previous] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[right-none] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[right-none] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_session[left-none] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_trading_minute[left-none] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[right] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_past_session[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_to_future_session[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minute_offset_by_sessions[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_in_range[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_window[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_distance[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_minutes_to_sessions[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_minutes_count[left] PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_has_break PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_regular_holidays_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_adhoc_holidays_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_holidays_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_sample_time PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes_weekdays_time PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample PASSED [ 6%] 7869s tests/test_cmes_calendar.py::TestCMESCalendar::test_non_early_closes_sample_time PASSED [ 6%] 7870s tests/test_cmes_calendar.py::TestCMESCalendar::test_late_opens PASSED [ 6%] 7870s tests/test_cmes_calendar.py::TestCMESCalendar::test_early_closes PASSED [ 6%] 7870s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_open_close_break_start_end PASSED [ 6%] 7870s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_has_break PASSED [ 6%] 7871s tests/test_cmes_calendar.py::TestCMESCalendar::test_next_prev_session PASSED [ 7%] 7871s tests/test_cmes_calendar.py::TestCMESCalendar::test_session_offset PASSED [ 7%] 7871s tests/test_cmes_calendar.py::TestCMESCalendar::test_is_session PASSED [ 7%] 7872s tests/test_cmes_calendar.py::TestCMESCalendar::test_date_to_session PASSED [ 7%] 7876s tests/test_cmes_calendar.py::TestCMESCalendar::test_prev_next_open_close PASSED [ 7%] 7877s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_in_range PASSED [ 7%] 7877s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_has_break PASSED [ 7%] 7877s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_window PASSED [ 7%] 7877s tests/test_cmes_calendar.py::TestCMESCalendar::test_sessions_distance PASSED [ 7%] 7878s tests/test_cmes_calendar.py::TestCMESCalendar::test_trading_index PASSED [ 7%] 7878s tests/test_cmes_calendar.py::TestCMESCalendar::test_deprecated PASSED [ 7%] 7878s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar PASSED [ 7%] 7879s tests/test_exchange_calendar.py::TestCalendarRegistration::test_register_calendar_type PASSED [ 7%] 7880s tests/test_exchange_calendar.py::TestCalendarRegistration::test_both_places_are_checked PASSED [ 7%] 7881s tests/test_exchange_calendar.py::TestCalendarRegistration::test_force_registration PASSED [ 7%] 8012s tests/test_exchange_calendar.py::test_default_calendars PASSED [ 7%] 8012s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19-0-time_offset0-tz0-2016-07-19 9:31] PASSED [ 7%] 8012s tests/test_exchange_calendar.py::test_days_at_time[2016-07-19--1-time_offset1-tz1-2016-07-18 17:01] PASSED [ 7%] 8012s tests/test_exchange_calendar.py::test_days_at_time[2004-04-05--1-time_offset2-tz2-2004-04-04 17:01] PASSED [ 7%] 8012s tests/test_exchange_calendar.py::test_days_at_time[1990-04-02--1-time_offset3-tz3-1990-04-01 19:01] PASSED [ 7%] 8012s tests/test_iepa_calendar.py::TestIEPACalendar::test_base_integrity PASSED [ 7%] 8019s tests/test_iepa_calendar.py::TestIEPACalendar::test_calculated_against_csv PASSED [ 7%] 8019s tests/test_iepa_calendar.py::TestIEPACalendar::test_start_end PASSED [ 7%] 8019s tests/test_iepa_calendar.py::TestIEPACalendar::test_invalid_input PASSED [ 7%] 8024s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_min PASSED [ 7%] 8025s tests/test_iepa_calendar.py::TestIEPACalendar::test_bound_max PASSED [ 7%] 8025s tests/test_iepa_calendar.py::TestIEPACalendar::test_sanity_check_session_lengths PASSED [ 7%] 8026s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_specification PASSED [ 7%] 8026s tests/test_iepa_calendar.py::TestIEPACalendar::test_daylight_savings PASSED [ 7%] 8026s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions PASSED [ 7%] 8026s tests/test_iepa_calendar.py::TestIEPACalendar::test_opens_closes_break_starts_ends PASSED [ 7%] 8026s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[both] PASSED [ 7%] 8031s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[both] PASSED [ 7%] 8032s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[both] PASSED [ 7%] 8035s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[both] PASSED [ 7%] 8035s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-next] PASSED [ 7%] 8035s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-next] PASSED [ 7%] 8036s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-next] PASSED [ 7%] 8036s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-next] PASSED [ 7%] 8036s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[left] PASSED [ 7%] 8039s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[left] PASSED [ 7%] 8040s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[left] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[left] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-next] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-next] PASSED [ 7%] 8044s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[right] PASSED [ 7%] 8049s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[right] PASSED [ 7%] 8049s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[right] PASSED [ 7%] 8049s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[right] PASSED [ 7%] 8049s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[right] PASSED [ 7%] 8049s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[right] PASSED [ 7%] 8050s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[right] PASSED [ 7%] 8050s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[right] PASSED [ 7%] 8051s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[right] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[right] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[right-none] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[right-none] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[left-none] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[left-none] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[both-none] PASSED [ 7%] 8055s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[both-none] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-none] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-previous] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_session[neither-next] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 7%] 8056s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_properties[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_calendar_bounds_properties[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minute_methods[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_minutes[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_trading_minute[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_break_minute[neither] PASSED [ 7%] 8061s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_on_minute[neither] PASSED [ 7%] 8063s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_open_at_time[neither] PASSED [ 7%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_minute[neither] PASSED [ 7%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[neither] PASSED [ 7%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[neither] PASSED [ 7%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[neither] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[right] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[left] PASSED [ 8%] 8066s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[left] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[left] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[left] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[left] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_past_session[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_to_future_session[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minute_offset_by_sessions[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_in_range[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_window[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_distance[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_minutes_to_sessions[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_minutes_count[both] PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_has_break PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_regular_holidays_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_adhoc_holidays_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_holidays_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_sample_time PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes_weekdays_time PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample PASSED [ 8%] 8067s tests/test_iepa_calendar.py::TestIEPACalendar::test_non_early_closes_sample_time PASSED [ 8%] 8068s tests/test_iepa_calendar.py::TestIEPACalendar::test_late_opens PASSED [ 8%] 8068s tests/test_iepa_calendar.py::TestIEPACalendar::test_early_closes PASSED [ 8%] 8068s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_open_close_break_start_end PASSED [ 8%] 8068s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_has_break PASSED [ 8%] 8069s tests/test_iepa_calendar.py::TestIEPACalendar::test_next_prev_session PASSED [ 8%] 8069s tests/test_iepa_calendar.py::TestIEPACalendar::test_session_offset PASSED [ 8%] 8069s tests/test_iepa_calendar.py::TestIEPACalendar::test_is_session PASSED [ 8%] 8070s tests/test_iepa_calendar.py::TestIEPACalendar::test_date_to_session PASSED [ 8%] 8076s tests/test_iepa_calendar.py::TestIEPACalendar::test_prev_next_open_close PASSED [ 8%] 8076s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_in_range PASSED [ 8%] 8076s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_has_break PASSED [ 8%] 8076s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_window PASSED [ 8%] 8076s tests/test_iepa_calendar.py::TestIEPACalendar::test_sessions_distance PASSED [ 8%] 8077s tests/test_iepa_calendar.py::TestIEPACalendar::test_trading_index PASSED [ 8%] 8077s tests/test_iepa_calendar.py::TestIEPACalendar::test_deprecated PASSED [ 8%] 8077s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_base_integrity PASSED [ 8%] 8077s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calculated_against_csv PASSED [ 8%] 8077s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_start_end PASSED [ 8%] 8077s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_invalid_input PASSED [ 8%] 8080s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_min PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_bound_max PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sanity_check_session_lengths PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_specification PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_daylight_savings PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_opens_closes_break_starts_ends PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[left] PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[left] PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[left] PASSED [ 8%] 8081s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[left] PASSED [ 8%] 8082s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[left] PASSED [ 8%] 8082s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[left] PASSED [ 8%] 8082s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[left] PASSED [ 8%] 8082s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[left] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[left] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[left] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-next] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-next] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-next] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-next] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_properties[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_calendar_bounds_properties[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minute_methods[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_minutes[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_trading_minute[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_break_minute[right] PASSED [ 8%] 8083s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_on_minute[right] PASSED [ 8%] 8084s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_open_at_time[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_minute[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-previous] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[right-none] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[right-none] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_session[left-none] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_trading_minute[left-none] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[right] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_past_session[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_to_future_session[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minute_offset_by_sessions[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_in_range[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_window[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_distance[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_minutes_to_sessions[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_minutes_count[left] PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_has_break PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_regular_holidays_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_adhoc_holidays_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_holidays_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_sample_time PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes_weekdays_time PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_non_early_closes_sample_time PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_late_opens PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_early_closes PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_open_close_break_start_end PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_has_break PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_next_prev_session PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_session_offset PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_is_session PASSED [ 9%] 8085s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_date_to_session PASSED [ 9%] 8086s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_prev_next_open_close PASSED [ 9%] 8086s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_in_range PASSED [ 9%] 8086s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_has_break PASSED [ 9%] 8086s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_window PASSED [ 9%] 8086s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_sessions_distance PASSED [ 9%] 8087s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_trading_index PASSED [ 9%] 8087s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_deprecated PASSED [ 9%] 8087s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday PASSED [ 9%] 8087s tests/test_weekday_calendar.py::TestWeekdayCalendar::test_open_every_weekday_minute PASSED [ 9%] 8087s tests/test_xams_calendar.py::TestXAMSCalendar::test_base_integrity PASSED [ 9%] 8095s tests/test_xams_calendar.py::TestXAMSCalendar::test_calculated_against_csv PASSED [ 9%] 8095s tests/test_xams_calendar.py::TestXAMSCalendar::test_start_end PASSED [ 9%] 8096s tests/test_xams_calendar.py::TestXAMSCalendar::test_invalid_input PASSED [ 9%] 8101s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_min PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_bound_max PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_sanity_check_session_lengths PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_specification PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_daylight_savings PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_opens_closes_break_starts_ends PASSED [ 9%] 8103s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[both] PASSED [ 9%] 8106s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[both] PASSED [ 9%] 8107s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[both] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[both] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-next] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-next] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 9%] 8112s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[left] PASSED [ 9%] 8114s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[left] PASSED [ 9%] 8116s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[left] PASSED [ 9%] 8122s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[left] PASSED [ 9%] 8122s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-previous] PASSED [ 9%] 8122s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 9%] 8122s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-previous] PASSED [ 9%] 8122s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 9%] 8123s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-previous] PASSED [ 10%] 8123s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 10%] 8123s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-next] PASSED [ 10%] 8123s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 10%] 8123s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[right] PASSED [ 10%] 8125s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[right] PASSED [ 10%] 8127s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[right] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[right] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[right-none] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[left-none] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[both-none] PASSED [ 10%] 8131s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-none] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-previous] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_session[neither-next] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 10%] 8132s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_properties[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_calendar_bounds_properties[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minute_methods[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_minutes[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_trading_minute[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_break_minute[neither] PASSED [ 10%] 8134s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_on_minute[neither] PASSED [ 10%] 8135s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_open_at_time[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_minute[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[neither] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[right] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[left] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_past_session[both] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_to_future_session[both] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset[both] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minute_offset_by_sessions[both] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_in_range[both] PASSED [ 10%] 8141s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_window[both] PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_distance[both] PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_minutes_to_sessions[both] PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes[both] PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_minutes_count[both] PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_has_break PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_regular_holidays_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_adhoc_holidays_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_holidays_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_sample_time PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes_weekdays_time PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_non_early_closes_sample_time PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_late_opens PASSED [ 10%] 8142s tests/test_xams_calendar.py::TestXAMSCalendar::test_early_closes PASSED [ 10%] 8143s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_open_close_break_start_end PASSED [ 10%] 8143s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_has_break PASSED [ 10%] 8143s tests/test_xams_calendar.py::TestXAMSCalendar::test_next_prev_session PASSED [ 10%] 8143s tests/test_xams_calendar.py::TestXAMSCalendar::test_session_offset PASSED [ 10%] 8144s tests/test_xams_calendar.py::TestXAMSCalendar::test_is_session PASSED [ 10%] 8145s tests/test_xams_calendar.py::TestXAMSCalendar::test_date_to_session PASSED [ 10%] 8152s tests/test_xams_calendar.py::TestXAMSCalendar::test_prev_next_open_close PASSED [ 10%] 8152s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_in_range PASSED [ 10%] 8152s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_has_break PASSED [ 11%] 8152s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_window PASSED [ 11%] 8152s tests/test_xams_calendar.py::TestXAMSCalendar::test_sessions_distance PASSED [ 11%] 8154s tests/test_xams_calendar.py::TestXAMSCalendar::test_trading_index PASSED [ 11%] 8154s tests/test_xams_calendar.py::TestXAMSCalendar::test_deprecated PASSED [ 11%] 8154s tests/test_xasx_calendar.py::TestXASXCalendar::test_base_integrity PASSED [ 11%] 8166s tests/test_xasx_calendar.py::TestXASXCalendar::test_calculated_against_csv PASSED [ 11%] 8167s tests/test_xasx_calendar.py::TestXASXCalendar::test_start_end PASSED [ 11%] 8168s tests/test_xasx_calendar.py::TestXASXCalendar::test_invalid_input PASSED [ 11%] 8173s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_min PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_bound_max PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_sanity_check_session_lengths PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_specification PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_daylight_savings PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions PASSED [ 11%] 8175s tests/test_xasx_calendar.py::TestXASXCalendar::test_opens_closes_break_starts_ends PASSED [ 11%] 8176s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[both] PASSED [ 11%] 8179s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[both] PASSED [ 11%] 8182s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[both] PASSED [ 11%] 8187s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[both] PASSED [ 11%] 8187s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-next] PASSED [ 11%] 8187s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 11%] 8188s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-next] PASSED [ 11%] 8188s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 11%] 8188s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[left] PASSED [ 11%] 8190s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[left] PASSED [ 11%] 8193s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[left] PASSED [ 11%] 8198s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[left] PASSED [ 11%] 8198s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-previous] PASSED [ 11%] 8198s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 11%] 8198s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-previous] PASSED [ 11%] 8198s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 11%] 8199s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-previous] PASSED [ 11%] 8199s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 11%] 8199s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-next] PASSED [ 11%] 8199s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 11%] 8199s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[right] PASSED [ 11%] 8201s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[right] PASSED [ 11%] 8202s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[right] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[right] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[right-none] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[left-none] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[both-none] PASSED [ 11%] 8208s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-none] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-previous] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_session[neither-next] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 11%] 8209s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_properties[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_calendar_bounds_properties[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minute_methods[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_minutes[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_trading_minute[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_break_minute[neither] PASSED [ 11%] 8210s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_on_minute[neither] PASSED [ 11%] 8211s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_open_at_time[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_minute[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[neither] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[right] PASSED [ 11%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[right] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[right] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[right] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[left] PASSED [ 12%] 8216s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_past_session[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_to_future_session[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minute_offset_by_sessions[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_in_range[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_window[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_distance[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_minutes_to_sessions[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_minutes_count[both] PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_has_break PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_regular_holidays_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_adhoc_holidays_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_holidays_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_sample_time PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes_weekdays_time PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_non_early_closes_sample_time PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_late_opens PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_early_closes PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_open_close_break_start_end PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_has_break PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_next_prev_session PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_session_offset PASSED [ 12%] 8217s tests/test_xasx_calendar.py::TestXASXCalendar::test_is_session PASSED [ 12%] 8218s tests/test_xasx_calendar.py::TestXASXCalendar::test_date_to_session PASSED [ 12%] 8223s tests/test_xasx_calendar.py::TestXASXCalendar::test_prev_next_open_close PASSED [ 12%] 8223s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_in_range PASSED [ 12%] 8223s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_has_break PASSED [ 12%] 8223s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_window PASSED [ 12%] 8223s tests/test_xasx_calendar.py::TestXASXCalendar::test_sessions_distance PASSED [ 12%] 8224s tests/test_xasx_calendar.py::TestXASXCalendar::test_trading_index PASSED [ 12%] 8224s tests/test_xasx_calendar.py::TestXASXCalendar::test_deprecated PASSED [ 12%] 8224s tests/test_xbda_calendar.py::TestXBDACalendar::test_base_integrity PASSED [ 12%] 8228s tests/test_xbda_calendar.py::TestXBDACalendar::test_calculated_against_csv PASSED [ 12%] 8229s tests/test_xbda_calendar.py::TestXBDACalendar::test_start_end PASSED [ 12%] 8230s tests/test_xbda_calendar.py::TestXBDACalendar::test_invalid_input PASSED [ 12%] 8236s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_min PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_bound_max PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_sanity_check_session_lengths PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_specification PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_daylight_savings PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions PASSED [ 12%] 8237s tests/test_xbda_calendar.py::TestXBDACalendar::test_opens_closes_break_starts_ends PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[both] PASSED [ 12%] 8238s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[both] PASSED [ 12%] 8239s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[both] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[both] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-next] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-next] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-next] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-next] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[left] PASSED [ 12%] 8241s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[left] PASSED [ 12%] 8242s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[left] PASSED [ 12%] 8243s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[left] PASSED [ 12%] 8243s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-previous] PASSED [ 12%] 8243s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 12%] 8243s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-previous] PASSED [ 12%] 8243s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-previous] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-next] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-next] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[right] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[right] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[right] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[right] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[right] PASSED [ 12%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[right] PASSED [ 13%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[right] PASSED [ 13%] 8244s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[right] PASSED [ 13%] 8245s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[right] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[right] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[right-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[right-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[left-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[left-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[both-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[both-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-previous] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_session[neither-next] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 13%] 8247s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_properties[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_calendar_bounds_properties[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minute_methods[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_minutes[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_trading_minute[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_break_minute[neither] PASSED [ 13%] 8248s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_on_minute[neither] PASSED [ 13%] 8249s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_open_at_time[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_minute[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[neither] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[right] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[left] PASSED [ 13%] 8250s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[left] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_past_session[both] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_to_future_session[both] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset[both] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minute_offset_by_sessions[both] PASSED [ 13%] 8251s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_in_range[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_window[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_distance[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_minutes_to_sessions[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_minutes_count[both] PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_has_break PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_regular_holidays_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_adhoc_holidays_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_holidays_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_sample_time PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes_weekdays_time PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_non_early_closes_sample_time PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_late_opens PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_early_closes PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_open_close_break_start_end PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_has_break PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_next_prev_session PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_session_offset PASSED [ 13%] 8252s tests/test_xbda_calendar.py::TestXBDACalendar::test_is_session PASSED [ 13%] 8253s tests/test_xbda_calendar.py::TestXBDACalendar::test_date_to_session PASSED [ 13%] 8255s tests/test_xbda_calendar.py::TestXBDACalendar::test_prev_next_open_close PASSED [ 13%] 8255s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_in_range PASSED [ 13%] 8255s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_has_break PASSED [ 13%] 8255s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_window PASSED [ 13%] 8255s tests/test_xbda_calendar.py::TestXBDACalendar::test_sessions_distance PASSED [ 13%] 8257s tests/test_xbda_calendar.py::TestXBDACalendar::test_trading_index PASSED [ 13%] 8257s tests/test_xbda_calendar.py::TestXBDACalendar::test_deprecated PASSED [ 13%] 8257s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_base_integrity PASSED [ 13%] 8260s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calculated_against_csv PASSED [ 13%] 8261s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_start_end PASSED [ 13%] 8261s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_invalid_input PASSED [ 14%] 8266s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_min PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_bound_max PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sanity_check_session_lengths PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_specification PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_daylight_savings PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 14%] 8268s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[both] PASSED [ 14%] 8269s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[both] PASSED [ 14%] 8270s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[both] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[both] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-next] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-next] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[left] PASSED [ 14%] 8271s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[left] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[left] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[left] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 14%] 8273s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-next] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[right] PASSED [ 14%] 8274s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[right] PASSED [ 14%] 8275s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[right] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[right] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[right-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[left-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[both-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 14%] 8277s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_properties[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minute_methods[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_minutes[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_trading_minute[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_break_minute[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 14%] 8278s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_open_at_time[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_minute[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[right] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[right] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[right] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[right] PASSED [ 14%] 8280s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[right] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[right] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[right] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[left] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[left] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[left] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[left] PASSED [ 14%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[left] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[left] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[left] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_past_session[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_to_future_session[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_in_range[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_window[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_distance[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_has_break PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_regular_holidays_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_adhoc_holidays_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_holidays_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_sample_time PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes_weekdays_time PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_non_early_closes_sample_time PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_late_opens PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_early_closes PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_open_close_break_start_end PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_has_break PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_next_prev_session PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_session_offset PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_is_session PASSED [ 15%] 8281s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_date_to_session PASSED [ 15%] 8282s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_prev_next_open_close PASSED [ 15%] 8282s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_in_range PASSED [ 15%] 8282s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_has_break PASSED [ 15%] 8282s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_window PASSED [ 15%] 8282s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_sessions_distance PASSED [ 15%] 8284s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_trading_index PASSED [ 15%] 8284s tests/test_xbel_calendar.py::TestXBELExchangeCalendar::test_deprecated PASSED [ 15%] 8284s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_base_integrity PASSED [ 15%] 8295s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calculated_against_csv PASSED [ 15%] 8297s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_start_end PASSED [ 15%] 8297s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_invalid_input PASSED [ 15%] 8304s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_min PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_bound_max PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sanity_check_session_lengths PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_specification PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_daylight_savings PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions PASSED [ 15%] 8305s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_opens_closes_break_starts_ends PASSED [ 15%] 8306s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[both] PASSED [ 15%] 8308s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[both] PASSED [ 15%] 8309s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[both] PASSED [ 15%] 8310s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[both] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[both] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-next] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-next] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-next] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-next] PASSED [ 15%] 8316s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[left] PASSED [ 15%] 8318s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[left] PASSED [ 15%] 8318s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[left] PASSED [ 15%] 8318s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[left] PASSED [ 15%] 8319s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[left] PASSED [ 15%] 8319s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[left] PASSED [ 15%] 8319s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[left] PASSED [ 15%] 8319s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[left] PASSED [ 15%] 8320s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[left] PASSED [ 15%] 8325s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[left] PASSED [ 15%] 8325s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-previous] PASSED [ 15%] 8325s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 15%] 8325s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-previous] PASSED [ 15%] 8325s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 15%] 8326s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-previous] PASSED [ 15%] 8326s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 15%] 8326s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-next] PASSED [ 15%] 8326s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-next] PASSED [ 15%] 8326s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[right] PASSED [ 15%] 8328s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[right] PASSED [ 15%] 8329s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[right] PASSED [ 15%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[right] PASSED [ 15%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[right-none] PASSED [ 15%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[right-none] PASSED [ 15%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[left-none] PASSED [ 15%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[left-none] PASSED [ 16%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[both-none] PASSED [ 16%] 8334s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[both-none] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-none] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-previous] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_session[neither-next] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 16%] 8335s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_properties[neither] PASSED [ 16%] 8337s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes[neither] PASSED [ 16%] 8337s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_calendar_bounds_properties[neither] PASSED [ 16%] 8337s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minute_methods[neither] PASSED [ 16%] 8338s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_minutes[neither] PASSED [ 16%] 8338s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_trading_minute[neither] PASSED [ 16%] 8338s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_break_minute[neither] PASSED [ 16%] 8338s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_on_minute[neither] PASSED [ 16%] 8339s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_open_at_time[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_minute[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[neither] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[right] PASSED [ 16%] 8344s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[right] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[right] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[right] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[right] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[left] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_past_session[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_to_future_session[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minute_offset_by_sessions[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_in_range[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_window[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_distance[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_minutes_to_sessions[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes[both] PASSED [ 16%] 8345s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_minutes_count[both] PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_has_break PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_regular_holidays_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_adhoc_holidays_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_holidays_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_sample_time PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes_weekdays_time PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_non_early_closes_sample_time PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_late_opens PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_early_closes PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_open_close_break_start_end PASSED [ 16%] 8346s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_has_break PASSED [ 16%] 8347s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_next_prev_session PASSED [ 16%] 8347s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_session_offset PASSED [ 16%] 8348s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_is_session PASSED [ 16%] 8349s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_date_to_session PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_prev_next_open_close PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_in_range PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_has_break PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_window PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_sessions_distance PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_trading_index PASSED [ 16%] 8355s tests/test_xbkk_calendar.py::TestXBKKCalendar::test_deprecated PASSED [ 16%] 8355s tests/test_xbog_calendar.py::TestXBOGCalendar::test_base_integrity PASSED [ 16%] 8366s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calculated_against_csv PASSED [ 16%] 8368s tests/test_xbog_calendar.py::TestXBOGCalendar::test_start_end PASSED [ 16%] 8369s tests/test_xbog_calendar.py::TestXBOGCalendar::test_invalid_input PASSED [ 16%] 8376s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_min PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_bound_max PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sanity_check_session_lengths PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_specification PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_daylight_savings PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions PASSED [ 16%] 8378s tests/test_xbog_calendar.py::TestXBOGCalendar::test_opens_closes_break_starts_ends PASSED [ 16%] 8379s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[both] PASSED [ 16%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[both] PASSED [ 17%] 8381s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[both] PASSED [ 17%] 8382s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[both] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[both] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-next] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-next] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 17%] 8387s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[left] PASSED [ 17%] 8389s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[left] PASSED [ 17%] 8390s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[left] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[left] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-next] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 17%] 8393s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[right] PASSED [ 17%] 8395s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[right] PASSED [ 17%] 8396s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[right] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[right] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[right-none] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[left-none] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[both-none] PASSED [ 17%] 8402s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-none] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-previous] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_session[neither-next] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 17%] 8403s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_properties[neither] PASSED [ 17%] 8404s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes[neither] PASSED [ 17%] 8404s tests/test_xbog_calendar.py::TestXBOGCalendar::test_calendar_bounds_properties[neither] PASSED [ 17%] 8405s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minute_methods[neither] PASSED [ 17%] 8405s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_minutes[neither] PASSED [ 17%] 8405s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_trading_minute[neither] PASSED [ 17%] 8405s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_break_minute[neither] PASSED [ 17%] 8405s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_on_minute[neither] PASSED [ 17%] 8406s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_open_at_time[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_minute[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[neither] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[right] PASSED [ 17%] 8411s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[right] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[right] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[right] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[right] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[left] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[left] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[left] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[left] PASSED [ 17%] 8412s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[left] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_past_session[both] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_to_future_session[both] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset[both] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minute_offset_by_sessions[both] PASSED [ 17%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_in_range[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_window[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_distance[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_minutes_to_sessions[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_minutes_count[both] PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_has_break PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_regular_holidays_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_adhoc_holidays_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_holidays_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_sample_time PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes_weekdays_time PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample PASSED [ 18%] 8413s tests/test_xbog_calendar.py::TestXBOGCalendar::test_non_early_closes_sample_time PASSED [ 18%] 8414s tests/test_xbog_calendar.py::TestXBOGCalendar::test_late_opens PASSED [ 18%] 8414s tests/test_xbog_calendar.py::TestXBOGCalendar::test_early_closes PASSED [ 18%] 8414s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_open_close_break_start_end PASSED [ 18%] 8414s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_has_break PASSED [ 18%] 8415s tests/test_xbog_calendar.py::TestXBOGCalendar::test_next_prev_session PASSED [ 18%] 8415s tests/test_xbog_calendar.py::TestXBOGCalendar::test_session_offset PASSED [ 18%] 8415s tests/test_xbog_calendar.py::TestXBOGCalendar::test_is_session PASSED [ 18%] 8416s tests/test_xbog_calendar.py::TestXBOGCalendar::test_date_to_session PASSED [ 18%] 8422s tests/test_xbog_calendar.py::TestXBOGCalendar::test_prev_next_open_close PASSED [ 18%] 8422s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_in_range PASSED [ 18%] 8422s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_has_break PASSED [ 18%] 8422s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_window PASSED [ 18%] 8422s tests/test_xbog_calendar.py::TestXBOGCalendar::test_sessions_distance PASSED [ 18%] 8423s tests/test_xbog_calendar.py::TestXBOGCalendar::test_trading_index PASSED [ 18%] 8423s tests/test_xbog_calendar.py::TestXBOGCalendar::test_deprecated PASSED [ 18%] 8423s tests/test_xbom_calendar.py::TestXBOMCalendar::test_base_integrity PASSED [ 18%] 8449s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calculated_against_csv PASSED [ 18%] 8449s tests/test_xbom_calendar.py::TestXBOMCalendar::test_start_end PASSED [ 18%] 8449s tests/test_xbom_calendar.py::TestXBOMCalendar::test_invalid_input PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_min PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_bound_max PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sanity_check_session_lengths PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_specification PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_daylight_savings PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions PASSED [ 18%] 8457s tests/test_xbom_calendar.py::TestXBOMCalendar::test_opens_closes_break_starts_ends PASSED [ 18%] 8458s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[both] PASSED [ 18%] 8459s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[both] PASSED [ 18%] 8460s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[both] PASSED [ 18%] 8461s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[both] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[both] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-next] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-next] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 18%] 8465s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[left] PASSED [ 18%] 8466s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[left] PASSED [ 18%] 8467s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[left] PASSED [ 18%] 8471s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[left] PASSED [ 18%] 8471s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-previous] PASSED [ 18%] 8471s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 18%] 8471s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-previous] PASSED [ 18%] 8471s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 18%] 8472s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-previous] PASSED [ 18%] 8472s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 18%] 8472s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-next] PASSED [ 18%] 8472s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 18%] 8472s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[right] PASSED [ 18%] 8474s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[right] PASSED [ 18%] 8475s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[right] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[right] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[right-none] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[left-none] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[both-none] PASSED [ 18%] 8479s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-none] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-previous] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_session[neither-next] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 18%] 8480s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_properties[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_calendar_bounds_properties[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minute_methods[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_minutes[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_trading_minute[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_break_minute[neither] PASSED [ 19%] 8482s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_on_minute[neither] PASSED [ 19%] 8483s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_open_at_time[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_minute[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[neither] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[right] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[right] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[right] PASSED [ 19%] 8487s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[right] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[left] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_past_session[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_to_future_session[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minute_offset_by_sessions[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_in_range[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_window[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_distance[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_minutes_to_sessions[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_minutes_count[both] PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_has_break PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_regular_holidays_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_adhoc_holidays_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_holidays_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_sample_time PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes_weekdays_time PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample PASSED [ 19%] 8488s tests/test_xbom_calendar.py::TestXBOMCalendar::test_non_early_closes_sample_time PASSED [ 19%] 8489s tests/test_xbom_calendar.py::TestXBOMCalendar::test_late_opens PASSED [ 19%] 8489s tests/test_xbom_calendar.py::TestXBOMCalendar::test_early_closes PASSED [ 19%] 8489s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_open_close_break_start_end PASSED [ 19%] 8489s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_has_break PASSED [ 19%] 8490s tests/test_xbom_calendar.py::TestXBOMCalendar::test_next_prev_session PASSED [ 19%] 8490s tests/test_xbom_calendar.py::TestXBOMCalendar::test_session_offset PASSED [ 19%] 8490s tests/test_xbom_calendar.py::TestXBOMCalendar::test_is_session PASSED [ 19%] 8491s tests/test_xbom_calendar.py::TestXBOMCalendar::test_date_to_session PASSED [ 19%] 8498s tests/test_xbom_calendar.py::TestXBOMCalendar::test_prev_next_open_close PASSED [ 19%] 8498s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_in_range PASSED [ 19%] 8498s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_has_break PASSED [ 19%] 8498s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_window PASSED [ 19%] 8498s tests/test_xbom_calendar.py::TestXBOMCalendar::test_sessions_distance PASSED [ 19%] 8499s tests/test_xbom_calendar.py::TestXBOMCalendar::test_trading_index PASSED [ 19%] 8499s tests/test_xbom_calendar.py::TestXBOMCalendar::test_deprecated PASSED [ 19%] 8499s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_base_integrity PASSED [ 19%] 8503s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calculated_against_csv PASSED [ 19%] 8504s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_start_end PASSED [ 19%] 8505s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_invalid_input PASSED [ 19%] 8509s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_min PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_bound_max PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sanity_check_session_lengths PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_specification PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_daylight_savings PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[both] PASSED [ 19%] 8511s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[both] PASSED [ 19%] 8513s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[both] PASSED [ 19%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[both] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-next] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-next] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[left] PASSED [ 20%] 8514s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[left] PASSED [ 20%] 8515s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[left] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[left] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-next] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[right] PASSED [ 20%] 8516s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[right] PASSED [ 20%] 8517s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[right] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[right] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[right-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[left-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[both-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 20%] 8518s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_properties[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minute_methods[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_minutes[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_trading_minute[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_break_minute[neither] PASSED [ 20%] 8519s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 20%] 8520s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_open_at_time[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_minute[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[left] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[left] PASSED [ 20%] 8521s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_past_session[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_to_future_session[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_in_range[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_window[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_distance[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_has_break PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_regular_holidays_sample PASSED [ 20%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_adhoc_holidays_sample PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_holidays_sample PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens_sample PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_sample_time PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes_weekdays_time PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_non_early_closes_sample_time PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_late_opens PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_early_closes PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_open_close_break_start_end PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_has_break PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_next_prev_session PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_session_offset PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_is_session PASSED [ 21%] 8522s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_date_to_session PASSED [ 21%] 8524s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_prev_next_open_close PASSED [ 21%] 8524s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_in_range PASSED [ 21%] 8524s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_has_break PASSED [ 21%] 8524s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_window PASSED [ 21%] 8524s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_sessions_distance PASSED [ 21%] 8525s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_trading_index PASSED [ 21%] 8525s tests/test_xbra_calendar.py::TestXBRAExchangeCalendar::test_deprecated PASSED [ 21%] 8525s tests/test_xbru_calendar.py::TestXBRUCalendar::test_base_integrity PASSED [ 21%] 8533s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calculated_against_csv PASSED [ 21%] 8533s tests/test_xbru_calendar.py::TestXBRUCalendar::test_start_end PASSED [ 21%] 8534s tests/test_xbru_calendar.py::TestXBRUCalendar::test_invalid_input PASSED [ 21%] 8540s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_min PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_bound_max PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sanity_check_session_lengths PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_specification PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_daylight_savings PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions PASSED [ 21%] 8541s tests/test_xbru_calendar.py::TestXBRUCalendar::test_opens_closes_break_starts_ends PASSED [ 21%] 8542s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[both] PASSED [ 21%] 8544s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[both] PASSED [ 21%] 8546s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[both] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[both] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-next] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-next] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 21%] 8552s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[left] PASSED [ 21%] 8555s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[left] PASSED [ 21%] 8556s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[left] PASSED [ 21%] 8560s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[left] PASSED [ 21%] 8560s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-previous] PASSED [ 21%] 8560s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 21%] 8560s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-previous] PASSED [ 21%] 8560s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 21%] 8561s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-previous] PASSED [ 21%] 8561s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 21%] 8561s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-next] PASSED [ 21%] 8561s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 21%] 8561s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[right] PASSED [ 21%] 8564s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[right] PASSED [ 21%] 8566s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[right] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[right] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[right-none] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[left-none] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[both-none] PASSED [ 21%] 8569s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-none] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-previous] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_session[neither-next] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 21%] 8570s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_properties[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_calendar_bounds_properties[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minute_methods[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_minutes[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_trading_minute[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_break_minute[neither] PASSED [ 21%] 8573s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_on_minute[neither] PASSED [ 21%] 8575s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_open_at_time[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_minute[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[neither] PASSED [ 22%] 8579s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[right] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[left] PASSED [ 22%] 8580s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_past_session[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_to_future_session[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minute_offset_by_sessions[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_in_range[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_window[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_distance[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_minutes_to_sessions[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_minutes_count[both] PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_has_break PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_regular_holidays_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_adhoc_holidays_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_holidays_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_sample_time PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes_weekdays_time PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_non_early_closes_sample_time PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_late_opens PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_early_closes PASSED [ 22%] 8581s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_open_close_break_start_end PASSED [ 22%] 8582s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_has_break PASSED [ 22%] 8583s tests/test_xbru_calendar.py::TestXBRUCalendar::test_next_prev_session PASSED [ 22%] 8583s tests/test_xbru_calendar.py::TestXBRUCalendar::test_session_offset PASSED [ 22%] 8583s tests/test_xbru_calendar.py::TestXBRUCalendar::test_is_session PASSED [ 22%] 8584s tests/test_xbru_calendar.py::TestXBRUCalendar::test_date_to_session PASSED [ 22%] 8592s tests/test_xbru_calendar.py::TestXBRUCalendar::test_prev_next_open_close PASSED [ 22%] 8592s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_in_range PASSED [ 22%] 8592s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_has_break PASSED [ 22%] 8592s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_window PASSED [ 22%] 8592s tests/test_xbru_calendar.py::TestXBRUCalendar::test_sessions_distance PASSED [ 22%] 8593s tests/test_xbru_calendar.py::TestXBRUCalendar::test_trading_index PASSED [ 22%] 8593s tests/test_xbru_calendar.py::TestXBRUCalendar::test_deprecated PASSED [ 22%] 8593s tests/test_xbse_calendar.py::TestXBSECalendar::test_base_integrity PASSED [ 22%] 8604s tests/test_xbse_calendar.py::TestXBSECalendar::test_calculated_against_csv PASSED [ 22%] 8606s tests/test_xbse_calendar.py::TestXBSECalendar::test_start_end PASSED [ 22%] 8607s tests/test_xbse_calendar.py::TestXBSECalendar::test_invalid_input PASSED [ 22%] 8612s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_min PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_bound_max PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_sanity_check_session_lengths PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_specification PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_daylight_savings PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_opens_closes_break_starts_ends PASSED [ 22%] 8614s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[both] PASSED [ 22%] 8617s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[both] PASSED [ 22%] 8618s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[both] PASSED [ 22%] 8623s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[both] PASSED [ 22%] 8623s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-next] PASSED [ 22%] 8623s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 22%] 8624s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-next] PASSED [ 22%] 8624s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 22%] 8624s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[left] PASSED [ 22%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[left] PASSED [ 22%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[left] PASSED [ 22%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[left] PASSED [ 22%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[left] PASSED [ 23%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[left] PASSED [ 23%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[left] PASSED [ 23%] 8626s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[left] PASSED [ 23%] 8628s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[left] PASSED [ 23%] 8632s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[left] PASSED [ 23%] 8632s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-previous] PASSED [ 23%] 8632s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 23%] 8632s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-previous] PASSED [ 23%] 8632s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-previous] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-next] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[right] PASSED [ 23%] 8638s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[right] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[right] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[right-none] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[left-none] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[both-none] PASSED [ 23%] 8642s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-none] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-previous] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_session[neither-next] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 23%] 8643s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_properties[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_calendar_bounds_properties[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minute_methods[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_minutes[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_trading_minute[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_break_minute[neither] PASSED [ 23%] 8646s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_on_minute[neither] PASSED [ 23%] 8648s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_open_at_time[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_minute[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[neither] PASSED [ 23%] 8653s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[neither] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[neither] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[neither] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[neither] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[right] PASSED [ 23%] 8654s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[left] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_past_session[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_to_future_session[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minute_offset_by_sessions[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_in_range[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_window[both] PASSED [ 23%] 8655s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_distance[both] PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_minutes_to_sessions[both] PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes[both] PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_minutes_count[both] PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_has_break PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_regular_holidays_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_adhoc_holidays_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_holidays_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_sample_time PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes_weekdays_time PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_non_early_closes_sample_time PASSED [ 23%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_late_opens PASSED [ 24%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_early_closes PASSED [ 24%] 8656s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_open_close_break_start_end PASSED [ 24%] 8657s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_has_break PASSED [ 24%] 8657s tests/test_xbse_calendar.py::TestXBSECalendar::test_next_prev_session PASSED [ 24%] 8657s tests/test_xbse_calendar.py::TestXBSECalendar::test_session_offset PASSED [ 24%] 8657s tests/test_xbse_calendar.py::TestXBSECalendar::test_is_session PASSED [ 24%] 8659s tests/test_xbse_calendar.py::TestXBSECalendar::test_date_to_session PASSED [ 24%] 8666s tests/test_xbse_calendar.py::TestXBSECalendar::test_prev_next_open_close PASSED [ 24%] 8666s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_in_range PASSED [ 24%] 8666s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_has_break PASSED [ 24%] 8666s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_window PASSED [ 24%] 8666s tests/test_xbse_calendar.py::TestXBSECalendar::test_sessions_distance PASSED [ 24%] 8667s tests/test_xbse_calendar.py::TestXBSECalendar::test_trading_index PASSED [ 24%] 8667s tests/test_xbse_calendar.py::TestXBSECalendar::test_deprecated PASSED [ 24%] 8667s tests/test_xbud_calendar.py::TestXBUDCalendar::test_base_integrity PASSED [ 24%] 8676s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calculated_against_csv PASSED [ 24%] 8678s tests/test_xbud_calendar.py::TestXBUDCalendar::test_start_end PASSED [ 24%] 8679s tests/test_xbud_calendar.py::TestXBUDCalendar::test_invalid_input PASSED [ 24%] 8687s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_min PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_bound_max PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sanity_check_session_lengths PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_specification PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_daylight_savings PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions PASSED [ 24%] 8689s tests/test_xbud_calendar.py::TestXBUDCalendar::test_opens_closes_break_starts_ends PASSED [ 24%] 8690s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[both] PASSED [ 24%] 8693s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[both] PASSED [ 24%] 8695s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[both] PASSED [ 24%] 8700s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[both] PASSED [ 24%] 8700s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-next] PASSED [ 24%] 8700s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-next] PASSED [ 24%] 8701s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-next] PASSED [ 24%] 8701s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-next] PASSED [ 24%] 8701s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[left] PASSED [ 24%] 8703s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[left] PASSED [ 24%] 8705s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[left] PASSED [ 24%] 8709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[left] PASSED [ 24%] 8709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-previous] PASSED [ 24%] 8709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 24%] 8709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-previous] PASSED [ 24%] 8709s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 24%] 8710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-previous] PASSED [ 24%] 8710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 24%] 8710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-next] PASSED [ 24%] 8710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-next] PASSED [ 24%] 8710s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[right] PASSED [ 24%] 8712s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[right] PASSED [ 24%] 8713s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[right] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[right] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[right-none] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[right-none] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[left-none] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[left-none] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[both-none] PASSED [ 24%] 8717s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[both-none] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-none] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-previous] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_session[neither-next] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 24%] 8718s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_properties[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_calendar_bounds_properties[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minute_methods[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_minutes[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_trading_minute[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_break_minute[neither] PASSED [ 24%] 8720s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_on_minute[neither] PASSED [ 24%] 8721s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_open_at_time[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_minute[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[neither] PASSED [ 24%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[neither] PASSED [ 25%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[neither] PASSED [ 25%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[neither] PASSED [ 25%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[right] PASSED [ 25%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[right] PASSED [ 25%] 8725s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[right] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[left] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_past_session[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_to_future_session[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minute_offset_by_sessions[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_in_range[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_window[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_distance[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_minutes_to_sessions[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_minutes_count[both] PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_has_break PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_regular_holidays_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_adhoc_holidays_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_holidays_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_sample_time PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes_weekdays_time PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample PASSED [ 25%] 8726s tests/test_xbud_calendar.py::TestXBUDCalendar::test_non_early_closes_sample_time PASSED [ 25%] 8727s tests/test_xbud_calendar.py::TestXBUDCalendar::test_late_opens PASSED [ 25%] 8727s tests/test_xbud_calendar.py::TestXBUDCalendar::test_early_closes PASSED [ 25%] 8727s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_open_close_break_start_end PASSED [ 25%] 8727s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_has_break PASSED [ 25%] 8728s tests/test_xbud_calendar.py::TestXBUDCalendar::test_next_prev_session PASSED [ 25%] 8728s tests/test_xbud_calendar.py::TestXBUDCalendar::test_session_offset PASSED [ 25%] 8728s tests/test_xbud_calendar.py::TestXBUDCalendar::test_is_session PASSED [ 25%] 8729s tests/test_xbud_calendar.py::TestXBUDCalendar::test_date_to_session PASSED [ 25%] 8736s tests/test_xbud_calendar.py::TestXBUDCalendar::test_prev_next_open_close PASSED [ 25%] 8736s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_in_range PASSED [ 25%] 8736s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_has_break PASSED [ 25%] 8736s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_window PASSED [ 25%] 8736s tests/test_xbud_calendar.py::TestXBUDCalendar::test_sessions_distance PASSED [ 25%] 8737s tests/test_xbud_calendar.py::TestXBUDCalendar::test_trading_index PASSED [ 25%] 8737s tests/test_xbud_calendar.py::TestXBUDCalendar::test_deprecated PASSED [ 25%] 8737s tests/test_xbue_calendar.py::TestXBUECalendar::test_base_integrity PASSED [ 25%] 8747s tests/test_xbue_calendar.py::TestXBUECalendar::test_calculated_against_csv PASSED [ 25%] 8749s tests/test_xbue_calendar.py::TestXBUECalendar::test_start_end PASSED [ 25%] 8750s tests/test_xbue_calendar.py::TestXBUECalendar::test_invalid_input PASSED [ 25%] 8756s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_min PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_bound_max PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_sanity_check_session_lengths PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_specification PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_daylight_savings PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_opens_closes_break_starts_ends PASSED [ 25%] 8758s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[both] PASSED [ 25%] 8761s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[both] PASSED [ 25%] 8762s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[both] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[both] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-next] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-next] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-next] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-next] PASSED [ 25%] 8766s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[left] PASSED [ 25%] 8767s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[left] PASSED [ 25%] 8769s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[left] PASSED [ 25%] 8774s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[left] PASSED [ 25%] 8774s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-previous] PASSED [ 25%] 8774s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 25%] 8774s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-previous] PASSED [ 25%] 8774s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 26%] 8775s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-previous] PASSED [ 26%] 8775s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 26%] 8775s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-next] PASSED [ 26%] 8775s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-next] PASSED [ 26%] 8775s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[right] PASSED [ 26%] 8776s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[right] PASSED [ 26%] 8778s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[right] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[right] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[right-none] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[right-none] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[left-none] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[left-none] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[both-none] PASSED [ 26%] 8782s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[both-none] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-none] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-previous] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_session[neither-next] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 26%] 8783s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_properties[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_calendar_bounds_properties[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minute_methods[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_minutes[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_trading_minute[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_break_minute[neither] PASSED [ 26%] 8785s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_on_minute[neither] PASSED [ 26%] 8787s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_open_at_time[neither] PASSED [ 26%] 8791s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_minute[neither] PASSED [ 26%] 8791s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[neither] PASSED [ 26%] 8791s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[neither] PASSED [ 26%] 8791s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[neither] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[right] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[left] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[left] PASSED [ 26%] 8792s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[left] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_past_session[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_to_future_session[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minute_offset_by_sessions[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_in_range[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_window[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_distance[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_minutes_to_sessions[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_minutes_count[both] PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_has_break PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_regular_holidays_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_adhoc_holidays_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_holidays_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_sample_time PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes_weekdays_time PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample PASSED [ 26%] 8793s tests/test_xbue_calendar.py::TestXBUECalendar::test_non_early_closes_sample_time PASSED [ 26%] 8794s tests/test_xbue_calendar.py::TestXBUECalendar::test_late_opens PASSED [ 26%] 8794s tests/test_xbue_calendar.py::TestXBUECalendar::test_early_closes PASSED [ 26%] 8794s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_open_close_break_start_end PASSED [ 26%] 8794s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_has_break PASSED [ 26%] 8795s tests/test_xbue_calendar.py::TestXBUECalendar::test_next_prev_session PASSED [ 26%] 8795s tests/test_xbue_calendar.py::TestXBUECalendar::test_session_offset PASSED [ 26%] 8795s tests/test_xbue_calendar.py::TestXBUECalendar::test_is_session PASSED [ 26%] 8796s tests/test_xbue_calendar.py::TestXBUECalendar::test_date_to_session PASSED [ 26%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_prev_next_open_close PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_in_range PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_has_break PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_window PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_sessions_distance PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_trading_index PASSED [ 27%] 8805s tests/test_xbue_calendar.py::TestXBUECalendar::test_deprecated PASSED [ 27%] 8805s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_base_integrity PASSED [ 27%] 8815s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calculated_against_csv PASSED [ 27%] 8816s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_start_end PASSED [ 27%] 8816s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_invalid_input PASSED [ 27%] 8823s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_min PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_bound_max PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sanity_check_session_lengths PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_specification PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_daylight_savings PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions PASSED [ 27%] 8825s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_opens_closes_break_starts_ends PASSED [ 27%] 8826s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[both] PASSED [ 27%] 8829s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[both] PASSED [ 27%] 8830s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[both] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[both] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-next] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-next] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-next] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-next] PASSED [ 27%] 8835s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[left] PASSED [ 27%] 8838s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[left] PASSED [ 27%] 8839s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[left] PASSED [ 27%] 8844s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[left] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-next] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-next] PASSED [ 27%] 8845s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[right] PASSED [ 27%] 8848s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[right] PASSED [ 27%] 8850s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[right] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[right] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[right-none] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[right-none] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[left-none] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[left-none] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[both-none] PASSED [ 27%] 8855s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[both-none] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-none] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-previous] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_session[neither-next] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 27%] 8856s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_properties[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_calendar_bounds_properties[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minute_methods[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_minutes[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_trading_minute[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_break_minute[neither] PASSED [ 27%] 8858s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_on_minute[neither] PASSED [ 27%] 8860s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_open_at_time[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_minute[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[neither] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[right] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[right] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[right] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[right] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[right] PASSED [ 27%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[right] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[right] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[right] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[right] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[right] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[left] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[left] PASSED [ 28%] 8864s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[left] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_past_session[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_to_future_session[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minute_offset_by_sessions[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_in_range[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_window[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_distance[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_minutes_to_sessions[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_minutes_count[both] PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_has_break PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_regular_holidays_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_adhoc_holidays_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_holidays_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_sample_time PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes_weekdays_time PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_non_early_closes_sample_time PASSED [ 28%] 8865s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_late_opens PASSED [ 28%] 8866s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_early_closes PASSED [ 28%] 8866s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_open_close_break_start_end PASSED [ 28%] 8866s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_has_break PASSED [ 28%] 8867s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_next_prev_session PASSED [ 28%] 8867s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_session_offset PASSED [ 28%] 8867s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_is_session PASSED [ 28%] 8868s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_date_to_session PASSED [ 28%] 8877s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_prev_next_open_close PASSED [ 28%] 8877s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_in_range PASSED [ 28%] 8877s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_has_break PASSED [ 28%] 8877s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_window PASSED [ 28%] 8877s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_sessions_distance PASSED [ 28%] 8878s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_trading_index PASSED [ 28%] 8878s tests/test_xcbf_calendar.py::TestXCBFCalendar::test_deprecated PASSED [ 28%] 8878s tests/test_xcse_calendar.py::TestXCSECalendar::test_base_integrity PASSED [ 28%] 8888s tests/test_xcse_calendar.py::TestXCSECalendar::test_calculated_against_csv PASSED [ 28%] 8890s tests/test_xcse_calendar.py::TestXCSECalendar::test_start_end PASSED [ 28%] 8891s tests/test_xcse_calendar.py::TestXCSECalendar::test_invalid_input PASSED [ 28%] 8895s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_min PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_bound_max PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_sanity_check_session_lengths PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_specification PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_daylight_savings PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions PASSED [ 28%] 8897s tests/test_xcse_calendar.py::TestXCSECalendar::test_opens_closes_break_starts_ends PASSED [ 28%] 8898s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[both] PASSED [ 28%] 8901s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[both] PASSED [ 28%] 8903s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[both] PASSED [ 28%] 8908s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[both] PASSED [ 28%] 8908s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-next] PASSED [ 28%] 8908s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 28%] 8909s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-next] PASSED [ 28%] 8909s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 28%] 8909s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[left] PASSED [ 28%] 8911s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[left] PASSED [ 28%] 8912s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[left] PASSED [ 28%] 8917s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[left] PASSED [ 28%] 8917s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-previous] PASSED [ 28%] 8917s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 28%] 8917s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-previous] PASSED [ 28%] 8917s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 28%] 8918s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-previous] PASSED [ 28%] 8918s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 28%] 8918s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-next] PASSED [ 28%] 8918s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 28%] 8918s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[right] PASSED [ 28%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[right] PASSED [ 28%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[right] PASSED [ 28%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[right] PASSED [ 29%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[right] PASSED [ 29%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[right] PASSED [ 29%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[right] PASSED [ 29%] 8921s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[right] PASSED [ 29%] 8922s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[right] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[right] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[right-none] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[left-none] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[both-none] PASSED [ 29%] 8927s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-none] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-previous] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_session[neither-next] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 29%] 8928s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_properties[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_calendar_bounds_properties[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minute_methods[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_minutes[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_trading_minute[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_break_minute[neither] PASSED [ 29%] 8931s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_on_minute[neither] PASSED [ 29%] 8933s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_open_at_time[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_minute[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[neither] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[right] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[right] PASSED [ 29%] 8937s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[right] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[left] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_past_session[both] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_to_future_session[both] PASSED [ 29%] 8938s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_minute_offset_by_sessions[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_in_range[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_window[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_distance[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_minutes_to_sessions[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_minutes_count[both] PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_has_break PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_regular_holidays_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_adhoc_holidays_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_holidays_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_sample_time PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes_weekdays_time PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_non_early_closes_sample_time PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_late_opens PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_early_closes PASSED [ 29%] 8939s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_open_close_break_start_end PASSED [ 29%] 8940s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_has_break PASSED [ 29%] 8940s tests/test_xcse_calendar.py::TestXCSECalendar::test_next_prev_session PASSED [ 29%] 8940s tests/test_xcse_calendar.py::TestXCSECalendar::test_session_offset PASSED [ 29%] 8941s tests/test_xcse_calendar.py::TestXCSECalendar::test_is_session PASSED [ 29%] 8942s tests/test_xcse_calendar.py::TestXCSECalendar::test_date_to_session PASSED [ 29%] 8952s tests/test_xcse_calendar.py::TestXCSECalendar::test_prev_next_open_close PASSED [ 29%] 8952s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_in_range PASSED [ 29%] 8952s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_has_break PASSED [ 29%] 8952s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_window PASSED [ 29%] 8952s tests/test_xcse_calendar.py::TestXCSECalendar::test_sessions_distance PASSED [ 29%] 8953s tests/test_xcse_calendar.py::TestXCSECalendar::test_trading_index PASSED [ 29%] 8953s tests/test_xcse_calendar.py::TestXCSECalendar::test_deprecated PASSED [ 29%] 8953s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_base_integrity PASSED [ 29%] 8958s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calculated_against_csv PASSED [ 29%] 8960s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_start_end PASSED [ 30%] 8961s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_invalid_input PASSED [ 30%] 8967s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_min PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_bound_max PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sanity_check_session_lengths PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_specification PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_daylight_savings PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 30%] 8969s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[both] PASSED [ 30%] 8970s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[both] PASSED [ 30%] 8972s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[both] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[both] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-next] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-next] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 30%] 8973s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[left] PASSED [ 30%] 8974s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[left] PASSED [ 30%] 8975s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[left] PASSED [ 30%] 8977s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[left] PASSED [ 30%] 8977s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 30%] 8977s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 30%] 8977s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 30%] 8977s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-next] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[right] PASSED [ 30%] 8978s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[right] PASSED [ 30%] 8980s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[right] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[right] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[right-none] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[left-none] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[both-none] PASSED [ 30%] 8981s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 30%] 8982s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_properties[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minute_methods[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_minutes[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_trading_minute[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_break_minute[neither] PASSED [ 30%] 8983s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 30%] 8984s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_open_at_time[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_minute[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[neither] PASSED [ 30%] 8985s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[neither] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[neither] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[left] PASSED [ 30%] 8986s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[left] PASSED [ 30%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[left] PASSED [ 30%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 30%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_past_session[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_to_future_session[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_in_range[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_window[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_distance[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_has_break PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_regular_holidays_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_adhoc_holidays_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_holidays_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_sample_time PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes_weekdays_time PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_non_early_closes_sample_time PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_late_opens PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_early_closes PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_open_close_break_start_end PASSED [ 31%] 8987s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_has_break PASSED [ 31%] 8988s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_next_prev_session PASSED [ 31%] 8988s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_session_offset PASSED [ 31%] 8988s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_is_session PASSED [ 31%] 8988s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_date_to_session PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_prev_next_open_close PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_in_range PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_has_break PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_window PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_sessions_distance PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_trading_index PASSED [ 31%] 8991s tests/test_xcys_calendar.py::TestXCYSExchangeCalendar::test_deprecated PASSED [ 31%] 8991s tests/test_xdub_calendar.py::TestXDUBCalendar::test_base_integrity PASSED [ 31%] 9000s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calculated_against_csv PASSED [ 31%] 9001s tests/test_xdub_calendar.py::TestXDUBCalendar::test_start_end PASSED [ 31%] 9002s tests/test_xdub_calendar.py::TestXDUBCalendar::test_invalid_input PASSED [ 31%] 9008s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_min PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_bound_max PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sanity_check_session_lengths PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_specification PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_daylight_savings PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_opens_closes_break_starts_ends PASSED [ 31%] 9010s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[both] PASSED [ 31%] 9013s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[both] PASSED [ 31%] 9014s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[both] PASSED [ 31%] 9017s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[both] PASSED [ 31%] 9017s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-next] PASSED [ 31%] 9017s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-next] PASSED [ 31%] 9018s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-next] PASSED [ 31%] 9018s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-next] PASSED [ 31%] 9018s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[left] PASSED [ 31%] 9019s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[left] PASSED [ 31%] 9020s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[left] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[left] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-next] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-next] PASSED [ 31%] 9024s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[right] PASSED [ 31%] 9026s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[right] PASSED [ 31%] 9028s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[right] PASSED [ 31%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[right] PASSED [ 31%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[right-none] PASSED [ 31%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[right-none] PASSED [ 31%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[left-none] PASSED [ 32%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[left-none] PASSED [ 32%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[both-none] PASSED [ 32%] 9032s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[both-none] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-none] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-previous] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_session[neither-next] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 32%] 9033s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_properties[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_calendar_bounds_properties[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minute_methods[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_minutes[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_trading_minute[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_break_minute[neither] PASSED [ 32%] 9035s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_on_minute[neither] PASSED [ 32%] 9036s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_open_at_time[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_minute[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[neither] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[right] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[left] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_past_session[both] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_to_future_session[both] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset[both] PASSED [ 32%] 9040s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minute_offset_by_sessions[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_in_range[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_window[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_distance[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_minutes_to_sessions[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_minutes_count[both] PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_has_break PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_regular_holidays_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_adhoc_holidays_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_holidays_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_sample_time PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes_weekdays_time PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_non_early_closes_sample_time PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_late_opens PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_early_closes PASSED [ 32%] 9041s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_open_close_break_start_end PASSED [ 32%] 9042s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_has_break PASSED [ 32%] 9042s tests/test_xdub_calendar.py::TestXDUBCalendar::test_next_prev_session PASSED [ 32%] 9042s tests/test_xdub_calendar.py::TestXDUBCalendar::test_session_offset PASSED [ 32%] 9043s tests/test_xdub_calendar.py::TestXDUBCalendar::test_is_session PASSED [ 32%] 9044s tests/test_xdub_calendar.py::TestXDUBCalendar::test_date_to_session PASSED [ 32%] 9053s tests/test_xdub_calendar.py::TestXDUBCalendar::test_prev_next_open_close PASSED [ 32%] 9053s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_in_range PASSED [ 32%] 9053s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_has_break PASSED [ 32%] 9053s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_window PASSED [ 32%] 9053s tests/test_xdub_calendar.py::TestXDUBCalendar::test_sessions_distance PASSED [ 32%] 9054s tests/test_xdub_calendar.py::TestXDUBCalendar::test_trading_index PASSED [ 32%] 9054s tests/test_xdub_calendar.py::TestXDUBCalendar::test_deprecated PASSED [ 32%] 9054s tests/test_xdus_calendar.py::TestXDUSCalendar::test_base_integrity PASSED [ 32%] 9062s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calculated_against_csv PASSED [ 32%] 9063s tests/test_xdus_calendar.py::TestXDUSCalendar::test_start_end PASSED [ 32%] 9063s tests/test_xdus_calendar.py::TestXDUSCalendar::test_invalid_input PASSED [ 32%] 9068s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_min PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_bound_max PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sanity_check_session_lengths PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_specification PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_daylight_savings PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions PASSED [ 32%] 9070s tests/test_xdus_calendar.py::TestXDUSCalendar::test_opens_closes_break_starts_ends PASSED [ 32%] 9071s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[both] PASSED [ 33%] 9076s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[both] PASSED [ 33%] 9078s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[both] PASSED [ 33%] 9082s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[both] PASSED [ 33%] 9082s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-next] PASSED [ 33%] 9082s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 33%] 9083s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-next] PASSED [ 33%] 9083s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 33%] 9083s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[left] PASSED [ 33%] 9087s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[left] PASSED [ 33%] 9087s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[left] PASSED [ 33%] 9087s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[left] PASSED [ 33%] 9088s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[left] PASSED [ 33%] 9088s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[left] PASSED [ 33%] 9088s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[left] PASSED [ 33%] 9088s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[left] PASSED [ 33%] 9089s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[left] PASSED [ 33%] 9094s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[left] PASSED [ 33%] 9094s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-previous] PASSED [ 33%] 9094s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 33%] 9094s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-previous] PASSED [ 33%] 9094s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 33%] 9095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-previous] PASSED [ 33%] 9095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 33%] 9095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-next] PASSED [ 33%] 9095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 33%] 9095s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[right] PASSED [ 33%] 9098s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[right] PASSED [ 33%] 9100s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[right] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[right] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[right-none] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[left-none] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[both-none] PASSED [ 33%] 9104s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-none] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-previous] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_session[neither-next] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 33%] 9106s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_properties[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_calendar_bounds_properties[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minute_methods[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_minutes[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_trading_minute[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_break_minute[neither] PASSED [ 33%] 9111s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_on_minute[neither] PASSED [ 33%] 9113s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_open_at_time[neither] PASSED [ 33%] 9118s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_minute[neither] PASSED [ 33%] 9118s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[neither] PASSED [ 33%] 9118s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[neither] PASSED [ 33%] 9118s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[neither] PASSED [ 33%] 9118s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[neither] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[right] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[left] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_past_session[both] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_to_future_session[both] PASSED [ 33%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset[both] PASSED [ 34%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minute_offset_by_sessions[both] PASSED [ 34%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_in_range[both] PASSED [ 34%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_window[both] PASSED [ 34%] 9119s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_distance[both] PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_minutes_to_sessions[both] PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes[both] PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_minutes_count[both] PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_has_break PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_regular_holidays_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_adhoc_holidays_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_holidays_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_sample_time PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes_weekdays_time PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_non_early_closes_sample_time PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_late_opens PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_early_closes PASSED [ 34%] 9120s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_open_close_break_start_end PASSED [ 34%] 9121s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_has_break PASSED [ 34%] 9122s tests/test_xdus_calendar.py::TestXDUSCalendar::test_next_prev_session PASSED [ 34%] 9122s tests/test_xdus_calendar.py::TestXDUSCalendar::test_session_offset PASSED [ 34%] 9122s tests/test_xdus_calendar.py::TestXDUSCalendar::test_is_session PASSED [ 34%] 9123s tests/test_xdus_calendar.py::TestXDUSCalendar::test_date_to_session PASSED [ 34%] 9131s tests/test_xdus_calendar.py::TestXDUSCalendar::test_prev_next_open_close PASSED [ 34%] 9131s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_in_range PASSED [ 34%] 9131s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_has_break PASSED [ 34%] 9131s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_window PASSED [ 34%] 9131s tests/test_xdus_calendar.py::TestXDUSCalendar::test_sessions_distance PASSED [ 34%] 9132s tests/test_xdus_calendar.py::TestXDUSCalendar::test_trading_index PASSED [ 34%] 9132s tests/test_xdus_calendar.py::TestXDUSCalendar::test_deprecated PASSED [ 34%] 9132s tests/test_xeee_calendar.py::TestXEEECalendar::test_base_integrity PASSED [ 34%] 9142s tests/test_xeee_calendar.py::TestXEEECalendar::test_calculated_against_csv PASSED [ 34%] 9142s tests/test_xeee_calendar.py::TestXEEECalendar::test_start_end PASSED [ 34%] 9143s tests/test_xeee_calendar.py::TestXEEECalendar::test_invalid_input PASSED [ 34%] 9148s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_min PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_bound_max PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_sanity_check_session_lengths PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_specification PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_daylight_savings PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions PASSED [ 34%] 9150s tests/test_xeee_calendar.py::TestXEEECalendar::test_opens_closes_break_starts_ends PASSED [ 34%] 9151s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[both] PASSED [ 34%] 9155s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[both] PASSED [ 34%] 9157s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[both] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[both] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-next] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-next] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-next] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-next] PASSED [ 34%] 9162s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[left] PASSED [ 34%] 9166s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[left] PASSED [ 34%] 9167s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[left] PASSED [ 34%] 9172s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[left] PASSED [ 34%] 9172s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-previous] PASSED [ 34%] 9172s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 34%] 9172s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-previous] PASSED [ 34%] 9172s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 34%] 9173s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-previous] PASSED [ 34%] 9173s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 34%] 9173s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-next] PASSED [ 34%] 9173s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-next] PASSED [ 34%] 9173s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[right] PASSED [ 34%] 9177s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[right] PASSED [ 34%] 9179s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[right] PASSED [ 34%] 9184s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[right] PASSED [ 34%] 9184s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[right-none] PASSED [ 34%] 9184s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[right-none] PASSED [ 34%] 9185s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[left-none] PASSED [ 34%] 9185s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[left-none] PASSED [ 34%] 9185s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[both-none] PASSED [ 34%] 9185s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[both-none] PASSED [ 34%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-none] PASSED [ 34%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 34%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-previous] PASSED [ 34%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 34%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_session[neither-next] PASSED [ 35%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 35%] 9186s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_properties[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_calendar_bounds_properties[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minute_methods[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_minutes[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_trading_minute[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_break_minute[neither] PASSED [ 35%] 9189s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_on_minute[neither] PASSED [ 35%] 9191s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_open_at_time[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_minute[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[neither] PASSED [ 35%] 9196s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[neither] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[neither] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[right] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[left] PASSED [ 35%] 9197s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[left] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[left] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[left] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[left] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_past_session[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_to_future_session[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minute_offset_by_sessions[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_in_range[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_window[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_distance[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_minutes_to_sessions[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_minutes_count[both] PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_has_break PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_regular_holidays_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_adhoc_holidays_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_holidays_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_sample_time PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes_weekdays_time PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample PASSED [ 35%] 9198s tests/test_xeee_calendar.py::TestXEEECalendar::test_non_early_closes_sample_time PASSED [ 35%] 9199s tests/test_xeee_calendar.py::TestXEEECalendar::test_late_opens PASSED [ 35%] 9199s tests/test_xeee_calendar.py::TestXEEECalendar::test_early_closes PASSED [ 35%] 9199s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_open_close_break_start_end PASSED [ 35%] 9199s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_has_break PASSED [ 35%] 9200s tests/test_xeee_calendar.py::TestXEEECalendar::test_next_prev_session PASSED [ 35%] 9200s tests/test_xeee_calendar.py::TestXEEECalendar::test_session_offset PASSED [ 35%] 9200s tests/test_xeee_calendar.py::TestXEEECalendar::test_is_session PASSED [ 35%] 9201s tests/test_xeee_calendar.py::TestXEEECalendar::test_date_to_session PASSED [ 35%] 9209s tests/test_xeee_calendar.py::TestXEEECalendar::test_prev_next_open_close PASSED [ 35%] 9209s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_in_range PASSED [ 35%] 9209s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_has_break PASSED [ 35%] 9209s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_window PASSED [ 35%] 9209s tests/test_xeee_calendar.py::TestXEEECalendar::test_sessions_distance PASSED [ 35%] 9210s tests/test_xeee_calendar.py::TestXEEECalendar::test_trading_index PASSED [ 35%] 9210s tests/test_xeee_calendar.py::TestXEEECalendar::test_deprecated PASSED [ 35%] 9210s tests/test_xetr_calendar.py::TestXETRCalendar::test_base_integrity PASSED [ 35%] 9220s tests/test_xetr_calendar.py::TestXETRCalendar::test_calculated_against_csv PASSED [ 35%] 9221s tests/test_xetr_calendar.py::TestXETRCalendar::test_start_end PASSED [ 35%] 9221s tests/test_xetr_calendar.py::TestXETRCalendar::test_invalid_input PASSED [ 35%] 9226s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_min PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_bound_max PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_sanity_check_session_lengths PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_specification PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_daylight_savings PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions PASSED [ 35%] 9228s tests/test_xetr_calendar.py::TestXETRCalendar::test_opens_closes_break_starts_ends PASSED [ 35%] 9229s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[both] PASSED [ 35%] 9232s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[both] PASSED [ 35%] 9233s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[both] PASSED [ 36%] 9237s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[both] PASSED [ 36%] 9237s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-next] PASSED [ 36%] 9237s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-next] PASSED [ 36%] 9238s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-next] PASSED [ 36%] 9238s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-next] PASSED [ 36%] 9238s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[left] PASSED [ 36%] 9241s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[left] PASSED [ 36%] 9243s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[left] PASSED [ 36%] 9248s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[left] PASSED [ 36%] 9248s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-previous] PASSED [ 36%] 9248s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 36%] 9248s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-previous] PASSED [ 36%] 9248s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 36%] 9249s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-previous] PASSED [ 36%] 9249s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 36%] 9249s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-next] PASSED [ 36%] 9249s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-next] PASSED [ 36%] 9249s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[right] PASSED [ 36%] 9252s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[right] PASSED [ 36%] 9253s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[right] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[right] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[right-none] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[right-none] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[left-none] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[left-none] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[both-none] PASSED [ 36%] 9258s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[both-none] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-none] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-previous] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_session[neither-next] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 36%] 9260s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_properties[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_calendar_bounds_properties[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minute_methods[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_minutes[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_trading_minute[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_break_minute[neither] PASSED [ 36%] 9263s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_on_minute[neither] PASSED [ 36%] 9265s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_open_at_time[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_minute[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[neither] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[right] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[left] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[left] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[left] PASSED [ 36%] 9269s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[left] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_past_session[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_to_future_session[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minute_offset_by_sessions[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_in_range[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_window[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_distance[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_minutes_to_sessions[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_minutes_count[both] PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_has_break PASSED [ 36%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_regular_holidays_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_adhoc_holidays_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_holidays_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_sample_time PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes_weekdays_time PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample PASSED [ 37%] 9270s tests/test_xetr_calendar.py::TestXETRCalendar::test_non_early_closes_sample_time PASSED [ 37%] 9271s tests/test_xetr_calendar.py::TestXETRCalendar::test_late_opens PASSED [ 37%] 9271s tests/test_xetr_calendar.py::TestXETRCalendar::test_early_closes PASSED [ 37%] 9271s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_open_close_break_start_end PASSED [ 37%] 9271s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_has_break PASSED [ 37%] 9272s tests/test_xetr_calendar.py::TestXETRCalendar::test_next_prev_session PASSED [ 37%] 9272s tests/test_xetr_calendar.py::TestXETRCalendar::test_session_offset PASSED [ 37%] 9272s tests/test_xetr_calendar.py::TestXETRCalendar::test_is_session PASSED [ 37%] 9273s tests/test_xetr_calendar.py::TestXETRCalendar::test_date_to_session PASSED [ 37%] 9282s tests/test_xetr_calendar.py::TestXETRCalendar::test_prev_next_open_close PASSED [ 37%] 9282s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_in_range PASSED [ 37%] 9282s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_has_break PASSED [ 37%] 9282s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_window PASSED [ 37%] 9282s tests/test_xetr_calendar.py::TestXETRCalendar::test_sessions_distance PASSED [ 37%] 9283s tests/test_xetr_calendar.py::TestXETRCalendar::test_trading_index PASSED [ 37%] 9283s tests/test_xetr_calendar.py::TestXETRCalendar::test_deprecated PASSED [ 37%] 9283s tests/test_xfra_calendar.py::TestXFRACalendar::test_base_integrity PASSED [ 37%] 9294s tests/test_xfra_calendar.py::TestXFRACalendar::test_calculated_against_csv PASSED [ 37%] 9295s tests/test_xfra_calendar.py::TestXFRACalendar::test_start_end PASSED [ 37%] 9295s tests/test_xfra_calendar.py::TestXFRACalendar::test_invalid_input PASSED [ 37%] 9302s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_min PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_bound_max PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_sanity_check_session_lengths PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_specification PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_daylight_savings PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions PASSED [ 37%] 9303s tests/test_xfra_calendar.py::TestXFRACalendar::test_opens_closes_break_starts_ends PASSED [ 37%] 9304s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[both] PASSED [ 37%] 9308s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[both] PASSED [ 37%] 9310s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[both] PASSED [ 37%] 9314s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[both] PASSED [ 37%] 9314s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-next] PASSED [ 37%] 9314s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-next] PASSED [ 37%] 9315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-next] PASSED [ 37%] 9315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-next] PASSED [ 37%] 9315s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[left] PASSED [ 37%] 9318s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[left] PASSED [ 37%] 9319s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[left] PASSED [ 37%] 9325s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[left] PASSED [ 37%] 9325s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-previous] PASSED [ 37%] 9325s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-previous] PASSED [ 37%] 9325s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-previous] PASSED [ 37%] 9325s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-previous] PASSED [ 37%] 9326s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-previous] PASSED [ 37%] 9326s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-previous] PASSED [ 37%] 9326s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-next] PASSED [ 37%] 9326s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-next] PASSED [ 37%] 9326s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[right] PASSED [ 37%] 9329s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[right] PASSED [ 37%] 9332s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[right] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[right] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[right-none] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[right-none] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[left-none] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[left-none] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[both-none] PASSED [ 37%] 9337s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[both-none] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-none] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-none] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-previous] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_session[neither-next] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_trading_minute[neither-next] PASSED [ 37%] 9338s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_properties[neither] PASSED [ 37%] 9340s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes[neither] PASSED [ 37%] 9340s tests/test_xfra_calendar.py::TestXFRACalendar::test_calendar_bounds_properties[neither] PASSED [ 37%] 9341s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minute_methods[neither] PASSED [ 37%] 9341s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_minutes[neither] PASSED [ 37%] 9341s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_trading_minute[neither] PASSED [ 37%] 9341s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_break_minute[neither] PASSED [ 37%] 9341s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_on_minute[neither] PASSED [ 38%] 9343s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_open_at_time[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_minute[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[neither] PASSED [ 38%] 9347s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[neither] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[neither] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[neither] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[neither] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[right] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[left] PASSED [ 38%] 9348s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[left] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[left] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[left] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[left] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_past_session[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_to_future_session[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minute_offset_by_sessions[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_in_range[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_window[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_distance[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_minutes_to_sessions[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_minutes_count[both] PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_has_break PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_regular_holidays_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_adhoc_holidays_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_holidays_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_sample_time PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes_weekdays_time PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample PASSED [ 38%] 9349s tests/test_xfra_calendar.py::TestXFRACalendar::test_non_early_closes_sample_time PASSED [ 38%] 9350s tests/test_xfra_calendar.py::TestXFRACalendar::test_late_opens PASSED [ 38%] 9350s tests/test_xfra_calendar.py::TestXFRACalendar::test_early_closes PASSED [ 38%] 9350s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_open_close_break_start_end PASSED [ 38%] 9350s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_has_break PASSED [ 38%] 9351s tests/test_xfra_calendar.py::TestXFRACalendar::test_next_prev_session PASSED [ 38%] 9351s tests/test_xfra_calendar.py::TestXFRACalendar::test_session_offset PASSED [ 38%] 9351s tests/test_xfra_calendar.py::TestXFRACalendar::test_is_session PASSED [ 38%] 9353s tests/test_xfra_calendar.py::TestXFRACalendar::test_date_to_session PASSED [ 38%] 9361s tests/test_xfra_calendar.py::TestXFRACalendar::test_prev_next_open_close PASSED [ 38%] 9361s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_in_range PASSED [ 38%] 9361s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_has_break PASSED [ 38%] 9361s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_window PASSED [ 38%] 9361s tests/test_xfra_calendar.py::TestXFRACalendar::test_sessions_distance PASSED [ 38%] 9362s tests/test_xfra_calendar.py::TestXFRACalendar::test_trading_index PASSED [ 38%] 9363s tests/test_xfra_calendar.py::TestXFRACalendar::test_deprecated PASSED [ 38%] 9363s tests/test_xham_calendar.py::TestXHAMCalendar::test_base_integrity PASSED [ 38%] 9373s tests/test_xham_calendar.py::TestXHAMCalendar::test_calculated_against_csv PASSED [ 38%] 9374s tests/test_xham_calendar.py::TestXHAMCalendar::test_start_end PASSED [ 38%] 9375s tests/test_xham_calendar.py::TestXHAMCalendar::test_invalid_input PASSED [ 38%] 9380s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_min PASSED [ 38%] 9381s tests/test_xham_calendar.py::TestXHAMCalendar::test_bound_max PASSED [ 38%] 9381s tests/test_xham_calendar.py::TestXHAMCalendar::test_sanity_check_session_lengths PASSED [ 38%] 9381s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_specification PASSED [ 38%] 9381s tests/test_xham_calendar.py::TestXHAMCalendar::test_daylight_savings PASSED [ 38%] 9381s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions PASSED [ 38%] 9382s tests/test_xham_calendar.py::TestXHAMCalendar::test_opens_closes_break_starts_ends PASSED [ 38%] 9382s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[both] PASSED [ 38%] 9388s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[both] PASSED [ 38%] 9390s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[both] PASSED [ 38%] 9395s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[both] PASSED [ 38%] 9395s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-next] PASSED [ 38%] 9395s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 38%] 9395s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-next] PASSED [ 38%] 9395s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 38%] 9396s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[left] PASSED [ 38%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[left] PASSED [ 38%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[left] PASSED [ 38%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[left] PASSED [ 39%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[left] PASSED [ 39%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[left] PASSED [ 39%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[left] PASSED [ 39%] 9401s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[left] PASSED [ 39%] 9402s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[left] PASSED [ 39%] 9407s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[left] PASSED [ 39%] 9407s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-previous] PASSED [ 39%] 9407s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 39%] 9407s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-previous] PASSED [ 39%] 9407s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 39%] 9408s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-previous] PASSED [ 39%] 9408s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 39%] 9408s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-next] PASSED [ 39%] 9408s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 39%] 9408s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[right] PASSED [ 39%] 9413s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[right] PASSED [ 39%] 9415s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[right] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[right] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[right-none] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[left-none] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[both-none] PASSED [ 39%] 9421s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-none] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-previous] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_session[neither-next] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 39%] 9422s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_properties[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_calendar_bounds_properties[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minute_methods[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_minutes[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_trading_minute[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_break_minute[neither] PASSED [ 39%] 9428s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_on_minute[neither] PASSED [ 39%] 9429s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_open_at_time[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_minute[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 39%] 9435s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[neither] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[right] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[left] PASSED [ 39%] 9436s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[left] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_past_session[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_to_future_session[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minute_offset_by_sessions[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_in_range[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_window[both] PASSED [ 39%] 9437s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_distance[both] PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_minutes_to_sessions[both] PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes[both] PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_minutes_count[both] PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_has_break PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_regular_holidays_sample PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_adhoc_holidays_sample PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_holidays_sample PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens_sample PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_sample_time PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes_weekdays_time PASSED [ 39%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample PASSED [ 40%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_non_early_closes_sample_time PASSED [ 40%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_late_opens PASSED [ 40%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_early_closes PASSED [ 40%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_open_close_break_start_end PASSED [ 40%] 9438s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_has_break PASSED [ 40%] 9439s tests/test_xham_calendar.py::TestXHAMCalendar::test_next_prev_session PASSED [ 40%] 9439s tests/test_xham_calendar.py::TestXHAMCalendar::test_session_offset PASSED [ 40%] 9439s tests/test_xham_calendar.py::TestXHAMCalendar::test_is_session PASSED [ 40%] 9440s tests/test_xham_calendar.py::TestXHAMCalendar::test_date_to_session PASSED [ 40%] 9449s tests/test_xham_calendar.py::TestXHAMCalendar::test_prev_next_open_close PASSED [ 40%] 9449s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_in_range PASSED [ 40%] 9449s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_has_break PASSED [ 40%] 9449s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_window PASSED [ 40%] 9449s tests/test_xham_calendar.py::TestXHAMCalendar::test_sessions_distance PASSED [ 40%] 9451s tests/test_xham_calendar.py::TestXHAMCalendar::test_trading_index PASSED [ 40%] 9451s tests/test_xham_calendar.py::TestXHAMCalendar::test_deprecated PASSED [ 40%] 9451s tests/test_xhel_calendar.py::TestXHELCalendar::test_base_integrity PASSED [ 40%] 9461s tests/test_xhel_calendar.py::TestXHELCalendar::test_calculated_against_csv PASSED [ 40%] 9463s tests/test_xhel_calendar.py::TestXHELCalendar::test_start_end PASSED [ 40%] 9463s tests/test_xhel_calendar.py::TestXHELCalendar::test_invalid_input PASSED [ 40%] 9470s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_min PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_bound_max PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_sanity_check_session_lengths PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_specification PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_daylight_savings PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions PASSED [ 40%] 9472s tests/test_xhel_calendar.py::TestXHELCalendar::test_opens_closes_break_starts_ends PASSED [ 40%] 9473s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[both] PASSED [ 40%] 9476s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[both] PASSED [ 40%] 9478s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[both] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[both] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-next] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-next] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-next] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-next] PASSED [ 40%] 9483s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[left] PASSED [ 40%] 9485s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[left] PASSED [ 40%] 9487s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[left] PASSED [ 40%] 9492s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[left] PASSED [ 40%] 9492s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-previous] PASSED [ 40%] 9492s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 40%] 9492s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-previous] PASSED [ 40%] 9492s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 40%] 9493s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-previous] PASSED [ 40%] 9493s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 40%] 9493s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-next] PASSED [ 40%] 9493s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-next] PASSED [ 40%] 9493s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[right] PASSED [ 40%] 9496s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[right] PASSED [ 40%] 9497s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[right] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[right] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[right-none] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[right-none] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[left-none] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[left-none] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[both-none] PASSED [ 40%] 9501s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[both-none] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-none] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-previous] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_session[neither-next] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 40%] 9502s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_properties[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_calendar_bounds_properties[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minute_methods[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_minutes[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_trading_minute[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_break_minute[neither] PASSED [ 40%] 9505s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_on_minute[neither] PASSED [ 40%] 9507s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_open_at_time[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_minute[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[neither] PASSED [ 40%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[neither] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[neither] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[neither] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[neither] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[neither] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[right] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[left] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[left] PASSED [ 41%] 9513s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[left] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_past_session[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_to_future_session[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minute_offset_by_sessions[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_in_range[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_window[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_distance[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_minutes_to_sessions[both] PASSED [ 41%] 9514s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes[both] PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_minutes_count[both] PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_has_break PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_regular_holidays_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_adhoc_holidays_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_holidays_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_sample_time PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes_weekdays_time PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_non_early_closes_sample_time PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_late_opens PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_early_closes PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_open_close_break_start_end PASSED [ 41%] 9515s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_has_break PASSED [ 41%] 9516s tests/test_xhel_calendar.py::TestXHELCalendar::test_next_prev_session PASSED [ 41%] 9516s tests/test_xhel_calendar.py::TestXHELCalendar::test_session_offset PASSED [ 41%] 9516s tests/test_xhel_calendar.py::TestXHELCalendar::test_is_session PASSED [ 41%] 9517s tests/test_xhel_calendar.py::TestXHELCalendar::test_date_to_session PASSED [ 41%] 9525s tests/test_xhel_calendar.py::TestXHELCalendar::test_prev_next_open_close PASSED [ 41%] 9525s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_in_range PASSED [ 41%] 9525s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_has_break PASSED [ 41%] 9525s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_window PASSED [ 41%] 9525s tests/test_xhel_calendar.py::TestXHELCalendar::test_sessions_distance PASSED [ 41%] 9526s tests/test_xhel_calendar.py::TestXHELCalendar::test_trading_index PASSED [ 41%] 9526s tests/test_xhel_calendar.py::TestXHELCalendar::test_deprecated PASSED [ 41%] 9526s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_base_integrity PASSED [ 41%] 9539s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calculated_against_csv PASSED [ 41%] 9542s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_start_end PASSED [ 41%] 9542s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_invalid_input PASSED [ 41%] 9548s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_min PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_bound_max PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sanity_check_session_lengths PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_specification PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_daylight_savings PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions PASSED [ 41%] 9550s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_opens_closes_break_starts_ends PASSED [ 41%] 9551s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[both] PASSED [ 41%] 9556s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[both] PASSED [ 41%] 9560s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[both] PASSED [ 41%] 9570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[both] PASSED [ 41%] 9570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-next] PASSED [ 41%] 9570s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-next] PASSED [ 41%] 9571s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-next] PASSED [ 41%] 9571s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-next] PASSED [ 41%] 9571s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[left] PASSED [ 41%] 9574s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[left] PASSED [ 41%] 9580s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[left] PASSED [ 41%] 9590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[left] PASSED [ 41%] 9590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-previous] PASSED [ 41%] 9590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 42%] 9590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-previous] PASSED [ 42%] 9590s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 42%] 9592s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-previous] PASSED [ 42%] 9592s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 42%] 9592s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-next] PASSED [ 42%] 9592s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-next] PASSED [ 42%] 9592s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[right] PASSED [ 42%] 9595s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[right] PASSED [ 42%] 9595s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[right] PASSED [ 42%] 9595s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[right] PASSED [ 42%] 9595s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[right] PASSED [ 42%] 9595s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[right] PASSED [ 42%] 9596s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[right] PASSED [ 42%] 9596s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[right] PASSED [ 42%] 9601s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[right] PASSED [ 42%] 9611s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[right] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[right-none] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[right-none] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[left-none] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[left-none] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[both-none] PASSED [ 42%] 9612s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[both-none] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-none] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-previous] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_session[neither-next] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 42%] 9614s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_properties[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_calendar_bounds_properties[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minute_methods[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_minutes[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_trading_minute[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_break_minute[neither] PASSED [ 42%] 9617s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_on_minute[neither] PASSED [ 42%] 9624s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_open_at_time[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_minute[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[neither] PASSED [ 42%] 9633s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[neither] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[right] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[left] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[left] PASSED [ 42%] 9634s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[left] PASSED [ 42%] 9635s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_past_session[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_to_future_session[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minute_offset_by_sessions[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_in_range[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_window[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_distance[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_minutes_to_sessions[both] PASSED [ 42%] 9636s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes[both] PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_minutes_count[both] PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_has_break PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_regular_holidays_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_adhoc_holidays_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_holidays_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_sample_time PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes_weekdays_time PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_non_early_closes_sample_time PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_late_opens PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_early_closes PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_open_close_break_start_end PASSED [ 42%] 9637s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_has_break PASSED [ 42%] 9638s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_next_prev_session PASSED [ 42%] 9638s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_session_offset PASSED [ 42%] 9638s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_is_session PASSED [ 42%] 9640s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_date_to_session PASSED [ 43%] 9650s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_prev_next_open_close PASSED [ 43%] 9650s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_in_range PASSED [ 43%] 9650s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_has_break PASSED [ 43%] 9650s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_window PASSED [ 43%] 9650s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_sessions_distance PASSED [ 43%] 9651s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_trading_index PASSED [ 43%] 9651s tests/test_xhkg_calendar.py::TestXHKGCalendar::test_deprecated PASSED [ 43%] 9651s tests/test_xice_calendar.py::TestXICECalendar::test_base_integrity PASSED [ 43%] 9657s tests/test_xice_calendar.py::TestXICECalendar::test_calculated_against_csv PASSED [ 43%] 9660s tests/test_xice_calendar.py::TestXICECalendar::test_start_end PASSED [ 43%] 9660s tests/test_xice_calendar.py::TestXICECalendar::test_invalid_input PASSED [ 43%] 9667s tests/test_xice_calendar.py::TestXICECalendar::test_bound_min PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_bound_max PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_sanity_check_session_lengths PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_specification PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_daylight_savings PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_sessions PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_opens_closes_break_starts_ends PASSED [ 43%] 9669s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[both] PASSED [ 43%] 9670s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[both] PASSED [ 43%] 9671s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[both] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[both] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-next] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-next] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-next] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-next] PASSED [ 43%] 9673s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[left] PASSED [ 43%] 9674s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[left] PASSED [ 43%] 9675s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[left] PASSED [ 43%] 9676s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[left] PASSED [ 43%] 9676s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-previous] PASSED [ 43%] 9676s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 43%] 9676s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-previous] PASSED [ 43%] 9676s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-previous] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-next] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-next] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[right] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[right] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[right] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[right] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[right] PASSED [ 43%] 9677s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[right] PASSED [ 43%] 9678s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[right] PASSED [ 43%] 9678s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[right] PASSED [ 43%] 9679s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[right] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[right] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[right-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[right-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[left-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[left-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[both-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[both-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-previous] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_session[neither-next] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 43%] 9680s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_properties[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_minutes[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_calendar_bounds_properties[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_session_minute_methods[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_session_minutes[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_is_trading_minute[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_is_break_minute[neither] PASSED [ 43%] 9681s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_on_minute[neither] PASSED [ 43%] 9682s tests/test_xice_calendar.py::TestXICECalendar::test_is_open_at_time[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_minute[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[neither] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[right] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[right] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[right] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[right] PASSED [ 43%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[right] PASSED [ 44%] 9684s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[right] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[right] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[right] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[right] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[right] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[left] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_past_session[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_to_future_session[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minute_offset_by_sessions[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_in_range[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_window[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_distance[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_minutes_to_sessions[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_minutes_count[both] PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_has_break PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_regular_holidays_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_adhoc_holidays_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_non_holidays_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_sample_time PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes_weekdays_time PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_non_early_closes_sample_time PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_late_opens PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_early_closes PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_session_open_close_break_start_end PASSED [ 44%] 9685s tests/test_xice_calendar.py::TestXICECalendar::test_session_has_break PASSED [ 44%] 9686s tests/test_xice_calendar.py::TestXICECalendar::test_next_prev_session PASSED [ 44%] 9686s tests/test_xice_calendar.py::TestXICECalendar::test_session_offset PASSED [ 44%] 9686s tests/test_xice_calendar.py::TestXICECalendar::test_is_session PASSED [ 44%] 9686s tests/test_xice_calendar.py::TestXICECalendar::test_date_to_session PASSED [ 44%] 9689s tests/test_xice_calendar.py::TestXICECalendar::test_prev_next_open_close PASSED [ 44%] 9689s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_in_range PASSED [ 44%] 9689s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_has_break PASSED [ 44%] 9689s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_window PASSED [ 44%] 9689s tests/test_xice_calendar.py::TestXICECalendar::test_sessions_distance PASSED [ 44%] 9690s tests/test_xice_calendar.py::TestXICECalendar::test_trading_index PASSED [ 44%] 9690s tests/test_xice_calendar.py::TestXICECalendar::test_deprecated PASSED [ 44%] 9690s tests/test_xidx_calendar.py::TestXIDXCalendar::test_base_integrity PASSED [ 44%] 9700s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calculated_against_csv PASSED [ 44%] 9701s tests/test_xidx_calendar.py::TestXIDXCalendar::test_start_end PASSED [ 44%] 9702s tests/test_xidx_calendar.py::TestXIDXCalendar::test_invalid_input PASSED [ 44%] 9708s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_min PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_bound_max PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sanity_check_session_lengths PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_specification PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_daylight_savings PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions PASSED [ 44%] 9710s tests/test_xidx_calendar.py::TestXIDXCalendar::test_opens_closes_break_starts_ends PASSED [ 44%] 9711s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[both] PASSED [ 44%] 9714s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[both] PASSED [ 44%] 9716s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[both] PASSED [ 44%] 9721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[both] PASSED [ 44%] 9721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-next] PASSED [ 44%] 9721s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 44%] 9722s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-next] PASSED [ 44%] 9722s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 44%] 9722s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[left] PASSED [ 44%] 9724s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[left] PASSED [ 44%] 9724s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[left] PASSED [ 44%] 9724s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[left] PASSED [ 44%] 9725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[left] PASSED [ 44%] 9725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[left] PASSED [ 44%] 9725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[left] PASSED [ 44%] 9725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[left] PASSED [ 44%] 9725s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[left] PASSED [ 44%] 9732s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[left] PASSED [ 44%] 9732s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-previous] PASSED [ 44%] 9732s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 44%] 9732s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-previous] PASSED [ 44%] 9732s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 44%] 9733s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-previous] PASSED [ 44%] 9733s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 44%] 9733s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-next] PASSED [ 44%] 9733s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 44%] 9733s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[right] PASSED [ 44%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[right] PASSED [ 44%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[right] PASSED [ 45%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[right] PASSED [ 45%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[right] PASSED [ 45%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[right] PASSED [ 45%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[right] PASSED [ 45%] 9736s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[right] PASSED [ 45%] 9738s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[right] PASSED [ 45%] 9742s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[right] PASSED [ 45%] 9742s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[right-none] PASSED [ 45%] 9742s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 45%] 9743s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[left-none] PASSED [ 45%] 9743s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 45%] 9743s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[both-none] PASSED [ 45%] 9743s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 45%] 9743s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-none] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-previous] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_session[neither-next] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 45%] 9744s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_properties[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_calendar_bounds_properties[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minute_methods[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_minutes[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_trading_minute[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_break_minute[neither] PASSED [ 45%] 9746s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_on_minute[neither] PASSED [ 45%] 9747s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_open_at_time[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_minute[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[neither] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[right] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[left] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[left] PASSED [ 45%] 9752s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[left] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_past_session[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_to_future_session[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minute_offset_by_sessions[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_in_range[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_window[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_distance[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_minutes_to_sessions[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_minutes_count[both] PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_has_break PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_regular_holidays_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_adhoc_holidays_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_holidays_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_sample_time PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes_weekdays_time PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_non_early_closes_sample_time PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_late_opens PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_early_closes PASSED [ 45%] 9753s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_open_close_break_start_end PASSED [ 45%] 9754s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_has_break PASSED [ 45%] 9755s tests/test_xidx_calendar.py::TestXIDXCalendar::test_next_prev_session PASSED [ 45%] 9755s tests/test_xidx_calendar.py::TestXIDXCalendar::test_session_offset PASSED [ 45%] 9755s tests/test_xidx_calendar.py::TestXIDXCalendar::test_is_session PASSED [ 45%] 9756s tests/test_xidx_calendar.py::TestXIDXCalendar::test_date_to_session PASSED [ 45%] 9766s tests/test_xidx_calendar.py::TestXIDXCalendar::test_prev_next_open_close PASSED [ 45%] 9766s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_in_range PASSED [ 45%] 9766s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_has_break PASSED [ 45%] 9766s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_window PASSED [ 45%] 9766s tests/test_xidx_calendar.py::TestXIDXCalendar::test_sessions_distance PASSED [ 45%] 9767s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_index PASSED [ 45%] 9767s tests/test_xidx_calendar.py::TestXIDXCalendar::test_deprecated PASSED [ 45%] 9767s tests/test_xidx_calendar.py::TestXIDXCalendar::test_trading_days PASSED [ 45%] 9767s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 46%] 9767s tests/test_xidx_calendar.py::TestXIDXCalendar::test_holidays_in_year[2018-holidays1] PASSED [ 46%] 9767s tests/test_xist_calendar.py::TestXISTCalendar::test_base_integrity PASSED [ 46%] 9777s tests/test_xist_calendar.py::TestXISTCalendar::test_calculated_against_csv PASSED [ 46%] 9778s tests/test_xist_calendar.py::TestXISTCalendar::test_start_end PASSED [ 46%] 9778s tests/test_xist_calendar.py::TestXISTCalendar::test_invalid_input PASSED [ 46%] 9784s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_min PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_bound_max PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_sanity_check_session_lengths PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_specification PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_daylight_savings PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions PASSED [ 46%] 9785s tests/test_xist_calendar.py::TestXISTCalendar::test_opens_closes_break_starts_ends PASSED [ 46%] 9786s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[both] PASSED [ 46%] 9790s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[both] PASSED [ 46%] 9792s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[both] PASSED [ 46%] 9796s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[both] PASSED [ 46%] 9797s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-next] PASSED [ 46%] 9797s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-next] PASSED [ 46%] 9797s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-next] PASSED [ 46%] 9797s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-next] PASSED [ 46%] 9797s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[left] PASSED [ 46%] 9800s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[left] PASSED [ 46%] 9802s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[left] PASSED [ 46%] 9807s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[left] PASSED [ 46%] 9807s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-previous] PASSED [ 46%] 9807s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 46%] 9807s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-previous] PASSED [ 46%] 9807s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 46%] 9808s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-previous] PASSED [ 46%] 9808s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 46%] 9808s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-next] PASSED [ 46%] 9808s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-next] PASSED [ 46%] 9808s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[right] PASSED [ 46%] 9811s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[right] PASSED [ 46%] 9813s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[right] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[right] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[right-none] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[right-none] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[left-none] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[left-none] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[both-none] PASSED [ 46%] 9818s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[both-none] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-none] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-previous] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_session[neither-next] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 46%] 9819s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_properties[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_calendar_bounds_properties[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minute_methods[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_session_minutes[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_is_trading_minute[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_is_break_minute[neither] PASSED [ 46%] 9822s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_on_minute[neither] PASSED [ 46%] 9824s tests/test_xist_calendar.py::TestXISTCalendar::test_is_open_at_time[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_minute[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[neither] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[right] PASSED [ 46%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[right] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[left] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[left] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[left] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[left] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[left] PASSED [ 47%] 9829s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[left] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[left] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[left] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[left] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[left] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_past_session[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_to_future_session[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minute_offset_by_sessions[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_in_range[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_window[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_distance[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_minutes_to_sessions[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_minutes_count[both] PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_has_break PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_regular_holidays_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_adhoc_holidays_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_non_holidays_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_sample_time PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes_weekdays_time PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_non_early_closes_sample_time PASSED [ 47%] 9830s tests/test_xist_calendar.py::TestXISTCalendar::test_late_opens PASSED [ 47%] 9831s tests/test_xist_calendar.py::TestXISTCalendar::test_early_closes PASSED [ 47%] 9831s tests/test_xist_calendar.py::TestXISTCalendar::test_session_open_close_break_start_end PASSED [ 47%] 9832s tests/test_xist_calendar.py::TestXISTCalendar::test_session_has_break PASSED [ 47%] 9832s tests/test_xist_calendar.py::TestXISTCalendar::test_next_prev_session PASSED [ 47%] 9832s tests/test_xist_calendar.py::TestXISTCalendar::test_session_offset PASSED [ 47%] 9833s tests/test_xist_calendar.py::TestXISTCalendar::test_is_session PASSED [ 47%] 9834s tests/test_xist_calendar.py::TestXISTCalendar::test_date_to_session PASSED [ 47%] 9846s tests/test_xist_calendar.py::TestXISTCalendar::test_prev_next_open_close PASSED [ 47%] 9846s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_in_range PASSED [ 47%] 9846s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_has_break PASSED [ 47%] 9846s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_window PASSED [ 47%] 9846s tests/test_xist_calendar.py::TestXISTCalendar::test_sessions_distance PASSED [ 47%] 9847s tests/test_xist_calendar.py::TestXISTCalendar::test_trading_index PASSED [ 47%] 9848s tests/test_xist_calendar.py::TestXISTCalendar::test_deprecated PASSED [ 47%] 9848s tests/test_xjse_calendar.py::TestXJSECalendar::test_base_integrity PASSED [ 47%] 9859s tests/test_xjse_calendar.py::TestXJSECalendar::test_calculated_against_csv PASSED [ 47%] 9862s tests/test_xjse_calendar.py::TestXJSECalendar::test_start_end PASSED [ 47%] 9863s tests/test_xjse_calendar.py::TestXJSECalendar::test_invalid_input PASSED [ 47%] 9869s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_min PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_bound_max PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_sanity_check_session_lengths PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_specification PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_daylight_savings PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions PASSED [ 47%] 9871s tests/test_xjse_calendar.py::TestXJSECalendar::test_opens_closes_break_starts_ends PASSED [ 47%] 9872s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[both] PASSED [ 47%] 9875s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[both] PASSED [ 47%] 9877s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[both] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[both] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-next] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-next] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-next] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-next] PASSED [ 47%] 9882s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[left] PASSED [ 47%] 9886s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[left] PASSED [ 47%] 9887s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[left] PASSED [ 47%] 9891s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[left] PASSED [ 47%] 9891s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-previous] PASSED [ 47%] 9891s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-previous] PASSED [ 47%] 9891s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-previous] PASSED [ 47%] 9891s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-previous] PASSED [ 47%] 9892s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-previous] PASSED [ 47%] 9892s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-previous] PASSED [ 47%] 9892s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-next] PASSED [ 47%] 9892s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-next] PASSED [ 47%] 9892s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[right] PASSED [ 47%] 9895s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[right] PASSED [ 48%] 9896s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[right] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[right] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[right-none] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[right-none] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[left-none] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[left-none] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[both-none] PASSED [ 48%] 9902s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[both-none] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-none] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-none] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-previous] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_session[neither-next] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_trading_minute[neither-next] PASSED [ 48%] 9903s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_properties[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_calendar_bounds_properties[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minute_methods[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_minutes[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_trading_minute[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_break_minute[neither] PASSED [ 48%] 9905s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_on_minute[neither] PASSED [ 48%] 9907s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_open_at_time[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_minute[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[neither] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[right] PASSED [ 48%] 9911s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[right] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[left] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_past_session[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_to_future_session[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minute_offset_by_sessions[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_in_range[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_window[both] PASSED [ 48%] 9912s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_distance[both] PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_minutes_to_sessions[both] PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes[both] PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_minutes_count[both] PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_has_break PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_regular_holidays_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_adhoc_holidays_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_holidays_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_sample_time PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes_weekdays_time PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_non_early_closes_sample_time PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_late_opens PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_early_closes PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_open_close_break_start_end PASSED [ 48%] 9913s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_has_break PASSED [ 48%] 9914s tests/test_xjse_calendar.py::TestXJSECalendar::test_next_prev_session PASSED [ 48%] 9914s tests/test_xjse_calendar.py::TestXJSECalendar::test_session_offset PASSED [ 48%] 9914s tests/test_xjse_calendar.py::TestXJSECalendar::test_is_session PASSED [ 48%] 9916s tests/test_xjse_calendar.py::TestXJSECalendar::test_date_to_session PASSED [ 48%] 9926s tests/test_xjse_calendar.py::TestXJSECalendar::test_prev_next_open_close PASSED [ 48%] 9926s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_in_range PASSED [ 48%] 9926s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_has_break PASSED [ 48%] 9926s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_window PASSED [ 48%] 9926s tests/test_xjse_calendar.py::TestXJSECalendar::test_sessions_distance PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_trading_index PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_deprecated PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_no_weekend_sessions PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2019-holidays0] PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2018-holidays1] PASSED [ 48%] 9927s tests/test_xjse_calendar.py::TestXJSECalendar::test_holidays_in_year[2016-holidays2] PASSED [ 48%] 9927s tests/test_xkar_calendar.py::TestXKARCalendar::test_base_integrity PASSED [ 48%] 9938s tests/test_xkar_calendar.py::TestXKARCalendar::test_calculated_against_csv PASSED [ 48%] 9939s tests/test_xkar_calendar.py::TestXKARCalendar::test_start_end PASSED [ 49%] 9939s tests/test_xkar_calendar.py::TestXKARCalendar::test_invalid_input PASSED [ 49%] 9946s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_min PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_bound_max PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_sanity_check_session_lengths PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_specification PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_daylight_savings PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions PASSED [ 49%] 9947s tests/test_xkar_calendar.py::TestXKARCalendar::test_opens_closes_break_starts_ends PASSED [ 49%] 9948s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[both] PASSED [ 49%] 9951s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[both] PASSED [ 49%] 9953s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[both] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[both] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-next] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-next] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-next] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-next] PASSED [ 49%] 9958s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[left] PASSED [ 49%] 9961s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[left] PASSED [ 49%] 9963s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[left] PASSED [ 49%] 9969s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[left] PASSED [ 49%] 9969s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-previous] PASSED [ 49%] 9969s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 49%] 9969s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-previous] PASSED [ 49%] 9969s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 49%] 9971s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-previous] PASSED [ 49%] 9971s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 49%] 9971s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-next] PASSED [ 49%] 9971s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-next] PASSED [ 49%] 9971s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[right] PASSED [ 49%] 9973s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[right] PASSED [ 49%] 9975s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[right] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[right] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[right-none] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[right-none] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[left-none] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[left-none] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[both-none] PASSED [ 49%] 9981s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[both-none] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-none] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-previous] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_session[neither-next] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 49%] 9982s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_properties[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_calendar_bounds_properties[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minute_methods[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_minutes[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_trading_minute[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_break_minute[neither] PASSED [ 49%] 9984s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_on_minute[neither] PASSED [ 49%] 9986s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_open_at_time[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_minute[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[neither] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[right] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[right] PASSED [ 49%] 9993s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[right] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[left] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[left] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[left] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[left] PASSED [ 49%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[left] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_past_session[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_to_future_session[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minute_offset_by_sessions[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_in_range[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_window[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_distance[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_minutes_to_sessions[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_minutes_count[both] PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_has_break PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_regular_holidays_sample PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_adhoc_holidays_sample PASSED [ 50%] 9994s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_holidays_sample PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens_sample PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_sample_time PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes_weekdays_time PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_non_early_closes_sample_time PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_late_opens PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_early_closes PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_open_close_break_start_end PASSED [ 50%] 9995s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_has_break PASSED [ 50%] 9996s tests/test_xkar_calendar.py::TestXKARCalendar::test_next_prev_session PASSED [ 50%] 9996s tests/test_xkar_calendar.py::TestXKARCalendar::test_session_offset PASSED [ 50%] 9997s tests/test_xkar_calendar.py::TestXKARCalendar::test_is_session PASSED [ 50%] 9998s tests/test_xkar_calendar.py::TestXKARCalendar::test_date_to_session PASSED [ 50%] 10010s tests/test_xkar_calendar.py::TestXKARCalendar::test_prev_next_open_close PASSED [ 50%] 10010s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_in_range PASSED [ 50%] 10010s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_has_break PASSED [ 50%] 10010s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_window PASSED [ 50%] 10010s tests/test_xkar_calendar.py::TestXKARCalendar::test_sessions_distance PASSED [ 50%] 10011s tests/test_xkar_calendar.py::TestXKARCalendar::test_trading_index PASSED [ 50%] 10011s tests/test_xkar_calendar.py::TestXKARCalendar::test_deprecated PASSED [ 50%] 10012s tests/test_xkar_calendar.py::TestXKARCalendar::test_holidays_in_year[2019-holidays0] PASSED [ 50%] 10012s tests/test_xkls_calendar.py::TestXKLSCalendar::test_base_integrity PASSED [ 50%] 10023s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calculated_against_csv PASSED [ 50%] 10024s tests/test_xkls_calendar.py::TestXKLSCalendar::test_start_end PASSED [ 50%] 10024s tests/test_xkls_calendar.py::TestXKLSCalendar::test_invalid_input PASSED [ 50%] 10031s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_min PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_bound_max PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sanity_check_session_lengths PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_specification PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_daylight_savings PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions PASSED [ 50%] 10032s tests/test_xkls_calendar.py::TestXKLSCalendar::test_opens_closes_break_starts_ends PASSED [ 50%] 10033s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[both] PASSED [ 50%] 10037s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[both] PASSED [ 50%] 10039s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[both] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[both] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-next] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-next] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-next] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-next] PASSED [ 50%] 10045s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[left] PASSED [ 50%] 10048s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[left] PASSED [ 50%] 10050s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[left] PASSED [ 50%] 10056s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[left] PASSED [ 50%] 10056s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-previous] PASSED [ 50%] 10056s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 50%] 10056s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-previous] PASSED [ 50%] 10056s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 50%] 10057s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-previous] PASSED [ 50%] 10057s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 50%] 10057s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-next] PASSED [ 50%] 10058s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-next] PASSED [ 50%] 10058s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[right] PASSED [ 50%] 10060s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[right] PASSED [ 50%] 10061s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[right] PASSED [ 50%] 10062s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[right] PASSED [ 50%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[right] PASSED [ 50%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[right-none] PASSED [ 50%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[right-none] PASSED [ 51%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[left-none] PASSED [ 51%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[left-none] PASSED [ 51%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[both-none] PASSED [ 51%] 10067s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[both-none] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-none] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-previous] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_session[neither-next] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 51%] 10068s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_properties[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_calendar_bounds_properties[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minute_methods[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_minutes[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_trading_minute[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_break_minute[neither] PASSED [ 51%] 10071s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_on_minute[neither] PASSED [ 51%] 10073s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_open_at_time[neither] PASSED [ 51%] 10078s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_minute[neither] PASSED [ 51%] 10078s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[neither] PASSED [ 51%] 10078s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[neither] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[right] PASSED [ 51%] 10079s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[right] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[right] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[right] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[right] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[left] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_past_session[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_to_future_session[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minute_offset_by_sessions[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_in_range[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_window[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_distance[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_minutes_to_sessions[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_minutes_count[both] PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_has_break PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_regular_holidays_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_adhoc_holidays_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_holidays_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_sample_time PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes_weekdays_time PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_non_early_closes_sample_time PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_late_opens PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_early_closes PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_open_close_break_start_end PASSED [ 51%] 10080s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_has_break PASSED [ 51%] 10082s tests/test_xkls_calendar.py::TestXKLSCalendar::test_next_prev_session PASSED [ 51%] 10082s tests/test_xkls_calendar.py::TestXKLSCalendar::test_session_offset PASSED [ 51%] 10082s tests/test_xkls_calendar.py::TestXKLSCalendar::test_is_session PASSED [ 51%] 10083s tests/test_xkls_calendar.py::TestXKLSCalendar::test_date_to_session PASSED [ 51%] 10092s tests/test_xkls_calendar.py::TestXKLSCalendar::test_prev_next_open_close PASSED [ 51%] 10092s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_in_range PASSED [ 51%] 10092s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_has_break PASSED [ 51%] 10092s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_window PASSED [ 51%] 10092s tests/test_xkls_calendar.py::TestXKLSCalendar::test_sessions_distance PASSED [ 51%] 10093s tests/test_xkls_calendar.py::TestXKLSCalendar::test_trading_index PASSED [ 51%] 10093s tests/test_xkls_calendar.py::TestXKLSCalendar::test_deprecated PASSED [ 51%] 10093s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_base_integrity PASSED [ 51%] 10194s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calculated_against_csv PASSED [ 51%] 10222s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_start_end PASSED [ 51%] 10236s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_invalid_input PASSED [ 51%] 10273s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_min PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_bound_max PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sanity_check_session_lengths PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_specification PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_daylight_savings PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions PASSED [ 51%] 10294s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_opens_closes_break_starts_ends PASSED [ 52%] 10295s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[both] PASSED [ 52%] 10300s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[both] PASSED [ 52%] 10300s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[both] PASSED [ 52%] 10300s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[both] PASSED [ 52%] 10301s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[both] PASSED [ 52%] 10301s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[both] PASSED [ 52%] 10301s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[both] PASSED [ 52%] 10301s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[both] PASSED [ 52%] 10309s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[both] PASSED [ 52%] 10319s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[both] PASSED [ 52%] 10319s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-next] PASSED [ 52%] 10319s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 52%] 10319s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-next] PASSED [ 52%] 10320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 52%] 10320s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[left] PASSED [ 52%] 10324s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[left] PASSED [ 52%] 10324s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[left] PASSED [ 52%] 10324s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[left] PASSED [ 52%] 10325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[left] PASSED [ 52%] 10325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[left] PASSED [ 52%] 10325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[left] PASSED [ 52%] 10325s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[left] PASSED [ 52%] 10333s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[left] PASSED [ 52%] 10343s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[left] PASSED [ 52%] 10343s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-previous] PASSED [ 52%] 10343s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 52%] 10343s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-previous] PASSED [ 52%] 10343s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 52%] 10345s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-previous] PASSED [ 52%] 10345s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 52%] 10345s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-next] PASSED [ 52%] 10345s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 52%] 10345s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[right] PASSED [ 52%] 10349s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[right] PASSED [ 52%] 10357s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[right] PASSED [ 52%] 10367s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[right] PASSED [ 52%] 10367s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[right-none] PASSED [ 52%] 10367s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[right-none] PASSED [ 52%] 10367s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[left-none] PASSED [ 52%] 10367s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[left-none] PASSED [ 52%] 10368s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[both-none] PASSED [ 52%] 10368s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[both-none] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-none] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-previous] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_session[neither-next] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 52%] 10370s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_properties[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_calendar_bounds_properties[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minute_methods[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_minutes[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_trading_minute[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_break_minute[neither] PASSED [ 52%] 10375s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_on_minute[neither] PASSED [ 52%] 10381s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_open_at_time[neither] PASSED [ 52%] 10391s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_minute[neither] PASSED [ 52%] 10391s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[neither] PASSED [ 52%] 10391s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[neither] PASSED [ 52%] 10391s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[neither] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[right] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[right] PASSED [ 52%] 10392s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[right] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[left] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[left] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[left] PASSED [ 52%] 10393s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[left] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_past_session[both] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_to_future_session[both] PASSED [ 52%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset[both] PASSED [ 53%] 10394s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minute_offset_by_sessions[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_in_range[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_window[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_distance[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_minutes_to_sessions[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_minutes_count[both] PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_has_break PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_regular_holidays_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_adhoc_holidays_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_holidays_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_sample_time PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes_weekdays_time PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_non_early_closes_sample_time PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_early_closes PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_open_close_break_start_end PASSED [ 53%] 10395s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_has_break PASSED [ 53%] 10396s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_next_prev_session PASSED [ 53%] 10396s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_session_offset PASSED [ 53%] 10397s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_is_session PASSED [ 53%] 10399s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_date_to_session PASSED [ 53%] 10411s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_prev_next_open_close PASSED [ 53%] 10411s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_in_range PASSED [ 53%] 10411s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_has_break PASSED [ 53%] 10411s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_window PASSED [ 53%] 10411s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_sessions_distance PASSED [ 53%] 10414s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_trading_index PASSED [ 53%] 10414s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_deprecated PASSED [ 53%] 10415s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_late_opens XFAIL [ 53%] 10423s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_historical_regular_holidays_fall_into_precomputed_holidays PASSED [ 53%] 10429s tests/test_xkrx_calendar.py::TestXKRXCalendar::test_feb_29_2022_in_lunar_calendar PASSED [ 53%] 10429s tests/test_xlim_calendar.py::TestXLIMCalendar::test_base_integrity PASSED [ 53%] 10441s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calculated_against_csv PASSED [ 53%] 10442s tests/test_xlim_calendar.py::TestXLIMCalendar::test_start_end PASSED [ 53%] 10443s tests/test_xlim_calendar.py::TestXLIMCalendar::test_invalid_input PASSED [ 53%] 10449s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_min PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_bound_max PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sanity_check_session_lengths PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_specification PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_daylight_savings PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions PASSED [ 53%] 10452s tests/test_xlim_calendar.py::TestXLIMCalendar::test_opens_closes_break_starts_ends PASSED [ 53%] 10453s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[both] PASSED [ 53%] 10456s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[both] PASSED [ 53%] 10458s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[both] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[both] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-next] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-next] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-next] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-next] PASSED [ 53%] 10463s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[left] PASSED [ 53%] 10466s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[left] PASSED [ 53%] 10468s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[left] PASSED [ 53%] 10475s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[left] PASSED [ 53%] 10475s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-previous] PASSED [ 53%] 10475s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 53%] 10475s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-previous] PASSED [ 53%] 10475s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 53%] 10478s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-previous] PASSED [ 53%] 10478s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 53%] 10478s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-next] PASSED [ 53%] 10478s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-next] PASSED [ 53%] 10478s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[right] PASSED [ 53%] 10480s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[right] PASSED [ 53%] 10482s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[right] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[right] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[right-none] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[right-none] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[left-none] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[left-none] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[both-none] PASSED [ 53%] 10487s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[both-none] PASSED [ 53%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-none] PASSED [ 53%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 54%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-previous] PASSED [ 54%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 54%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_session[neither-next] PASSED [ 54%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 54%] 10488s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_properties[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_calendar_bounds_properties[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minute_methods[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_minutes[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_trading_minute[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_break_minute[neither] PASSED [ 54%] 10492s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_on_minute[neither] PASSED [ 54%] 10494s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_open_at_time[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_minute[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[neither] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[right] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[right] PASSED [ 54%] 10500s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[right] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[left] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_past_session[both] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_to_future_session[both] PASSED [ 54%] 10501s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minute_offset_by_sessions[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_in_range[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_window[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_distance[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_minutes_to_sessions[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_minutes_count[both] PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_has_break PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_regular_holidays_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_adhoc_holidays_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_holidays_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_sample_time PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes_weekdays_time PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_non_early_closes_sample_time PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_late_opens PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_early_closes PASSED [ 54%] 10502s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_open_close_break_start_end PASSED [ 54%] 10503s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_has_break PASSED [ 54%] 10503s tests/test_xlim_calendar.py::TestXLIMCalendar::test_next_prev_session PASSED [ 54%] 10503s tests/test_xlim_calendar.py::TestXLIMCalendar::test_session_offset PASSED [ 54%] 10504s tests/test_xlim_calendar.py::TestXLIMCalendar::test_is_session PASSED [ 54%] 10505s tests/test_xlim_calendar.py::TestXLIMCalendar::test_date_to_session PASSED [ 54%] 10515s tests/test_xlim_calendar.py::TestXLIMCalendar::test_prev_next_open_close PASSED [ 54%] 10516s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_in_range PASSED [ 54%] 10516s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_has_break PASSED [ 54%] 10516s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_window PASSED [ 54%] 10516s tests/test_xlim_calendar.py::TestXLIMCalendar::test_sessions_distance PASSED [ 54%] 10517s tests/test_xlim_calendar.py::TestXLIMCalendar::test_trading_index PASSED [ 54%] 10517s tests/test_xlim_calendar.py::TestXLIMCalendar::test_deprecated PASSED [ 54%] 10517s tests/test_xlis_calendar.py::TestXLISCalendar::test_base_integrity PASSED [ 54%] 10528s tests/test_xlis_calendar.py::TestXLISCalendar::test_calculated_against_csv PASSED [ 54%] 10529s tests/test_xlis_calendar.py::TestXLISCalendar::test_start_end PASSED [ 54%] 10530s tests/test_xlis_calendar.py::TestXLISCalendar::test_invalid_input PASSED [ 54%] 10538s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_min PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_bound_max PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_sanity_check_session_lengths PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_specification PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_daylight_savings PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions PASSED [ 54%] 10540s tests/test_xlis_calendar.py::TestXLISCalendar::test_opens_closes_break_starts_ends PASSED [ 54%] 10541s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[both] PASSED [ 54%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[both] PASSED [ 54%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[both] PASSED [ 54%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[both] PASSED [ 54%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[both] PASSED [ 54%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[both] PASSED [ 55%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[both] PASSED [ 55%] 10544s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[both] PASSED [ 55%] 10546s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[both] PASSED [ 55%] 10551s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[both] PASSED [ 55%] 10551s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-next] PASSED [ 55%] 10551s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-next] PASSED [ 55%] 10551s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-next] PASSED [ 55%] 10551s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-next] PASSED [ 55%] 10552s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[left] PASSED [ 55%] 10554s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[left] PASSED [ 55%] 10556s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[left] PASSED [ 55%] 10561s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[left] PASSED [ 55%] 10561s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-previous] PASSED [ 55%] 10561s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 55%] 10561s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-previous] PASSED [ 55%] 10561s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 55%] 10562s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-previous] PASSED [ 55%] 10562s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 55%] 10563s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-next] PASSED [ 55%] 10563s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-next] PASSED [ 55%] 10563s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[right] PASSED [ 55%] 10565s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[right] PASSED [ 55%] 10565s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[right] PASSED [ 55%] 10566s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[right] PASSED [ 55%] 10566s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[right] PASSED [ 55%] 10566s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[right] PASSED [ 55%] 10566s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[right] PASSED [ 55%] 10566s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[right] PASSED [ 55%] 10568s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[right] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[right] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[right-none] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[right-none] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[left-none] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[left-none] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[both-none] PASSED [ 55%] 10574s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[both-none] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-none] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-previous] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_session[neither-next] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 55%] 10575s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_properties[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_calendar_bounds_properties[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minute_methods[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_minutes[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_trading_minute[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_break_minute[neither] PASSED [ 55%] 10577s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_on_minute[neither] PASSED [ 55%] 10579s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_open_at_time[neither] PASSED [ 55%] 10584s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_minute[neither] PASSED [ 55%] 10584s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[neither] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[right] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[left] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[left] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[left] PASSED [ 55%] 10585s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[left] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_past_session[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_to_future_session[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minute_offset_by_sessions[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_in_range[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_window[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_distance[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_minutes_to_sessions[both] PASSED [ 55%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes[both] PASSED [ 56%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_minutes_count[both] PASSED [ 56%] 10586s tests/test_xlis_calendar.py::TestXLISCalendar::test_has_break PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_regular_holidays_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_adhoc_holidays_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_holidays_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_sample_time PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes_weekdays_time PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_non_early_closes_sample_time PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_late_opens PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_early_closes PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_open_close_break_start_end PASSED [ 56%] 10587s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_has_break PASSED [ 56%] 10588s tests/test_xlis_calendar.py::TestXLISCalendar::test_next_prev_session PASSED [ 56%] 10588s tests/test_xlis_calendar.py::TestXLISCalendar::test_session_offset PASSED [ 56%] 10589s tests/test_xlis_calendar.py::TestXLISCalendar::test_is_session PASSED [ 56%] 10590s tests/test_xlis_calendar.py::TestXLISCalendar::test_date_to_session PASSED [ 56%] 10599s tests/test_xlis_calendar.py::TestXLISCalendar::test_prev_next_open_close PASSED [ 56%] 10599s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_in_range PASSED [ 56%] 10599s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_has_break PASSED [ 56%] 10599s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_window PASSED [ 56%] 10599s tests/test_xlis_calendar.py::TestXLISCalendar::test_sessions_distance PASSED [ 56%] 10601s tests/test_xlis_calendar.py::TestXLISCalendar::test_trading_index PASSED [ 56%] 10601s tests/test_xlis_calendar.py::TestXLISCalendar::test_deprecated PASSED [ 56%] 10601s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_base_integrity PASSED [ 56%] 10606s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calculated_against_csv PASSED [ 56%] 10608s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_start_end PASSED [ 56%] 10609s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_invalid_input PASSED [ 56%] 10616s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_min PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_bound_max PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sanity_check_session_lengths PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_specification PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_daylight_savings PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_opens_closes_break_starts_ends PASSED [ 56%] 10618s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[both] PASSED [ 56%] 10619s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[both] PASSED [ 56%] 10620s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[both] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[both] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-next] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-next] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-next] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-next] PASSED [ 56%] 10621s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[left] PASSED [ 56%] 10622s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[left] PASSED [ 56%] 10623s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[left] PASSED [ 56%] 10623s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[left] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-next] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-next] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[right] PASSED [ 56%] 10624s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[right] PASSED [ 56%] 10625s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[right] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[right] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[right-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[right-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[left-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[left-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[both-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[both-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-previous] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_session[neither-next] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 56%] 10626s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_properties[neither] PASSED [ 56%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes[neither] PASSED [ 56%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_calendar_bounds_properties[neither] PASSED [ 56%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minute_methods[neither] PASSED [ 56%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_minutes[neither] PASSED [ 57%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_trading_minute[neither] PASSED [ 57%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_break_minute[neither] PASSED [ 57%] 10627s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_on_minute[neither] PASSED [ 57%] 10628s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_open_at_time[neither] PASSED [ 57%] 10628s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_minute[neither] PASSED [ 57%] 10628s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[neither] PASSED [ 57%] 10628s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[neither] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[right] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[right] PASSED [ 57%] 10629s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[right] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[left] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[left] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[left] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[left] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[left] PASSED [ 57%] 10630s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[left] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[left] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[left] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[left] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[left] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_past_session[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_to_future_session[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minute_offset_by_sessions[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_in_range[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_window[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_distance[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_minutes_to_sessions[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_minutes_count[both] PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_has_break PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_regular_holidays_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_adhoc_holidays_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_holidays_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_sample_time PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes_weekdays_time PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_non_early_closes_sample_time PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_late_opens PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_early_closes PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_open_close_break_start_end PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_has_break PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_next_prev_session PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_session_offset PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_is_session PASSED [ 57%] 10631s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_date_to_session PASSED [ 57%] 10632s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_prev_next_open_close PASSED [ 57%] 10632s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_in_range PASSED [ 57%] 10632s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_has_break PASSED [ 57%] 10632s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_window PASSED [ 57%] 10632s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_sessions_distance PASSED [ 57%] 10633s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_trading_index PASSED [ 57%] 10633s tests/test_xlit_calendar.py::TestXLITExchangeCalendar::test_deprecated PASSED [ 57%] 10633s tests/test_xlju_calendar.py::TestXLJUCalendar::test_base_integrity PASSED [ 57%] 10636s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calculated_against_csv PASSED [ 57%] 10638s tests/test_xlju_calendar.py::TestXLJUCalendar::test_start_end PASSED [ 57%] 10639s tests/test_xlju_calendar.py::TestXLJUCalendar::test_invalid_input PASSED [ 57%] 10645s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_min PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_bound_max PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sanity_check_session_lengths PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_specification PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_daylight_savings PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_opens_closes_break_starts_ends PASSED [ 57%] 10647s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[both] PASSED [ 57%] 10648s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[both] PASSED [ 57%] 10649s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[both] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[both] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-next] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-next] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-next] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-next] PASSED [ 57%] 10650s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[left] PASSED [ 58%] 10651s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[left] PASSED [ 58%] 10652s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[left] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[left] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-next] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-next] PASSED [ 58%] 10654s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[right] PASSED [ 58%] 10655s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[right] PASSED [ 58%] 10657s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[right] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[right] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[right-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[right-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[left-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[left-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[both-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[both-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-previous] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_session[neither-next] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 58%] 10658s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_properties[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_calendar_bounds_properties[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minute_methods[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_minutes[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_trading_minute[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_break_minute[neither] PASSED [ 58%] 10659s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_on_minute[neither] PASSED [ 58%] 10660s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_open_at_time[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_minute[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[neither] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[right] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[right] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[right] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[right] PASSED [ 58%] 10661s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[right] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[left] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_past_session[both] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_to_future_session[both] PASSED [ 58%] 10662s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minute_offset_by_sessions[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_in_range[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_window[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_distance[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_minutes_to_sessions[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_minutes_count[both] PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_has_break PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_regular_holidays_sample PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_adhoc_holidays_sample PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_holidays_sample PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens_sample PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_sample_time PASSED [ 58%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes_weekdays_time PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_non_early_closes_sample_time PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_late_opens PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_early_closes PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_open_close_break_start_end PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_has_break PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_next_prev_session PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_session_offset PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_is_session PASSED [ 59%] 10663s tests/test_xlju_calendar.py::TestXLJUCalendar::test_date_to_session PASSED [ 59%] 10664s tests/test_xlju_calendar.py::TestXLJUCalendar::test_prev_next_open_close PASSED [ 59%] 10664s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_in_range PASSED [ 59%] 10664s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_has_break PASSED [ 59%] 10664s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_window PASSED [ 59%] 10664s tests/test_xlju_calendar.py::TestXLJUCalendar::test_sessions_distance PASSED [ 59%] 10666s tests/test_xlju_calendar.py::TestXLJUCalendar::test_trading_index PASSED [ 59%] 10666s tests/test_xlju_calendar.py::TestXLJUCalendar::test_deprecated PASSED [ 59%] 10666s tests/test_xlon_calendar.py::TestXLONCalendar::test_base_integrity PASSED [ 59%] 10676s tests/test_xlon_calendar.py::TestXLONCalendar::test_calculated_against_csv PASSED [ 59%] 10678s tests/test_xlon_calendar.py::TestXLONCalendar::test_start_end PASSED [ 59%] 10679s tests/test_xlon_calendar.py::TestXLONCalendar::test_invalid_input PASSED [ 59%] 10684s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_min PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_bound_max PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_sanity_check_session_lengths PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_specification PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_daylight_savings PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions PASSED [ 59%] 10686s tests/test_xlon_calendar.py::TestXLONCalendar::test_opens_closes_break_starts_ends PASSED [ 59%] 10687s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[both] PASSED [ 59%] 10690s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[both] PASSED [ 59%] 10693s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[both] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[both] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-next] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-next] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-next] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-next] PASSED [ 59%] 10698s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[left] PASSED [ 59%] 10702s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[left] PASSED [ 59%] 10703s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[left] PASSED [ 59%] 10708s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[left] PASSED [ 59%] 10708s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-previous] PASSED [ 59%] 10708s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 59%] 10708s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-previous] PASSED [ 59%] 10708s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 59%] 10710s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-previous] PASSED [ 59%] 10710s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 59%] 10710s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-next] PASSED [ 59%] 10710s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-next] PASSED [ 59%] 10710s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[right] PASSED [ 59%] 10713s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[right] PASSED [ 59%] 10714s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[right] PASSED [ 59%] 10715s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[right] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[right] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[right-none] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[right-none] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[left-none] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[left-none] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[both-none] PASSED [ 59%] 10721s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[both-none] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-none] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-none] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-previous] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-previous] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_session[neither-next] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_trading_minute[neither-next] PASSED [ 59%] 10723s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_properties[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_calendar_bounds_properties[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minute_methods[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_minutes[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_trading_minute[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_break_minute[neither] PASSED [ 59%] 10726s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_on_minute[neither] PASSED [ 59%] 10728s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_open_at_time[neither] PASSED [ 59%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_minute[neither] PASSED [ 59%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[neither] PASSED [ 59%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[neither] PASSED [ 59%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[neither] PASSED [ 60%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[neither] PASSED [ 60%] 10735s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[neither] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[right] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[left] PASSED [ 60%] 10736s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[left] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[left] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[left] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[left] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_past_session[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_to_future_session[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minute_offset_by_sessions[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_in_range[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_window[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_distance[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_minutes_to_sessions[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_minutes_count[both] PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_has_break PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_regular_holidays_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_adhoc_holidays_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_holidays_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_sample_time PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes_weekdays_time PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample PASSED [ 60%] 10737s tests/test_xlon_calendar.py::TestXLONCalendar::test_non_early_closes_sample_time PASSED [ 60%] 10738s tests/test_xlon_calendar.py::TestXLONCalendar::test_late_opens PASSED [ 60%] 10738s tests/test_xlon_calendar.py::TestXLONCalendar::test_early_closes PASSED [ 60%] 10738s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_open_close_break_start_end PASSED [ 60%] 10738s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_has_break PASSED [ 60%] 10739s tests/test_xlon_calendar.py::TestXLONCalendar::test_next_prev_session PASSED [ 60%] 10739s tests/test_xlon_calendar.py::TestXLONCalendar::test_session_offset PASSED [ 60%] 10740s tests/test_xlon_calendar.py::TestXLONCalendar::test_is_session PASSED [ 60%] 10741s tests/test_xlon_calendar.py::TestXLONCalendar::test_date_to_session PASSED [ 60%] 10750s tests/test_xlon_calendar.py::TestXLONCalendar::test_prev_next_open_close PASSED [ 60%] 10750s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_in_range PASSED [ 60%] 10750s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_has_break PASSED [ 60%] 10750s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_window PASSED [ 60%] 10750s tests/test_xlon_calendar.py::TestXLONCalendar::test_sessions_distance PASSED [ 60%] 10752s tests/test_xlon_calendar.py::TestXLONCalendar::test_trading_index PASSED [ 60%] 10752s tests/test_xlon_calendar.py::TestXLONCalendar::test_deprecated PASSED [ 60%] 10752s tests/test_xlux_calendar.py::TestXLUXCalendar::test_base_integrity PASSED [ 60%] 10761s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calculated_against_csv PASSED [ 60%] 10761s tests/test_xlux_calendar.py::TestXLUXCalendar::test_start_end PASSED [ 60%] 10762s tests/test_xlux_calendar.py::TestXLUXCalendar::test_invalid_input PASSED [ 60%] 10769s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_min PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_bound_max PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sanity_check_session_lengths PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_adhoc_holidays_specification PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_daylight_savings PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_sessions PASSED [ 60%] 10770s tests/test_xlux_calendar.py::TestXLUXCalendar::test_opens_closes_break_starts_ends PASSED [ 60%] 10771s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[both] PASSED [ 60%] 10772s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[both] PASSED [ 60%] 10773s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[both] PASSED [ 60%] 10775s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[both] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[both] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-next] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-next] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-next] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-next] PASSED [ 60%] 10780s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[left] PASSED [ 60%] 10783s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[left] PASSED [ 60%] 10785s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[left] PASSED [ 61%] 10790s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[left] PASSED [ 61%] 10790s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[left-previous] PASSED [ 61%] 10790s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[left-previous] PASSED [ 61%] 10790s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[both-previous] PASSED [ 61%] 10790s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[both-previous] PASSED [ 61%] 10792s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-previous] PASSED [ 61%] 10792s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-previous] PASSED [ 61%] 10792s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_session[right-next] PASSED [ 61%] 10792s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minute_to_trading_minute[right-next] PASSED [ 61%] 10792s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes_properties[right] PASSED [ 61%] 10794s tests/test_xlux_calendar.py::TestXLUXCalendar::test_minutes[right] PASSED [ 61%] 10794s tests/test_xlux_calendar.py::TestXLUXCalendar::test_calendar_bounds_properties[right] PASSED [ 61%] 10794s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minute_methods[right] PASSED [ 61%] 10795s tests/test_xlux_calendar.py::TestXLUXCalendar::test_session_minutes[right] PASSED [ 61%] 10795s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_trading_minute[right] PASSED [ 61%] 10795s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_break_minute[right] PASSED [ 61%] 10795s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_on_minute[right] PASSED [ 61%] 10797s tests/test_xlux_calendar.py::TestXLUXCalendar::test_is_open_at_time[right] PASSED [ 61%] 10799s tests/test_xlux_calendar.py::TestXLUXCalendar::test_prev_next_minute[right] autopkgtest [01:36:49]: ERROR: timed out on command "su -s /bin/bash ubuntu -c set -e; exec /tmp/autopkgtest.6qQFTv/wrapper.sh --artifacts=/tmp/autopkgtest.6qQFTv/pybuild-autopkgtest-artifacts --chdir=/tmp/autopkgtest.6qQFTv/build.ohG/src --env=AUTOPKGTEST_TESTBED_ARCH=s390x --env=AUTOPKGTEST_TEST_ARCH=s390x --env=DEB_BUILD_OPTIONS=parallel=2 --env=DEBIAN_FRONTEND=noninteractive --env=LANG=C.UTF-8 --unset-env=LANGUAGE --unset-env=LC_ADDRESS --unset-env=LC_ALL --unset-env=LC_COLLATE --unset-env=LC_CTYPE --unset-env=LC_IDENTIFICATION --unset-env=LC_MEASUREMENT --unset-env=LC_MESSAGES --unset-env=LC_MONETARY --unset-env=LC_NAME --unset-env=LC_NUMERIC --unset-env=LC_PAPER --unset-env=LC_TELEPHONE --unset-env=LC_TIME --script-pid-file=/tmp/autopkgtest_script_pid --source-profile --stderr=/tmp/autopkgtest.6qQFTv/pybuild-autopkgtest-stderr --stdout=/tmp/autopkgtest.6qQFTv/pybuild-autopkgtest-stdout --tmp=/tmp/autopkgtest.6qQFTv/autopkgtest_tmp --env=ADT_TEST_TRIGGERS=exchange-calendars/4.13.1-1 -- bash -ec pybuild-autopkgtest" (kind: test) 10800s autopkgtest [01:36:50]: test pybuild-autopkgtest: -----------------------] 10801s autopkgtest [01:36:51]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 10801s pybuild-autopkgtest FAIL timed out 10802s autopkgtest [01:36:52]: @@@@@@@@@@@@@@@@@@@@ summary 10802s pybuild-autopkgtest FAIL timed out